mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-16 05:28:14 +02:00
Replace the inline tile_alloc/TSDA sizing in v3dv_job_allocate_tile_state() with a call to the new v3d_tile_alloc_sizes() helper. This switches from 64B to 128B initial tile alloc blocks (avoiding overflow for simple draws) and from a flat 512KB headroom to a draw-proportional formula. Set tile_allocation_initial_block_size and tile_allocation_block_size in all TILE_BINNING_MODE_CFG emissions and update the TILE_LIST_INITIAL_BLOCK_SIZE packets to match. Benchmarked on RPi5 (V3D 7.1) with GfxBench Vulkan Aztec Ruins at 1920x1040. Average tile_alloc BO size dropped 75% (535 KB to 132 KB) with 20% fewer OOM events (521 to 417) and no FPS regression. This avoids exhausting GPU memory when multiple blit or fill jobs are batched in the same command buffer, with a huge reduction of the memory footprint avoiding the 512 KB of the tile_alloc per batched job. Reviewed-by: Maíra Canal <mcanal@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40554> |
||
|---|---|---|
| .. | ||
| ci | ||
| cle | ||
| clif | ||
| common | ||
| compiler | ||
| drm-shim | ||
| ds | ||
| perfcntrs | ||
| qpu | ||
| simulator | ||
| vulkan | ||
| .editorconfig | ||
| meson.build | ||