mesa/src
José Roberto de Souza e9f4458c37 anv: Allow WSI blit_src Image to be kept compressed when transitioning to VK_IMAGE_LAYOUT_PRESENT_SRC_KHR
When WSI is working in prime/dma-buf mode, it has one additional
VkBuffer or VkImage where the main VkImage is copied to without any
compression or tiling different from linear

The batch buffer to do this copy is created in
wsi_finish_create_blit_context(). It performs a barrier transitioning
the VkImage to VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, performs the
copy, and then transitions it back to VK_IMAGE_LAYOUT_PRESENT_SRC_KHR.

However, in this prime/dma-buf mode, no display modifiers are involved,
which causes compression to be disabled when switching to
VK_IMAGE_LAYOUT_PRESENT_SRC_KHR.
This change adds an exception to allow the Vkimage to remain compressed
because we can handle the compressed-to-uncompressed copy.

Doing so fixes an issue that was reported with BMG + integrated GPU
and should also improve performance by keeping the VkImage compressed.

Cc: mesa-stable
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12354
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33044>
2025-01-23 18:27:31 +00:00
..
amd radv: exclude layer when recomputing FS input bases 2025-01-23 13:21:03 +00:00
android_stub
asahi nir: remove dead code due to IO being always lowered in st/mesa 2025-01-22 02:15:04 +00:00
broadcom nir/from_ssa: only consider divergence if requested 2025-01-23 01:31:23 +00:00
c11 c11: use SPDX-License-Identifier header 2025-01-08 20:37:51 +00:00
compiler Revert "nir: add nir_clear_divergence_info, use it in nir_opt_varyings" 2025-01-23 01:31:24 +00:00
drm-shim drm-shim: stub synobj_timeline_wait and query ioctl 2024-07-16 11:17:59 +02:00
egl glapi: rename exported symbols so as not to conflict with old libglapi 2025-01-23 00:49:05 +00:00
etnaviv ci/etnaviv: drop failures caused by missing vertex attributes 2025-01-10 10:57:58 +00:00
freedreno ir3: disable alias.rt pre-a750 2025-01-23 17:55:22 +00:00
gallium zink: fix replacing incompatible pipelines 2025-01-23 14:36:26 +00:00
gbm egl,gallium,gbm,mesa: replace get_param with pipe_caps access 2025-01-17 04:39:46 +00:00
getopt
gfxstream gfxstream: fix some integration bugs 2025-01-17 17:26:45 +00:00
glx glapi: rename exported symbols so as not to conflict with old libglapi 2025-01-23 00:49:05 +00:00
gtest
imagination pvr: use vk_descriptor_type_is_dynamic 2024-12-19 15:12:58 +00:00
imgui
intel anv: Allow WSI blit_src Image to be kept compressed when transitioning to VK_IMAGE_LAYOUT_PRESENT_SRC_KHR 2025-01-23 18:27:31 +00:00
loader loader: improve the existing loader-libgallium non-matching version error 2025-01-23 00:49:05 +00:00
mapi glapi: rename exported symbols so as not to conflict with old libglapi 2025-01-23 00:49:05 +00:00
mesa glapi: rename exported symbols so as not to conflict with old libglapi 2025-01-23 00:49:05 +00:00
microsoft ci: use CI_PROJECT_NAME for artifacts name 2025-01-23 07:18:09 +00:00
nouveau nir/from_ssa: only consider divergence if requested 2025-01-23 01:31:23 +00:00
panfrost panvk: Fix barriers in secondary cmdbufs w/o rp's 2025-01-23 15:13:17 +00:00
tool panvk: add u_trace perfetto support 2024-12-17 23:14:26 +00:00
util util,vulkan,asahi,hk: hash format strings 2025-01-17 18:09:45 +00:00
virtio virgl: Update virgl_hw.h from virglrenderer 2025-01-07 13:15:46 +00:00
vulkan vk/bvh: Add default stubs for unsupported entrypoints 2025-01-23 05:16:58 +00:00
x11 meson: require dri3 modifiers 2024-09-06 17:34:17 +00:00
.clang-format ir3: introduce alias goups 2025-01-23 06:26:23 +00:00
meson.build dri: put shared-glapi into libgallium.*.so 2025-01-23 00:49:05 +00:00