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 commit2d98236dd5
)
This commit is contained in:

committed by
Eric Engestrom

parent
dced0dba02
commit
421a8aaff1
@@ -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
|
||||
|
@@ -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) {
|
||||
|
Reference in New Issue
Block a user