mesa/src
Timur Kristóf 8f99d736d0 ac/nir/ngg: Fix scratch space for NGG GS streamout
For GS streamout, we need the following LDS scratch space:

- Repacking streamout vertices takes 1 dword per 4 waves per stream
  (max 16 bytes for Wave64, max 32 bytes for Wave32)
- 1 dword per stream for buffer info
  (16 bytes)
- 1 dword per buffer for buffer info
  (16 bytes)

Previously, the space used for buffer info aliased with the
space for repacking the output vertices in ngg_gs_finale(),
and there was no barrier in between, which caused a race
condition, resulting in random failure.

Fix this by allocating a few more LDS dwords so that aliasing
is not required, which also allows us to remove an extra
workgroup barrier.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12705
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38364>
2025-11-12 13:40:55 +00:00
..
amd ac/nir/ngg: Fix scratch space for NGG GS streamout 2025-11-12 13:40:55 +00:00
android_stub
asahi nir: Add a type parameter to nir_lower_point_size() 2025-11-12 01:34:36 +00:00
broadcom nir: Add a type parameter to nir_lower_point_size() 2025-11-12 01:34:36 +00:00
c11 c11/threads: fix build on c23 2025-11-10 07:01:50 +10:00
compiler nir: Add a type parameter to nir_lower_point_size() 2025-11-12 01:34:36 +00:00
drm-shim drm-shim: fix with asan 2025-09-03 11:47:00 +00:00
egl mesa: replace most occurrences of getenv() with os_get_option() 2025-11-06 04:36:13 +00:00
etnaviv etnaviv: isa: Add "thread" info to TEX instruction 2025-11-12 13:00:09 +00:00
freedreno ci: uprev vkd3d 2025-11-11 20:15:21 +00:00
gallium nir: Add a type parameter to nir_lower_point_size() 2025-11-12 01:34:36 +00:00
gbm mesa: replace most occurrences of getenv() with os_get_option() 2025-11-06 04:36:13 +00:00
getopt
gfxstream gfxstream: Fix GfxStreamVulkanMapper.cpp build error 2025-11-09 03:10:37 +00:00
glx mesa: replace most occurrences of getenv() with os_get_option() 2025-11-06 04:36:13 +00:00
gtest
imagination nir: Add a type parameter to nir_lower_point_size() 2025-11-12 01:34:36 +00:00
imgui imgui: Silence build warnings for imgui 2025-09-16 06:16:19 +00:00
intel intel/ci: Drop timeout overrides for pre-merge jobs 2025-11-12 12:35:27 +00:00
kosmickrisp docs,kk: Add KosmicKrisp documentation 2025-11-12 04:23:59 +00:00
loader mesa: replace most occurrences of getenv() with os_get_option() 2025-11-06 04:36:13 +00:00
mesa mesa,driconf: Add WA to initialize vertex program outputs to vec4(0,0,0,1) 2025-11-11 22:16:46 +00:00
microsoft mesa: replace most occurrences of getenv() with os_get_option() 2025-11-06 04:36:13 +00:00
nouveau ci: uprev vkd3d 2025-11-11 20:15:21 +00:00
panfrost pan: Use nir_lower_point_size for the float16 conversion 2025-11-12 01:34:36 +00:00
poly poly: fix cull distance 2025-11-11 01:34:24 +00:00
tool pps/meson: minor refactor for pps_deps 2025-11-08 18:39:00 -08:00
util u_trace: remove redundant char* to string conversion (v2) 2025-11-12 06:17:16 +00:00
virtio venus/ci: Add missing Collabora farm rules to ANV jobs 2025-11-10 12:47:26 +00:00
vulkan radv/video: Implement VK_VALVE_video_encode_rgb_conversion 2025-11-12 08:25:36 +00:00
x11 meson: add missing x11 dependency on libloader_x11 2025-08-08 21:45:59 +00:00
.clang-format util: Add sparse bitset data structure 2025-11-06 21:34:33 +00:00
meson.build kk: Add KosmicKrisp 2025-10-20 17:46:38 +00:00