mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-23 17:00:22 +01:00
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> |
||
|---|---|---|
| .. | ||
| device-select-layer | ||
| overlay-layer | ||
| registry | ||
| runtime | ||
| util | ||
| wsi | ||
| meson.build | ||
| vulkan-icd-symbols.txt | ||
| vulkan_api.def.in | ||