mesa/docs/drivers
Dhruv Mark Collins 3fcec4762f tu/autotune: Add "Preempt Optimize" mode
This introduces a new option that makes autotune optimize for low
preemption latency which is crucial to ensure responsiveness on
systems with GPU-based composition. A large enough draw can entirely
block the compositor from running with draw-level preemption, this can
be mitigated by preferring to use GMEM which breaks up the draw into
smaller pieces and generally has a lower latency for preemption.

As a further mitigation, tiles in GMEM are then divided into smaller
and smaller pieces which lowers the non-preemptible duration. There
are static checks in place to avoid doing this when it would incur a
cost that is too large.

Uses performance counters read during ambles to detect preemption
latency events while rendering in SYSMEM. This approach is superior
to using RBBM draw time thresholds which could be imprecise as only
the average was calculated rather than true maximum draw time.

However, converting the preemption latency performance counter value
from CP ticks to wall clock is based on the average GPU frequency of
the whole period from the start of the RP until the switch-away amble
while the preemption latency stars counting from the request. Thus, if
the GPU frequency shifts rapidly throughout the RP, it may cause the
estimated wall clock time to be inaccurate, but it should be good enough
in the vast majority of cases.

Signed-off-by: Dhruv Mark Collins <mark@igalia.com>
Co-authored-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37802>
2026-04-06 14:19:29 +00:00
..
amd radv,radeonsi: PA_SC_BINNER changes for gfx12 2026-03-04 21:14:56 +00:00
freedreno tu: Implement subsampled images 2026-03-06 21:26:46 +00:00
kosmickrisp kk: Expose sampleRateShading 2026-02-09 13:35:01 +00:00
nvk docs/nvk: Fix link for subchannel switches 2026-03-12 09:50:39 +01:00
panfrost docs/panfrost: fix outdated path to complete GPUs list 2026-03-24 22:17:31 +00:00
anv.rst docs/anv: add some debug tips 2026-03-02 07:30:34 +00:00
asahi.rst
d3d12.rst
freedreno.rst tu/autotune: Add "Preempt Optimize" mode 2026-04-06 14:19:29 +00:00
kosmickrisp.rst docs/kk: Update build instructions to add --prefer-static 2026-02-26 10:14:24 +00:00
lima.rst
llvmpipe.rst
nvk.rst docs/nvk: Fix description of supported GPUs 2025-11-08 17:23:58 +00:00
panfrost.rst
powervr.rst docs/pvr: add drm-shim documentation 2026-02-02 14:25:18 +00:00
radv.rst
svga3d.rst
v3d.rst
vc4.rst
venus.rst docs/venus: add Android Cuttlefish instructions 2026-03-30 06:46:24 +00:00
virgl.rst
zink.rst