mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 11:20:20 +01:00
Interpreting the command buffer only really works if everything is static, but panvk started to make extensive use of loops, and conditionals which depends on memory values that get updated by the command stream itself. This makes it impossible to walk back to the original state in order to replay the CS actions. Move away from this approach in favor of an event-based tracing mechanism recording particular CS commands and their context at execution time. Of course, that means the auxiliary descriptors shouldn't be recycled until the traces are decoded, but that's more tractable. We just need to turn the descriptor ring buffers into linear buffers with a guard page, and crash on OOB, with a message suggesting the user to tweak the maximum trace buffer sizes. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com> Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32284> |
||
|---|---|---|
| .. | ||
| amd | ||
| android_stub | ||
| asahi | ||
| broadcom | ||
| c11 | ||
| compiler | ||
| drm-shim | ||
| egl | ||
| etnaviv | ||
| freedreno | ||
| gallium | ||
| gbm | ||
| getopt | ||
| gfxstream | ||
| glx | ||
| gtest | ||
| imagination | ||
| imgui | ||
| intel | ||
| loader | ||
| mapi | ||
| mesa | ||
| microsoft | ||
| nouveau | ||
| panfrost | ||
| tool | ||
| util | ||
| virtio | ||
| vulkan | ||
| x11 | ||
| .clang-format | ||
| meson.build | ||