mesa/src
Iago Toral Quiroga f78d3833ef v3d: only enable double-buffer for jobs where it might make sense
Previously, double-buffer mode would apply to all jobs except msaa,
but this is not smart, since not all jobs can benefit from this. In
particular, if jobs load the tile buffer and don't store tiles
double buffer mode won't be effective and we would instead pay the
cost of the smaller tile size so we only want to enable in jobs
that meet these requirements.

In order to achieve this we need to postpone the decision about
double buffering until we know the loads and stores of the job,
which means we need to do this late after we have recorded draws.
This means that by default, we assume no double-buffer mode is
used and if we find we want to enable after emitting the draws
we need to re-compute tile sizes and rewrite the
TILE_BINNING_MODE_CFG packet accordingly.

Making the decison about double-buffer late will also enable us to
add heuristics to decide about double-buffer based on the draw calls
emitted in the job, but we will do this in a separate patch.

Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32111>
2024-11-18 08:45:04 +00:00
..
amd ac/nir: get pass_tessfactors_by_reg from nir_gather_tcs_info 2024-11-16 21:58:29 -05:00
android_stub vulkan/android: Add helper to probe AHB support 2024-05-14 14:53:44 +00:00
asahi nir_lower_mem_access_bit_sizes: pass access to callback 2024-11-13 12:59:26 +00:00
broadcom broadcom: handle double buffer on V3D 7.1 tile size calculations 2024-11-18 08:45:04 +00:00
c11 build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
compiler compiler/rust: drop duplicated bindgen check 2024-11-14 20:12:31 +00:00
drm-shim drm-shim: stub synobj_timeline_wait and query ioctl 2024-07-16 11:17:59 +02:00
egl vulkan/wsi/wayland: Pace frames with commit-timing-v1 2024-11-07 00:03:23 +00:00
etnaviv etnaviv/ml: Support addition operations on V8 2024-11-15 16:41:05 +00:00
freedreno turnip/ci: document regression 2024-11-13 17:14:06 +00:00
gallium v3d: only enable double-buffer for jobs where it might make sense 2024-11-18 08:45:04 +00:00
gbm gbm/dri: Fix color format for big endian. 2024-10-25 14:18:24 +00:00
getopt build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
gfxstream gfxstream: use canonical Mesa dependencies 2024-11-12 19:21:10 +00:00
glx glx: Fix the GLX_EXT_swap_control_tear drawable attributes 2024-10-23 19:55:53 +00:00
gtest build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
imagination pvr: Make Vulkan driver depend only on nir headers, not library 2024-10-23 16:47:34 +00:00
imgui
intel anv: fix incorrect aspect flag for depth/stencil formats 2024-11-18 07:01:28 +00:00
loader loader: Fix typo in __DRI_IMAGE_FORMAT_XBGR16161616 definition 2024-10-25 14:18:24 +00:00
mapi meson: remove selinux option 2024-10-21 01:14:35 +00:00
mesa st/mesa: implement key->persample_shading for lowered IO 2024-11-06 15:51:51 +00:00
microsoft nir_lower_mem_access_bit_sizes: pass access to callback 2024-11-13 12:59:26 +00:00
nouveau nir_lower_mem_access_bit_sizes: pass access to callback 2024-11-13 12:59:26 +00:00
panfrost bi: Execute nir_opt_algebraic after nir_lower_pack 2024-11-18 09:05:31 +01:00
tool perfetto: Add Panfrost data sources to system.cfg 2024-08-22 18:33:45 +00:00
util util: Support elf_aux_info() on OpenBSD arm and ppc 2024-11-18 01:03:28 +00:00
virtio virgl: Propagate the GL_MAX_stage_SHADER_STORAGE_BLOCKS for each stage 2024-11-08 12:26:06 +00:00
vulkan vulkan: Avoid pointer aliasing 2024-11-16 03:14:31 +00:00
x11 meson: require dri3 modifiers 2024-09-06 17:34:17 +00:00
.clang-format panfrost: Move ForEachMacros into panfrost 2024-09-12 20:04:58 +00:00
meson.build mesa: add gfxstream-experimental to -Dvulkan-drivers 2024-09-19 20:06:04 +00:00