kopper: use get_drawable_info path for non-x11 drawables
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 1 Jun 2022 15:31:49 +0000 (11:31 -0400)
committerMarge Bot <emma+marge@anholt.net>
Fri, 3 Jun 2022 18:22:22 +0000 (18:22 +0000)
wayland surfaces need to take this path to get resizing right

cc: mesa-stable

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16814>

src/gallium/frontends/dri/kopper.c

index d2df5aa..9e7547b 100644 (file)
@@ -680,7 +680,8 @@ kopper_update_drawable_info(struct dri_drawable *drawable)
                                 drawable->textures[ST_ATTACHMENT_BACK_LEFT] :
                                 drawable->textures[ST_ATTACHMENT_FRONT_LEFT];
 
-   if (is_window && ptex && kscreen->base.fd == -1)
+   bool do_kopper_update = is_window && ptex && kscreen->base.fd == -1;
+   if (cdraw->info.bos.sType == VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR && do_kopper_update)
       zink_kopper_update(screen, ptex, &dPriv->w, &dPriv->h);
    else
       get_drawable_info(dPriv, &x, &y, &dPriv->w, &dPriv->h);