vulkan: fix validation errors when VK_EXT_full_screen_exclusive is used

This commit is contained in:
Sasha Szpakowski
2026-07-05 11:11:19 -03:00
parent 4758d54af6
commit 540e681454
2 changed files with 9 additions and 0 deletions
+6
View File
@@ -108,6 +108,8 @@ static void checkOptionalInstanceExtensions(OptionalInstanceExtensions& ext)
ext.physicalDeviceProperties2 = true;
if (strcmp(extension.extensionName, VK_EXT_DEBUG_UTILS_EXTENSION_NAME) == 0)
ext.debugInfo = true;
if (strcmp(extension.extensionName, VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME) == 0)
ext.surfaceCapabilities2 = true;
}
}
@@ -160,6 +162,8 @@ Graphics::Graphics()
extensions.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);
if (optionalInstanceExtensions.debugInfo)
extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME);
if (optionalInstanceExtensions.surfaceCapabilities2)
extensions.push_back(VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME);
createInfo.enabledExtensionCount = static_cast<uint32_t>(extensions.size());
createInfo.ppEnabledExtensionNames = extensions.data();
@@ -1869,6 +1873,8 @@ void Graphics::createLogicalDevice()
optionalDeviceExtensions.spirv14 = false;
if (optionalDeviceExtensions.spirv14 && deviceApiVersion < VK_API_VERSION_1_1)
optionalDeviceExtensions.spirv14 = false;
if (optionalDeviceExtensions.fullscreenExclusive && !optionalInstanceExtensions.surfaceCapabilities2)
optionalDeviceExtensions.fullscreenExclusive = false;
VkPhysicalDeviceFeatures deviceFeatures{};
deviceFeatures.samplerAnisotropy = VK_TRUE;
+3
View File
@@ -154,6 +154,9 @@ struct OptionalInstanceExtensions
// VK_EXT_debug_info
bool debugInfo = false;
// VK_KHR_get_surface_capabilities2
bool surfaceCapabilities2 = false;
};
struct OptionalDeviceExtensions