diff --git a/src/dxvk/dxvk_adapter.cpp b/src/dxvk/dxvk_adapter.cpp index 43c39bd5..0d788ed6 100644 --- a/src/dxvk/dxvk_adapter.cpp +++ b/src/dxvk/dxvk_adapter.cpp @@ -32,11 +32,11 @@ namespace dxvk { memBudget.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT; memBudget.pNext = nullptr; - VkPhysicalDeviceMemoryProperties2KHR memProps = { }; - memProps.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR; + VkPhysicalDeviceMemoryProperties2 memProps = { }; + memProps.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2; memProps.pNext = m_hasMemoryBudget ? &memBudget : nullptr; - m_vki->vkGetPhysicalDeviceMemoryProperties2KHR(m_handle, &memProps); + m_vki->vkGetPhysicalDeviceMemoryProperties2(m_handle, &memProps); DxvkAdapterMemoryInfo info = { }; info.heapCount = memProps.memoryProperties.memoryHeapCount; @@ -472,19 +472,17 @@ namespace dxvk { void DxvkAdapter::queryDeviceInfo() { m_deviceInfo = DxvkDeviceInfo(); - m_deviceInfo.core.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR; + m_deviceInfo.core.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; m_deviceInfo.core.pNext = nullptr; // Query info now so that we have basic device properties available - m_vki->vkGetPhysicalDeviceProperties2KHR(m_handle, &m_deviceInfo.core); + m_vki->vkGetPhysicalDeviceProperties2(m_handle, &m_deviceInfo.core); - if (m_deviceInfo.core.properties.apiVersion >= VK_MAKE_VERSION(1, 1, 0)) { - m_deviceInfo.coreDeviceId.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES; - m_deviceInfo.coreDeviceId.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.coreDeviceId); + m_deviceInfo.coreDeviceId.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES; + m_deviceInfo.coreDeviceId.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.coreDeviceId); - m_deviceInfo.coreSubgroup.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; - m_deviceInfo.coreSubgroup.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.coreSubgroup); - } + m_deviceInfo.coreSubgroup.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; + m_deviceInfo.coreSubgroup.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.coreSubgroup); if (m_deviceExtensions.supports(VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME)) { m_deviceInfo.extTransformFeedback.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT; @@ -507,7 +505,7 @@ namespace dxvk { } // Query full device properties for all enabled extensions - m_vki->vkGetPhysicalDeviceProperties2KHR(m_handle, &m_deviceInfo.core); + m_vki->vkGetPhysicalDeviceProperties2(m_handle, &m_deviceInfo.core); // Nvidia reports the driver version in a slightly different format if (DxvkGpuVendor(m_deviceInfo.core.properties.vendorID) == DxvkGpuVendor::Nvidia) { @@ -521,7 +519,7 @@ namespace dxvk { void DxvkAdapter::queryDeviceFeatures() { m_deviceFeatures = DxvkDeviceFeatures(); - m_deviceFeatures.core.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR; + m_deviceFeatures.core.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; m_deviceFeatures.core.pNext = nullptr; if (m_deviceExtensions.supports(VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME)) { @@ -559,7 +557,7 @@ namespace dxvk { m_deviceFeatures.extVertexAttributeDivisor.pNext = std::exchange(m_deviceFeatures.core.pNext, &m_deviceFeatures.extVertexAttributeDivisor); } - m_vki->vkGetPhysicalDeviceFeatures2KHR(m_handle, &m_deviceFeatures.core); + m_vki->vkGetPhysicalDeviceFeatures2(m_handle, &m_deviceFeatures.core); } diff --git a/src/dxvk/dxvk_device_info.h b/src/dxvk/dxvk_device_info.h index f67a87f4..08dc656a 100644 --- a/src/dxvk/dxvk_device_info.h +++ b/src/dxvk/dxvk_device_info.h @@ -13,7 +13,7 @@ namespace dxvk { * so before using them, check whether they are supported. */ struct DxvkDeviceInfo { - VkPhysicalDeviceProperties2KHR core; + VkPhysicalDeviceProperties2 core; VkPhysicalDeviceIDProperties coreDeviceId; VkPhysicalDeviceSubgroupProperties coreSubgroup; VkPhysicalDeviceTransformFeedbackPropertiesEXT extTransformFeedback; @@ -31,7 +31,7 @@ namespace dxvk { * extended features will be marked as unsupported. */ struct DxvkDeviceFeatures { - VkPhysicalDeviceFeatures2KHR core; + VkPhysicalDeviceFeatures2 core; VkPhysicalDeviceConditionalRenderingFeaturesEXT extConditionalRendering; VkPhysicalDeviceDepthClipEnableFeaturesEXT extDepthClipEnable; VkPhysicalDeviceHostQueryResetFeaturesEXT extHostQueryReset; diff --git a/src/dxvk/dxvk_extensions.h b/src/dxvk/dxvk_extensions.h index 474af690..ecc0f7b2 100644 --- a/src/dxvk/dxvk_extensions.h +++ b/src/dxvk/dxvk_extensions.h @@ -293,7 +293,6 @@ namespace dxvk { * used by DXVK if supported by the implementation. */ struct DxvkInstanceExtensions { - DxvkExt khrGetPhysicalDeviceProperties2 = { VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, DxvkExtMode::Required }; DxvkExt khrGetSurfaceCapabilities2 = { VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt khrSurface = { VK_KHR_SURFACE_EXTENSION_NAME, DxvkExtMode::Required }; }; diff --git a/src/dxvk/dxvk_instance.cpp b/src/dxvk/dxvk_instance.cpp index 30e660b2..f51dd34f 100644 --- a/src/dxvk/dxvk_instance.cpp +++ b/src/dxvk/dxvk_instance.cpp @@ -87,8 +87,7 @@ namespace dxvk { VkInstance DxvkInstance::createInstance() { DxvkInstanceExtensions insExtensions; - std::array insExtensionList = {{ - &insExtensions.khrGetPhysicalDeviceProperties2, + std::array insExtensionList = {{ &insExtensions.khrGetSurfaceCapabilities2, &insExtensions.khrSurface, }}; diff --git a/src/vulkan/vulkan_loader.h b/src/vulkan/vulkan_loader.h index 0e7678cc..46a5f41b 100644 --- a/src/vulkan/vulkan_loader.h +++ b/src/vulkan/vulkan_loader.h @@ -82,22 +82,19 @@ namespace dxvk::vk { VULKAN_FN(vkEnumerateDeviceExtensionProperties); VULKAN_FN(vkEnumeratePhysicalDevices); VULKAN_FN(vkGetPhysicalDeviceFeatures); + VULKAN_FN(vkGetPhysicalDeviceFeatures2); VULKAN_FN(vkGetPhysicalDeviceFormatProperties); + VULKAN_FN(vkGetPhysicalDeviceFormatProperties2); + VULKAN_FN(vkGetPhysicalDeviceProperties2); VULKAN_FN(vkGetPhysicalDeviceImageFormatProperties); + VULKAN_FN(vkGetPhysicalDeviceImageFormatProperties2); VULKAN_FN(vkGetPhysicalDeviceMemoryProperties); + VULKAN_FN(vkGetPhysicalDeviceMemoryProperties2); VULKAN_FN(vkGetPhysicalDeviceProperties); VULKAN_FN(vkGetPhysicalDeviceQueueFamilyProperties); + VULKAN_FN(vkGetPhysicalDeviceQueueFamilyProperties2); VULKAN_FN(vkGetPhysicalDeviceSparseImageFormatProperties); - - #ifdef VK_KHR_get_physical_device_properties2 - VULKAN_FN(vkGetPhysicalDeviceFeatures2KHR); - VULKAN_FN(vkGetPhysicalDeviceProperties2KHR); - VULKAN_FN(vkGetPhysicalDeviceFormatProperties2KHR); - VULKAN_FN(vkGetPhysicalDeviceImageFormatProperties2KHR); - VULKAN_FN(vkGetPhysicalDeviceQueueFamilyProperties2KHR); - VULKAN_FN(vkGetPhysicalDeviceMemoryProperties2KHR); - VULKAN_FN(vkGetPhysicalDeviceSparseImageFormatProperties2KHR); - #endif + VULKAN_FN(vkGetPhysicalDeviceSparseImageFormatProperties2); #ifdef VK_KHR_get_surface_capabilities2 VULKAN_FN(vkGetPhysicalDeviceSurfaceCapabilities2KHR);