mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-10 05:38:18 +02:00
While I was investigating some task+mesh random GPU hangs in CI, I finally found a sequence that caused a test failure: dEQP-VK.dgc.ext.graphics.mesh.conditional_rendering.general.classic_bind_with_count_buffer_condition_false_with_task_shader dEQP-VK.dgc.ext.graphics.mesh.token_draw_count.monolithic_with_task_shader Executing these two tests in a row caused the second one to always fail (tested on NAVI33). After investigating I figured out that only the DGC GFX IB was predicated (with IB2) and the DGC ACE IB was always running, although without any mesh draws to consume the task output. It seems the hardware is confused if another task+mesh draw is dispatched after that, and this could cause failures or GPU hangs. Fix this by resetting the number of DGC sequences to 0 when conditional rendering is used. This is the only option to emulate conditional rendering with DGC and ACE. This also likely fixes DGC+RT on compute queue. Cc: mesa-stable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41939> |
||
|---|---|---|
| .. | ||
| amd | ||
| android_stub | ||
| asahi | ||
| broadcom | ||
| c11 | ||
| compiler | ||
| drm-shim | ||
| egl | ||
| etnaviv | ||
| freedreno | ||
| gallium | ||
| gbm | ||
| getopt | ||
| gfxstream | ||
| glx | ||
| gtest | ||
| imagination | ||
| imgui | ||
| intel | ||
| kosmickrisp | ||
| loader | ||
| mesa | ||
| microsoft | ||
| nouveau | ||
| panfrost | ||
| poly | ||
| tool | ||
| util | ||
| virtio | ||
| vulkan | ||
| x11 | ||
| .clang-format | ||
| meson.build | ||