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

Author: Rhys Perry <[email protected]>
Date:   Tue Oct  3 15:59:59 2023 +0100

ac/nir: fix partial mesh shader output writes on GFX11

Fixes dEQP-VK.mesh_shader.ext.smoke.monolithic.mesh_shader_triangle with
nir_opt_combine_stores disabled.

Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Timur Kristóf <[email protected]>
Fixes: 240e16fc8e27 ("ac/nir/ngg: Use attribute ring for mesh shader params.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25530>

---

 src/amd/common/ac_nir_lower_ngg.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/amd/common/ac_nir_lower_ngg.c 
b/src/amd/common/ac_nir_lower_ngg.c
index d26c5d4eb19..245b7d27453 100644
--- a/src/amd/common/ac_nir_lower_ngg.c
+++ b/src/amd/common/ac_nir_lower_ngg.c
@@ -3907,6 +3907,7 @@ ms_store_arrayed_output_intrin(nir_builder *b,
       nir_def *soffset = nir_load_ring_attr_offset_amd(b);
       nir_store_buffer_amd(b, store_val, ring, base_addr_off, soffset, 
arr_index,
                            .base = const_off + param_offset * 16,
+                           .write_mask = write_mask,
                            .memory_modes = nir_var_shader_out,
                            .access = ACCESS_COHERENT | ACCESS_IS_SWIZZLED_AMD);
    } else if (out_mode == ms_out_mode_var) {

Reply via email to