mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 11:50:09 +01:00
nir/divergence_analysis: load_instance_id is convergent within a primitive
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28049>
This commit is contained in:
parent
310b13b7f0
commit
eb670d6eaf
1 changed files with 3 additions and 1 deletions
|
|
@ -331,6 +331,9 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
|
|||
is_divergent = instr->src[0].ssa->divergent;
|
||||
is_divergent |= !(options & nir_divergence_single_prim_per_subgroup);
|
||||
break;
|
||||
case nir_intrinsic_load_instance_id:
|
||||
is_divergent = !state->vertex_divergence;
|
||||
break;
|
||||
case nir_intrinsic_load_primitive_id:
|
||||
if (stage == MESA_SHADER_FRAGMENT)
|
||||
is_divergent = !(options & nir_divergence_single_prim_per_subgroup);
|
||||
|
|
@ -550,7 +553,6 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
|
|||
case nir_intrinsic_load_sample_pos_or_center:
|
||||
case nir_intrinsic_load_vertex_id_zero_base:
|
||||
case nir_intrinsic_load_vertex_id:
|
||||
case nir_intrinsic_load_instance_id:
|
||||
case nir_intrinsic_load_invocation_id:
|
||||
case nir_intrinsic_load_local_invocation_id:
|
||||
case nir_intrinsic_load_local_invocation_index:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue