vkd3d-proton (DX12) and Zink (GL) have always been enabling features
that require the global BO list to be enabled.
Since DXVK 2.7+ (August 2025), it's also always enabled by default for
DX9-11 games (because it requires BDA now).
The global BO list used to decrease performance in the past mostly
because of bad memory management in AMDGPU, but it seems the situation
slightly improved since. Though, there might still some workloads that
hit the issue, but I think it should be mostly good overall.
This introduces RADV_DEBUG=nobolist to disable the global BO list
when no features require it.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6957
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2331
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35075>
The implementation must use the data in VkPipelineBinaryInfoKHR when
provided instead of importing binaries from libraries.
This fixes a memleak with shaders found with ASAN.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37844>
Synchronize GX6250 (4.45.2.58) device info with GX6250 (4.40.2.51) device info
and fill in the missing entries into GX6250 (4.45.2.58) device info . This is
important due to missing has_unified_store_depth , which leads to mesa warning:
```
MESA: warning: Missing unified_store_depth feature (defaulting to: 0U)
```
Fixes: 4a245d9f57 ("pvr: add device info for GX6250 (4.45.2.58)")
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37850>
The GX6650 (4.46.6.62) has to point to the matching
pvr_device_features_4_V_6_62 , update the pointer
accordingly.
Fixes: 5914d1146f ("pvr: add device info for GX6650 (4.46.6.62)")
Reviewed-by: Simon Perretta <simon.perretta@imgtec.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37851>
The YUV tiling blits are an internal copy into a shadow of the resource.
Thus they don't go through the external context blit hook anymore. Call
the YUV blit function from the two code paths that handle internal copies.
Fixes: d4780f03fc ("etnaviv: use direct BLT/RS blit hook for internal copies")
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37605>
ASan jobs doesn't work with the rpi4 kernel + Debian Trixie.
So instead we switch these jobs to be executed in rpi5.
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37814>
Since we don't support filmGrainSupport on previous of gen20 for AV1
decoding by default, failures start happening due to the video tests
assuming always FG supported, which is a fault of CTS.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37762>
precisely.
This way we could provide more correct infomation to applications.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37762>
Fixes linker error where zink_batch_usage_unflushed_wait was not being
found during compilation. The function was marked as ALWAYS_INLINE but
was being referenced from zink_bo.c, causing unresolved external symbol
errors.
Resolves compilation error in Windows builds.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37835>
The Vivante GPUs don't natively support 128-bit formats like
R32G32B32A32_FLOAT. This patch implements emulation by calculating
the memory layout as if these were 64-bit formats, but doubling the
allocation size to store both halves of the 128-bit data.
For 128-bit formats, we:
- Calculate stride and layer_stride using the 64-bit equivalent format
- Double the mip level size to accommodate both 64-bit halves
- Use translate_format_128bit_to_64bit() to map formats like
R32G32B32A32_FLOAT -> R32G32_FLOAT
This creates a memory layout where each mip level contains the 128-bit
data organized as two consecutive 64-bit portions.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
The driver currently rejects texture and render formats with block sizes
greater than 64 bits due to missing split sampler/target support. This
change conditionally allows these formats when the ETNA_DBG_DEQP debug
flag is enabled, enabling broader format testing in dEQP test suites
while maintaining the restriction for normal driver operation.
This helps improve dEQP test coverage without exposing potentially
unstable functionality to end users.
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37597>
Follow the implementation of all other Mesa drivers and use the
primary node of the render device for VK_EXT_physical_device_drm.
The topic of which node should be returned here has been the topic
of a long debate, but at least for Mesa drivers, there is the
consensus that this extension should not mix nodes from different
DRM devices. So align v3dv with the other Mesa implementations.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37584>