summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarol Herbst <kherbst@redhat.com>2023-12-18 23:39:36 +0100
committerMarge Bot <emma+marge@anholt.net>2024-04-24 20:18:48 +0000
commit25d697ef259e0a5c8c02910eb45ad69a22f62dc6 (patch)
treea0730ef1e4bb42c4382f506dc2784d6581453568
parent07685ea89b0e7269e4029e889fffd18734ea7136 (diff)
nir: add SYSTEM_VALUE_BASE_WORKGROUP_ID
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Signed-off-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26800>
-rw-r--r--src/compiler/nir/nir.c4
-rw-r--r--src/compiler/nir/nir_gather_info.c1
-rw-r--r--src/compiler/shader_enums.c1
-rw-r--r--src/compiler/shader_enums.h1
4 files changed, 7 insertions, 0 deletions
diff --git a/src/compiler/nir/nir.c b/src/compiler/nir/nir.c
index ee594af44fa..ebb9ec3915a 100644
--- a/src/compiler/nir/nir.c
+++ b/src/compiler/nir/nir.c
@@ -2207,6 +2207,8 @@ nir_intrinsic_from_system_value(gl_system_value val)
return nir_intrinsic_load_local_invocation_index;
case SYSTEM_VALUE_WORKGROUP_ID:
return nir_intrinsic_load_workgroup_id;
+ case SYSTEM_VALUE_BASE_WORKGROUP_ID:
+ return nir_intrinsic_load_base_workgroup_id;
case SYSTEM_VALUE_WORKGROUP_INDEX:
return nir_intrinsic_load_workgroup_index;
case SYSTEM_VALUE_NUM_WORKGROUPS:
@@ -2370,6 +2372,8 @@ nir_system_value_from_intrinsic(nir_intrinsic_op intrin)
return SYSTEM_VALUE_NUM_WORKGROUPS;
case nir_intrinsic_load_workgroup_id:
return SYSTEM_VALUE_WORKGROUP_ID;
+ case nir_intrinsic_load_base_workgroup_id:
+ return SYSTEM_VALUE_BASE_WORKGROUP_ID;
case nir_intrinsic_load_workgroup_index:
return SYSTEM_VALUE_WORKGROUP_INDEX;
case nir_intrinsic_load_primitive_id:
diff --git a/src/compiler/nir/nir_gather_info.c b/src/compiler/nir/nir_gather_info.c
index 4e7c38d94e1..7d278ee8178 100644
--- a/src/compiler/nir/nir_gather_info.c
+++ b/src/compiler/nir/nir_gather_info.c
@@ -679,6 +679,7 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader,
case nir_intrinsic_load_base_global_invocation_id:
case nir_intrinsic_load_global_invocation_index:
case nir_intrinsic_load_workgroup_id:
+ case nir_intrinsic_load_base_workgroup_id:
case nir_intrinsic_load_workgroup_index:
case nir_intrinsic_load_num_workgroups:
case nir_intrinsic_load_workgroup_size:
diff --git a/src/compiler/shader_enums.c b/src/compiler/shader_enums.c
index 8fba1c62c6b..c036715ac7f 100644
--- a/src/compiler/shader_enums.c
+++ b/src/compiler/shader_enums.c
@@ -350,6 +350,7 @@ gl_system_value_name(gl_system_value sysval)
ENUM(SYSTEM_VALUE_BASE_GLOBAL_INVOCATION_ID),
ENUM(SYSTEM_VALUE_GLOBAL_INVOCATION_INDEX),
ENUM(SYSTEM_VALUE_WORKGROUP_ID),
+ ENUM(SYSTEM_VALUE_BASE_WORKGROUP_ID),
ENUM(SYSTEM_VALUE_NUM_WORKGROUPS),
ENUM(SYSTEM_VALUE_WORKGROUP_SIZE),
ENUM(SYSTEM_VALUE_GLOBAL_GROUP_SIZE),
diff --git a/src/compiler/shader_enums.h b/src/compiler/shader_enums.h
index 7d8b34c836d..2557df737b6 100644
--- a/src/compiler/shader_enums.h
+++ b/src/compiler/shader_enums.h
@@ -817,6 +817,7 @@ typedef enum
SYSTEM_VALUE_BASE_GLOBAL_INVOCATION_ID,
SYSTEM_VALUE_GLOBAL_INVOCATION_INDEX,
SYSTEM_VALUE_WORKGROUP_ID,
+ SYSTEM_VALUE_BASE_WORKGROUP_ID,
SYSTEM_VALUE_WORKGROUP_INDEX,
SYSTEM_VALUE_NUM_WORKGROUPS,
SYSTEM_VALUE_WORKGROUP_SIZE,