Mesa (main): nir: Add new option to lower invocation ID from invocation index.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Nov 16 08:20:39 UTC 2021
Module: Mesa
Branch: main
Commit: 6a502a0a2c5a9c795a275106afee8a1d6033fa52
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a502a0a2c5a9c795a275106afee8a1d6033fa52
Author: Timur Kristóf <timur.kristof at gmail.com>
Date: Thu Oct 28 16:26:37 2021 +0200
nir: Add new option to lower invocation ID from invocation index.
Add this as an option to nir_lower_compute_system_values_options
instead of just relying on the shader's options.
Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Caio Oliveira <caio.oliveira at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13466>
---
src/compiler/nir/nir.h | 1 +
src/compiler/nir/nir_lower_system_values.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
index 4e83281ad6a..58060498fbb 100644
--- a/src/compiler/nir/nir.h
+++ b/src/compiler/nir/nir.h
@@ -5067,6 +5067,7 @@ typedef struct nir_lower_compute_system_values_options {
bool has_base_workgroup_id:1;
bool shuffle_local_ids_for_quad_derivatives:1;
bool lower_local_invocation_index:1;
+ bool lower_cs_local_id_from_index:1;
} nir_lower_compute_system_values_options;
bool nir_lower_compute_system_values(nir_shader *shader,
diff --git a/src/compiler/nir/nir_lower_system_values.c b/src/compiler/nir/nir_lower_system_values.c
index 5a60b42fbc0..a78b5e6c954 100644
--- a/src/compiler/nir/nir_lower_system_values.c
+++ b/src/compiler/nir/nir_lower_system_values.c
@@ -275,7 +275,8 @@ lower_compute_system_value_instr(nir_builder *b,
/* If lower_cs_local_id_from_index is true, then we derive the local
* index from the local id.
*/
- if (b->shader->options->lower_cs_local_id_from_index) {
+ if (b->shader->options->lower_cs_local_id_from_index ||
+ (options && options->lower_cs_local_id_from_index)) {
/* We lower gl_LocalInvocationID from gl_LocalInvocationIndex based
* on this formula:
*
More information about the mesa-commit
mailing list