Module: Mesa
Branch: master
Commit: 4f178f0d8b7b4c410a1ac5532a26dfa51d3a72f1
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f178f0d8b7b4c410a1ac5532a26dfa51d3a72f1

Author: Jordan Justen <[email protected]>
Date:   Fri Mar 13 11:37:03 2015 -0700

nir: Add gl_WorkGroupID system variable

Signed-off-by: Jordan Justen <[email protected]>
Reviewed-by: Kristian Høgsberg <[email protected]>

---

 src/glsl/nir/nir.c                     |    2 ++
 src/glsl/nir/nir_intrinsics.h          |    1 +
 src/glsl/nir/nir_lower_system_values.c |    3 +++
 3 files changed, 6 insertions(+)

diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c
index 1774e1c..96cf94c 100644
--- a/src/glsl/nir/nir.c
+++ b/src/glsl/nir/nir.c
@@ -1459,6 +1459,8 @@ nir_system_value_from_intrinsic(nir_intrinsic_op intrin)
       return SYSTEM_VALUE_SAMPLE_MASK_IN;
    case nir_intrinsic_load_local_invocation_id:
       return SYSTEM_VALUE_LOCAL_INVOCATION_ID;
+   case nir_intrinsic_load_work_group_id:
+      return SYSTEM_VALUE_WORK_GROUP_ID;
    /* FINISHME: Add tessellation intrinsics.
       return SYSTEM_VALUE_TESS_COORD;
       return SYSTEM_VALUE_VERTICES_IN;
diff --git a/src/glsl/nir/nir_intrinsics.h b/src/glsl/nir/nir_intrinsics.h
index 8396612..b981df1 100644
--- a/src/glsl/nir/nir_intrinsics.h
+++ b/src/glsl/nir/nir_intrinsics.h
@@ -142,6 +142,7 @@ SYSTEM_VALUE(sample_pos, 2)
 SYSTEM_VALUE(sample_mask_in, 1)
 SYSTEM_VALUE(invocation_id, 1)
 SYSTEM_VALUE(local_invocation_id, 3)
+SYSTEM_VALUE(work_group_id, 3)
 
 /*
  * The format of the indices depends on the type of the load.  For uniforms,
diff --git a/src/glsl/nir/nir_lower_system_values.c 
b/src/glsl/nir/nir_lower_system_values.c
index 91228e3..a656b27 100644
--- a/src/glsl/nir/nir_lower_system_values.c
+++ b/src/glsl/nir/nir_lower_system_values.c
@@ -73,6 +73,9 @@ convert_instr(nir_intrinsic_instr *instr)
    case SYSTEM_VALUE_LOCAL_INVOCATION_ID:
       op = nir_intrinsic_load_local_invocation_id;
       break;
+   case SYSTEM_VALUE_WORK_GROUP_ID:
+      op = nir_intrinsic_load_work_group_id;
+      break;
    default:
       unreachable("not reached");
    }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to