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 <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Fixes: 240e16fc8e ("ac/nir/ngg: Use attribute ring for mesh shader params.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25530>
(cherry picked from commit 2d98236dd5)
This commit is contained in:
Rhys Perry
2023-10-03 15:59:59 +01:00
committed by Eric Engestrom
parent dced0dba02
commit 421a8aaff1
2 changed files with 2 additions and 1 deletions

View File

@@ -64,7 +64,7 @@
"description": "ac/nir: fix partial mesh shader output writes on GFX11",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "240e16fc8e27ba76afa1bf5adbd6d70c680027ac",
"notes": null

View File

@@ -3903,6 +3903,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) {