mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-06 19:18:15 +02:00
On LSC platforms the SLM writes are unfenced between workgroups. This means a workgroup W1 finishing might have uncompleted SLM writes. Another workgroup W2 dispatched after W1 which gets allocated an overlapping SLM location might have writes that race with the previous W1 operations. The solution to this is fence all write operations (store & atomics) of a workgroup before ending the threads. We do this by emitting a single SLM fence either at the end of the shader or if there is only a single unfenced right, at the end of that block. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13924 Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40430> |
||
|---|---|---|
| .. | ||
| blorp | ||
| ci | ||
| common | ||
| compiler | ||
| decoder | ||
| dev | ||
| ds | ||
| executor | ||
| genxml | ||
| isl | ||
| mda | ||
| nullhw-layer | ||
| perf | ||
| shaders | ||
| tools | ||
| vulkan | ||
| vulkan_hasvk | ||
| meson.build | ||