mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 15:20:10 +01:00
nir: Load/store atomic op indices when lowering image intrinsics
They might not be stored in the same const index after lowering Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22914>
This commit is contained in:
parent
97857731ce
commit
ca5c869b6d
1 changed files with 7 additions and 0 deletions
|
|
@ -2714,6 +2714,10 @@ nir_rewrite_image_intrinsic(nir_intrinsic_instr *intrin, nir_ssa_def *src,
|
|||
if (nir_intrinsic_has_dest_type(intrin))
|
||||
data_type = nir_intrinsic_dest_type(intrin);
|
||||
|
||||
nir_atomic_op atomic_op = 0;
|
||||
if (nir_intrinsic_has_atomic_op(intrin))
|
||||
atomic_op = nir_intrinsic_atomic_op(intrin);
|
||||
|
||||
switch (intrin->intrinsic) {
|
||||
#define CASE(op) \
|
||||
case nir_intrinsic_image_deref_##op: \
|
||||
|
|
@ -2763,6 +2767,9 @@ nir_rewrite_image_intrinsic(nir_intrinsic_instr *intrin, nir_ssa_def *src,
|
|||
if (nir_intrinsic_has_dest_type(intrin))
|
||||
nir_intrinsic_set_dest_type(intrin, data_type);
|
||||
|
||||
if (nir_intrinsic_has_atomic_op(intrin))
|
||||
nir_intrinsic_set_atomic_op(intrin, atomic_op);
|
||||
|
||||
nir_instr_rewrite_src(&intrin->instr, &intrin->src[0],
|
||||
nir_src_for_ssa(src));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue