From 9d5ba87ca168977d2020e4fae2ebc938fcccfc19 Mon Sep 17 00:00:00 2001 From: Caterina Shablia Date: Fri, 22 Nov 2024 16:53:33 +0000 Subject: [PATCH] Revert "nir: lower INSTANCE_{ID,INDEX} to an offset load_instance_{index,id} respectively" This reverts commit a5bcf566a96c10b4aba234bad676c3fd043fe9e3. Reviewed-by: Alyssa Rosenzweig Part-of: --- src/compiler/nir/nir.c | 4 --- src/compiler/nir/nir.h | 9 ------- src/compiler/nir/nir_lower_system_values.c | 30 ++-------------------- 3 files changed, 2 insertions(+), 41 deletions(-) diff --git a/src/compiler/nir/nir.c b/src/compiler/nir/nir.c index 8b099b80cf3..dc3d1e4523a 100644 --- a/src/compiler/nir/nir.c +++ b/src/compiler/nir/nir.c @@ -2259,8 +2259,6 @@ nir_intrinsic_from_system_value(gl_system_value val) return nir_intrinsic_load_vertex_id; case SYSTEM_VALUE_INSTANCE_ID: return nir_intrinsic_load_instance_id; - case SYSTEM_VALUE_INSTANCE_INDEX: - return nir_intrinsic_load_instance_index; case SYSTEM_VALUE_DRAW_ID: return nir_intrinsic_load_draw_id; case SYSTEM_VALUE_BASE_INSTANCE: @@ -2428,8 +2426,6 @@ nir_system_value_from_intrinsic(nir_intrinsic_op intrin) return SYSTEM_VALUE_VERTEX_ID; case nir_intrinsic_load_instance_id: return SYSTEM_VALUE_INSTANCE_ID; - case nir_intrinsic_load_instance_index: - return SYSTEM_VALUE_INSTANCE_INDEX; case nir_intrinsic_load_draw_id: return SYSTEM_VALUE_DRAW_ID; case nir_intrinsic_load_base_instance: diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index b8642dea24b..86f0ddaf52d 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -4010,15 +4010,6 @@ typedef struct nir_shader_compiler_options { */ bool lower_base_vertex; - /** - * Whether the driver wants to work with instance_index instead of - * instance_id. - * - * When set, instance_id will be lowered to instance_index - base_instance. - * Otherwise, instance_index will be lowered to instance_id + base_instance. - */ - bool supports_instance_index; - /** * If enabled, gl_HelperInvocation will be lowered as: * diff --git a/src/compiler/nir/nir_lower_system_values.c b/src/compiler/nir/nir_lower_system_values.c index d20829a9bcf..4e90b7f1985 100644 --- a/src/compiler/nir/nir_lower_system_values.c +++ b/src/compiler/nir/nir_lower_system_values.c @@ -101,22 +101,6 @@ lower_system_value_instr(nir_builder *b, nir_instr *instr, void *_state) return NULL; } - case nir_intrinsic_load_instance_id: - if (b->shader->options->supports_instance_index) { - return nir_isub(b, nir_load_instance_index(b), - nir_load_base_instance(b)); - } else { - return NULL; - } - - case nir_intrinsic_load_instance_index: - if (!b->shader->options->supports_instance_index) { - return nir_iadd(b, nir_load_instance_id(b), - nir_load_base_instance(b)); - } else { - return NULL; - } - case nir_intrinsic_load_helper_invocation: if (b->shader->options->lower_helper_invocation) { return nir_build_lowered_load_helper_invocation(b); @@ -215,19 +199,9 @@ lower_system_value_instr(nir_builder *b, nir_instr *instr, void *_state) nir_variable *var = deref->var; switch (var->data.location) { - case SYSTEM_VALUE_INSTANCE_ID: - if (b->shader->options->supports_instance_index) { - return nir_isub(b, nir_load_instance_index(b), - nir_load_base_instance(b)); - } - break; - case SYSTEM_VALUE_INSTANCE_INDEX: - if (!b->shader->options->supports_instance_index) { - return nir_iadd(b, nir_load_instance_id(b), - nir_load_base_instance(b)); - } - break; + return nir_iadd(b, nir_load_instance_id(b), + nir_load_base_instance(b)); case SYSTEM_VALUE_GLOBAL_INVOCATION_ID: { return nir_iadd(b, nir_load_global_invocation_id(b, bit_size),