nir/divergence_analysis: check ACCESS_SMEM_AMD
Revert "nir/divergence: make smem load_global_amd uniform"
This reverts commit 2d0f93631c.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36936>
This commit is contained in:
committed by
Marge Bot
parent
c82d70d3ec
commit
7593667b0a
@@ -651,12 +651,6 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
|
||||
is_divergent = src_divergent(instr->src[0], state);
|
||||
break;
|
||||
|
||||
case nir_intrinsic_load_global_amd:
|
||||
is_divergent = (src_divergent(instr->src[0], state) ||
|
||||
src_divergent(instr->src[1], state)) &&
|
||||
!(nir_intrinsic_access(instr) & ACCESS_SMEM_AMD);
|
||||
break;
|
||||
|
||||
/* Intrinsics with divergence depending on sources */
|
||||
case nir_intrinsic_convert_alu_types:
|
||||
case nir_intrinsic_ddx:
|
||||
@@ -684,6 +678,7 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
|
||||
case nir_intrinsic_quad_vote_all:
|
||||
case nir_intrinsic_load_shared2_amd:
|
||||
case nir_intrinsic_load_global_constant:
|
||||
case nir_intrinsic_load_global_amd:
|
||||
case nir_intrinsic_load_uniform:
|
||||
case nir_intrinsic_load_constant:
|
||||
case nir_intrinsic_load_sample_pos_from_id:
|
||||
@@ -984,6 +979,10 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
|
||||
(nir_intrinsic_access(instr) & ACCESS_SKIP_HELPERS))
|
||||
is_divergent = true;
|
||||
|
||||
if (nir_intrinsic_has_access(instr) &&
|
||||
(nir_intrinsic_access(instr) & ACCESS_SMEM_AMD))
|
||||
is_divergent = false;
|
||||
|
||||
instr->def.divergent = is_divergent;
|
||||
return is_divergent;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user