ac/llvm: add missing nir_intrinsic_bindless_image_atomic_{fmin,fmax}

Fix various atomic operations.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19134>
This commit is contained in:
Samuel Pitoiset 2022-10-18 09:04:19 +02:00 committed by Marge Bot
parent ada1076f98
commit 3aa41349a7

View file

@ -2845,10 +2845,12 @@ static LLVMValueRef visit_image_atomic(struct ac_nir_context *ctx, const nir_int
atomic_name = "dec";
atomic_subop = ac_atomic_dec_wrap;
break;
case nir_intrinsic_bindless_image_atomic_fmin:
case nir_intrinsic_image_deref_atomic_fmin:
atomic_name = "fmin";
atomic_subop = ac_atomic_fmin;
break;
case nir_intrinsic_bindless_image_atomic_fmax:
case nir_intrinsic_image_deref_atomic_fmax:
atomic_name = "fmax";
atomic_subop = ac_atomic_fmax;
@ -3857,6 +3859,8 @@ static bool visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins
case nir_intrinsic_bindless_image_atomic_comp_swap:
case nir_intrinsic_bindless_image_atomic_inc_wrap:
case nir_intrinsic_bindless_image_atomic_dec_wrap:
case nir_intrinsic_bindless_image_atomic_fmin:
case nir_intrinsic_bindless_image_atomic_fmax:
result = visit_image_atomic(ctx, instr, true);
break;
case nir_intrinsic_image_deref_atomic_add: