diff --git a/src/d3d11/d3d11_swapchain.cpp b/src/d3d11/d3d11_swapchain.cpp index 37bff463b..71ae61744 100644 --- a/src/d3d11/d3d11_swapchain.cpp +++ b/src/d3d11/d3d11_swapchain.cpp @@ -412,6 +412,7 @@ namespace dxvk { presenterDevice.queueFamily = graphicsQueue.queueFamily; presenterDevice.queue = graphicsQueue.queueHandle; presenterDevice.adapter = m_device->adapter()->handle(); + presenterDevice.features.fullScreenExclusive = m_device->extensions().extFullScreenExclusive; vk::PresenterDesc presenterDesc; presenterDesc.imageExtent = { m_desc.Width, m_desc.Height }; diff --git a/src/vulkan/vulkan_presenter.h b/src/vulkan/vulkan_presenter.h index 7e2d2eabc..f3b0d7b95 100644 --- a/src/vulkan/vulkan_presenter.h +++ b/src/vulkan/vulkan_presenter.h @@ -41,6 +41,13 @@ namespace dxvk::vk { VkExtent2D imageExtent; uint32_t imageCount; }; + + /** + * \brief Presenter features + */ + struct PresenterFeatures { + bool fullScreenExclusive : 1; + }; /** * \brief Adapter and queue @@ -49,6 +56,7 @@ namespace dxvk::vk { uint32_t queueFamily = 0; VkQueue queue = VK_NULL_HANDLE; VkPhysicalDevice adapter = VK_NULL_HANDLE; + PresenterFeatures features = { }; }; /**