mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 02:48:06 +02:00
Revert "nir: lower INSTANCE_{ID,INDEX} to an offset load_instance_{index,id} respectively"
This reverts commit a5bcf566a9.
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32332>
This commit is contained in:
parent
9bae92f659
commit
9d5ba87ca1
3 changed files with 2 additions and 41 deletions
|
|
@ -2259,8 +2259,6 @@ nir_intrinsic_from_system_value(gl_system_value val)
|
||||||
return nir_intrinsic_load_vertex_id;
|
return nir_intrinsic_load_vertex_id;
|
||||||
case SYSTEM_VALUE_INSTANCE_ID:
|
case SYSTEM_VALUE_INSTANCE_ID:
|
||||||
return nir_intrinsic_load_instance_id;
|
return nir_intrinsic_load_instance_id;
|
||||||
case SYSTEM_VALUE_INSTANCE_INDEX:
|
|
||||||
return nir_intrinsic_load_instance_index;
|
|
||||||
case SYSTEM_VALUE_DRAW_ID:
|
case SYSTEM_VALUE_DRAW_ID:
|
||||||
return nir_intrinsic_load_draw_id;
|
return nir_intrinsic_load_draw_id;
|
||||||
case SYSTEM_VALUE_BASE_INSTANCE:
|
case SYSTEM_VALUE_BASE_INSTANCE:
|
||||||
|
|
@ -2428,8 +2426,6 @@ nir_system_value_from_intrinsic(nir_intrinsic_op intrin)
|
||||||
return SYSTEM_VALUE_VERTEX_ID;
|
return SYSTEM_VALUE_VERTEX_ID;
|
||||||
case nir_intrinsic_load_instance_id:
|
case nir_intrinsic_load_instance_id:
|
||||||
return SYSTEM_VALUE_INSTANCE_ID;
|
return SYSTEM_VALUE_INSTANCE_ID;
|
||||||
case nir_intrinsic_load_instance_index:
|
|
||||||
return SYSTEM_VALUE_INSTANCE_INDEX;
|
|
||||||
case nir_intrinsic_load_draw_id:
|
case nir_intrinsic_load_draw_id:
|
||||||
return SYSTEM_VALUE_DRAW_ID;
|
return SYSTEM_VALUE_DRAW_ID;
|
||||||
case nir_intrinsic_load_base_instance:
|
case nir_intrinsic_load_base_instance:
|
||||||
|
|
|
||||||
|
|
@ -4010,15 +4010,6 @@ typedef struct nir_shader_compiler_options {
|
||||||
*/
|
*/
|
||||||
bool lower_base_vertex;
|
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:
|
* If enabled, gl_HelperInvocation will be lowered as:
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -101,22 +101,6 @@ lower_system_value_instr(nir_builder *b, nir_instr *instr, void *_state)
|
||||||
return NULL;
|
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:
|
case nir_intrinsic_load_helper_invocation:
|
||||||
if (b->shader->options->lower_helper_invocation) {
|
if (b->shader->options->lower_helper_invocation) {
|
||||||
return nir_build_lowered_load_helper_invocation(b);
|
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;
|
nir_variable *var = deref->var;
|
||||||
|
|
||||||
switch (var->data.location) {
|
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:
|
case SYSTEM_VALUE_INSTANCE_INDEX:
|
||||||
if (!b->shader->options->supports_instance_index) {
|
return nir_iadd(b, nir_load_instance_id(b),
|
||||||
return nir_iadd(b, nir_load_instance_id(b),
|
nir_load_base_instance(b));
|
||||||
nir_load_base_instance(b));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SYSTEM_VALUE_GLOBAL_INVOCATION_ID: {
|
case SYSTEM_VALUE_GLOBAL_INVOCATION_ID: {
|
||||||
return nir_iadd(b, nir_load_global_invocation_id(b, bit_size),
|
return nir_iadd(b, nir_load_global_invocation_id(b, bit_size),
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue