diff --git a/src/gallium/drivers/zink/zink_kopper.c b/src/gallium/drivers/zink/zink_kopper.c index 4ca8b217676c26f883928d2c784a7d871acacdda..bc00d5b0828d7a57c2ba61b96381504f226722d0 100644 --- a/src/gallium/drivers/zink/zink_kopper.c +++ b/src/gallium/drivers/zink/zink_kopper.c @@ -593,6 +593,10 @@ zink_kopper_acquire_submit(struct zink_screen *screen, struct zink_resource *res if (cdt->swapchain->images[res->obj->dt_idx].dt_has_data) return VK_NULL_HANDLE; assert(res->obj->dt_idx != UINT32_MAX); + if (cdt->swapchain->images[res->obj->dt_idx].acquired) { + assert(!cdt->swapchain->images[res->obj->dt_idx].acquire); + return VK_NULL_HANDLE; + } assert(cdt->swapchain->images[res->obj->dt_idx].acquire); cdt->swapchain->images[res->obj->dt_idx].acquired = true; /* this is now owned by the batch */