Mesa (main): zink: always chain wsi_image_create_info for scanout images

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 4 20:11:51 UTC 2022


Module: Mesa
Branch: main
Commit: 737d94a5452bec3fc5d9393995156aba3d2d690a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=737d94a5452bec3fc5d9393995156aba3d2d690a

Author: Chia-I Wu <olvaffe at gmail.com>
Date:   Thu Feb  3 23:55:31 2022 -0800

zink: always chain wsi_image_create_info for scanout images

Chaining wsi_image_create_info tells the drivers that the image can use
VK_IMAGE_LAYOUT_PRESENT_SRC_KHR layout.  We still use
wsi_image_create_info::scanout to indicate whether this is legacy
scanout or uses modifiers.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14872>

---

 src/gallium/drivers/zink/zink_resource.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c
index 279d60a4b0a..493e8b16d82 100644
--- a/src/gallium/drivers/zink/zink_resource.c
+++ b/src/gallium/drivers/zink/zink_resource.c
@@ -603,11 +603,10 @@ resource_object_create(struct zink_screen *screen, const struct pipe_resource *t
       struct wsi_image_create_info image_wsi_info = {
          VK_STRUCTURE_TYPE_WSI_IMAGE_CREATE_INFO_MESA,
          NULL,
-         .scanout = true,
+         .scanout = scanout && ici.tiling != VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT,
       };
 
-      if ((screen->needs_mesa_wsi || screen->needs_mesa_flush_wsi) && scanout &&
-          ici.tiling != VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT) {
+      if ((screen->needs_mesa_wsi || screen->needs_mesa_flush_wsi) && scanout) {
          image_wsi_info.pNext = ici.pNext;
          ici.pNext = &image_wsi_info;
       }



More information about the mesa-commit mailing list