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

Author: Jesse Natalie <[email protected]>
Date:   Wed Feb  1 12:48:24 2023 -0800

wsi/win32: Don't require buffer blits for software drivers

Lavapipe can directly render to a linear CPU image and then BitBlit
straight from there.

Fixes: 2f462105 ("vulkan/wsi: Hook-up DXGI swapchains and DComp")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8085
Reviewed-by: Boris Brezillon <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21049>

---

 src/vulkan/wsi/wsi_common_win32.cpp | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/vulkan/wsi/wsi_common_win32.cpp 
b/src/vulkan/wsi/wsi_common_win32.cpp
index 859839bae19..afe1cf5e4ee 100644
--- a/src/vulkan/wsi/wsi_common_win32.cpp
+++ b/src/vulkan/wsi/wsi_common_win32.cpp
@@ -494,7 +494,7 @@ wsi_win32_image_init(VkDevice device_h,
    chain->chain_dc = GetDC(chain->wnd);
    image->chain = chain;
 
-   if (chain->base.blit.type != WSI_SWAPCHAIN_BUFFER_BLIT)
+   if (chain->dxgi)
       return VK_SUCCESS;
 
    image->sw.dc = CreateCompatibleDC(chain->chain_dc);
@@ -663,8 +663,6 @@ wsi_win32_queue_present(struct wsi_swapchain *drv_chain,
    if (chain->dxgi)
       return wsi_win32_queue_present_dxgi(chain, image, damage);
 
-   assert(chain->base.blit.type == WSI_SWAPCHAIN_BUFFER_BLIT);
-
    char *ptr = (char *)image->base.cpu_map;
    char *dptr = (char *)image->sw.ppvBits;
 

Reply via email to