Before, we only used 2k of shared memory. It was found that 5 lower bits of SP_CS_UNKNOWN_A9B1 do control the available size of shared memory for compute shaders, with AVAILABLE_SIZE = (SP_CS_UNKNOWN_A9B1_SHARED_SIZE + 1) * 1k up to 32k. And SP_CS_UNKNOWN_A9B1_SHARED_SIZE being zero enables all 32k of shared memory. Fixes tests: dEQP-VK.rasterization.line_continuity.line-strip dEQP-VK.memory_model.message_passing.core11.u32.coherent.fence_fence.atomicwrite.workgroup.payload_local.buffer.guard_nonlocal.workgroup.comp dEQP-VK.memory_model.message_passing.core11.u32.coherent.fence_fence.atomicwrite.workgroup.payload_nonlocal.workgroup.guard_local.buffer.comp dEQP-VK.memory_model.write_after_read.core11.u32.coherent.fence_fence.atomicwrite.workgroup.payload_local.image.guard_nonlocal.workgroup.comp Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9157> |
||
---|---|---|
.. | ||
default | ||
freedreno | ||
lima | ||
llvmpipe | ||
lvp | ||
panfrost | ||
radeonsi | ||
radv | ||
softpipe | ||
v3d | ||
v3dv | ||
vc4 | ||
virgl |