From c49423ca2ce497bc878fe5b64ee0b7d547bf52fb Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 20 Feb 2025 11:14:52 +1000 Subject: [PATCH] vulkan/wsi/x11: don't use update_region for damage if not created MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If we don't have a region in the X no MIT-SHM case don't go using the damage call set region. Fixes: bbdf7e45b15f ("wsi/x11: Hook up KHR_incremental_present") Reviewed-by: Adam Jackson Acked-by: Michel Dänzer Part-of: --- src/vulkan/wsi/wsi_common_x11.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/vulkan/wsi/wsi_common_x11.c b/src/vulkan/wsi/wsi_common_x11.c index 8c364cd94dd..10e84a54d60 100644 --- a/src/vulkan/wsi/wsi_common_x11.c +++ b/src/vulkan/wsi/wsi_common_x11.c @@ -1810,8 +1810,9 @@ x11_queue_present(struct wsi_swapchain *anv_chain, if (status < 0) return status; - if (damage && damage->pRectangles && damage->rectangleCount > 0 && - damage->rectangleCount <= MAX_DAMAGE_RECTS) { + if (chain->images[image_index].update_region != None && + damage && damage->pRectangles && damage->rectangleCount > 0 && + damage->rectangleCount <= MAX_DAMAGE_RECTS) { xcb_rectangle_t *rects = chain->images[image_index].rects; update_area = chain->images[image_index].update_region; @@ -2073,6 +2074,7 @@ x11_image_init(VkDevice device_h, struct x11_swapchain *chain, if (result != VK_SUCCESS) return result; + image->update_region = None; if (chain->base.wsi->sw && !chain->has_mit_shm) return VK_SUCCESS;