Module: Mesa
Branch: main
Commit: 2b03938f27d68f6eca17002d9224639607585e90
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b03938f27d68f6eca17002d9224639607585e90

Author: Dave Airlie <[email protected]>
Date:   Fri Jul 21 11:35:36 2023 +1000

gallivm: fix atomic global temporary storage.

Fixes regression on llvm15 with
piglit tests/cl/program/execute/builtin/atomic/atomic_xchg-global.cl

Fixes: f28129000511 ("gallivm: Fix atomic_global types")
Reviewed-by: Konstantin Seurer <[email protected]>
Tested-by: Karol Herbst <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24267>

---

 src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c 
b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c
index b725939bad7..9ad504c0b58 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c
@@ -1111,7 +1111,7 @@ static void emit_atomic_global(struct 
lp_build_nir_context *bld_base,
       val = LLVMBuildBitCast(builder, val, atom_bld->vec_type, "");
 
    LLVMValueRef atom_res = lp_build_alloca(gallivm,
-                                           LLVMTypeOf(val), "");
+                                           atom_bld->vec_type, "");
    LLVMValueRef exec_mask = mask_vec(bld_base);
    struct lp_build_loop_state loop_state;
    lp_build_loop_begin(&loop_state, gallivm, lp_build_const_int32(gallivm, 0));

Reply via email to