mesa/src/vulkan
Boris Brezillon 2f462105fa vulkan/wsi: Hook-up DXGI swapchains and DComp
The CPU copy is horribly slow, so let's hook-up DXGI swapchains. Note
that we're still limited in term of features. For instance, we can't
support more than 2 images per swapchain because of the DXGI present
ordering constraint. We also have to do an extra copy, because DXGI
only allows rendering to a resource on the queue that the swapchain
was created against, but swapchains in Vulkan don't have a queue.

The swapchain is bound to the window using DirectComposition aka
DComp. The DComp infrastructure is set up in the surface, and is
transitioned from one swapchain to the next when the new swapchain
begins presenting.

Unlike Wayland and X, there's no requirement that the compositor has
to release a surface before you can start rendering against it. However,
since we're now supporting the non-sw path, we do need to prevent apps
from rendering to a resource *while* the blit is occurring. We do this
by blocking for a fence while acquiring an image.

Co-authored-by: Jesse Natalie <jenatali@microsoft.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16200>
2023-01-11 09:31:02 +00:00
..
device-select-layer vulkan/device-select-layer: drop wayland-protocols dep 2022-11-23 12:15:23 +00:00
overlay-layer utils: Merge util/debug.* into util/u_debug.* and remove util/debug.* 2022-11-02 07:25:39 +00:00
registry vulkan: update headers/registry to 1.3.238 for video decode 2022-12-20 07:28:07 +10:00
runtime vulkan: Add common RMV tracing infrastructure 2023-01-11 06:55:04 +00:00
util vulkan: Add RMV file exporter 2023-01-11 06:55:04 +00:00
wsi vulkan/wsi: Hook-up DXGI swapchains and DComp 2023-01-11 09:31:02 +00:00
meson.build meson: Refactoring shared gen_vs_module_defs_normal_command out 2022-11-11 05:38:19 +00:00
vulkan-icd-symbols.txt vulkan: Allow global symbol HMI for Android 2020-08-05 18:08:07 +00:00
vulkan_api.def.in win32: Fixes 32 bits visual studio module definition files by add script gen_vs_module_defs.py 2022-04-19 19:38:47 +00:00