mirror of
https://github.com/EduApps-CDG/OpenDX
synced 2024-12-30 09:45:37 +01:00
[dxvk] Don't enable VK_KHR_get_physical_device_properties2
Core in Vulkan 1.1.
This commit is contained in:
parent
6690a31d8d
commit
252ec9406d
@ -32,11 +32,11 @@ namespace dxvk {
|
|||||||
memBudget.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT;
|
memBudget.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT;
|
||||||
memBudget.pNext = nullptr;
|
memBudget.pNext = nullptr;
|
||||||
|
|
||||||
VkPhysicalDeviceMemoryProperties2KHR memProps = { };
|
VkPhysicalDeviceMemoryProperties2 memProps = { };
|
||||||
memProps.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR;
|
memProps.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
|
||||||
memProps.pNext = m_hasMemoryBudget ? &memBudget : nullptr;
|
memProps.pNext = m_hasMemoryBudget ? &memBudget : nullptr;
|
||||||
|
|
||||||
m_vki->vkGetPhysicalDeviceMemoryProperties2KHR(m_handle, &memProps);
|
m_vki->vkGetPhysicalDeviceMemoryProperties2(m_handle, &memProps);
|
||||||
|
|
||||||
DxvkAdapterMemoryInfo info = { };
|
DxvkAdapterMemoryInfo info = { };
|
||||||
info.heapCount = memProps.memoryProperties.memoryHeapCount;
|
info.heapCount = memProps.memoryProperties.memoryHeapCount;
|
||||||
@ -472,19 +472,17 @@ namespace dxvk {
|
|||||||
|
|
||||||
void DxvkAdapter::queryDeviceInfo() {
|
void DxvkAdapter::queryDeviceInfo() {
|
||||||
m_deviceInfo = DxvkDeviceInfo();
|
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;
|
m_deviceInfo.core.pNext = nullptr;
|
||||||
|
|
||||||
// Query info now so that we have basic device properties available
|
// 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.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES;
|
m_deviceInfo.coreDeviceId.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.coreDeviceId);
|
||||||
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.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
|
||||||
m_deviceInfo.coreSubgroup.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.coreSubgroup);
|
m_deviceInfo.coreSubgroup.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.coreSubgroup);
|
||||||
}
|
|
||||||
|
|
||||||
if (m_deviceExtensions.supports(VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME)) {
|
if (m_deviceExtensions.supports(VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME)) {
|
||||||
m_deviceInfo.extTransformFeedback.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT;
|
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
|
// 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
|
// Nvidia reports the driver version in a slightly different format
|
||||||
if (DxvkGpuVendor(m_deviceInfo.core.properties.vendorID) == DxvkGpuVendor::Nvidia) {
|
if (DxvkGpuVendor(m_deviceInfo.core.properties.vendorID) == DxvkGpuVendor::Nvidia) {
|
||||||
@ -521,7 +519,7 @@ namespace dxvk {
|
|||||||
|
|
||||||
void DxvkAdapter::queryDeviceFeatures() {
|
void DxvkAdapter::queryDeviceFeatures() {
|
||||||
m_deviceFeatures = DxvkDeviceFeatures();
|
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;
|
m_deviceFeatures.core.pNext = nullptr;
|
||||||
|
|
||||||
if (m_deviceExtensions.supports(VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME)) {
|
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_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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ namespace dxvk {
|
|||||||
* so before using them, check whether they are supported.
|
* so before using them, check whether they are supported.
|
||||||
*/
|
*/
|
||||||
struct DxvkDeviceInfo {
|
struct DxvkDeviceInfo {
|
||||||
VkPhysicalDeviceProperties2KHR core;
|
VkPhysicalDeviceProperties2 core;
|
||||||
VkPhysicalDeviceIDProperties coreDeviceId;
|
VkPhysicalDeviceIDProperties coreDeviceId;
|
||||||
VkPhysicalDeviceSubgroupProperties coreSubgroup;
|
VkPhysicalDeviceSubgroupProperties coreSubgroup;
|
||||||
VkPhysicalDeviceTransformFeedbackPropertiesEXT extTransformFeedback;
|
VkPhysicalDeviceTransformFeedbackPropertiesEXT extTransformFeedback;
|
||||||
@ -31,7 +31,7 @@ namespace dxvk {
|
|||||||
* extended features will be marked as unsupported.
|
* extended features will be marked as unsupported.
|
||||||
*/
|
*/
|
||||||
struct DxvkDeviceFeatures {
|
struct DxvkDeviceFeatures {
|
||||||
VkPhysicalDeviceFeatures2KHR core;
|
VkPhysicalDeviceFeatures2 core;
|
||||||
VkPhysicalDeviceConditionalRenderingFeaturesEXT extConditionalRendering;
|
VkPhysicalDeviceConditionalRenderingFeaturesEXT extConditionalRendering;
|
||||||
VkPhysicalDeviceDepthClipEnableFeaturesEXT extDepthClipEnable;
|
VkPhysicalDeviceDepthClipEnableFeaturesEXT extDepthClipEnable;
|
||||||
VkPhysicalDeviceHostQueryResetFeaturesEXT extHostQueryReset;
|
VkPhysicalDeviceHostQueryResetFeaturesEXT extHostQueryReset;
|
||||||
|
@ -293,7 +293,6 @@ namespace dxvk {
|
|||||||
* used by DXVK if supported by the implementation.
|
* used by DXVK if supported by the implementation.
|
||||||
*/
|
*/
|
||||||
struct DxvkInstanceExtensions {
|
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 khrGetSurfaceCapabilities2 = { VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
DxvkExt khrSurface = { VK_KHR_SURFACE_EXTENSION_NAME, DxvkExtMode::Required };
|
DxvkExt khrSurface = { VK_KHR_SURFACE_EXTENSION_NAME, DxvkExtMode::Required };
|
||||||
};
|
};
|
||||||
|
@ -87,8 +87,7 @@ namespace dxvk {
|
|||||||
VkInstance DxvkInstance::createInstance() {
|
VkInstance DxvkInstance::createInstance() {
|
||||||
DxvkInstanceExtensions insExtensions;
|
DxvkInstanceExtensions insExtensions;
|
||||||
|
|
||||||
std::array<DxvkExt*, 3> insExtensionList = {{
|
std::array<DxvkExt*, 2> insExtensionList = {{
|
||||||
&insExtensions.khrGetPhysicalDeviceProperties2,
|
|
||||||
&insExtensions.khrGetSurfaceCapabilities2,
|
&insExtensions.khrGetSurfaceCapabilities2,
|
||||||
&insExtensions.khrSurface,
|
&insExtensions.khrSurface,
|
||||||
}};
|
}};
|
||||||
|
@ -82,22 +82,19 @@ namespace dxvk::vk {
|
|||||||
VULKAN_FN(vkEnumerateDeviceExtensionProperties);
|
VULKAN_FN(vkEnumerateDeviceExtensionProperties);
|
||||||
VULKAN_FN(vkEnumeratePhysicalDevices);
|
VULKAN_FN(vkEnumeratePhysicalDevices);
|
||||||
VULKAN_FN(vkGetPhysicalDeviceFeatures);
|
VULKAN_FN(vkGetPhysicalDeviceFeatures);
|
||||||
|
VULKAN_FN(vkGetPhysicalDeviceFeatures2);
|
||||||
VULKAN_FN(vkGetPhysicalDeviceFormatProperties);
|
VULKAN_FN(vkGetPhysicalDeviceFormatProperties);
|
||||||
|
VULKAN_FN(vkGetPhysicalDeviceFormatProperties2);
|
||||||
|
VULKAN_FN(vkGetPhysicalDeviceProperties2);
|
||||||
VULKAN_FN(vkGetPhysicalDeviceImageFormatProperties);
|
VULKAN_FN(vkGetPhysicalDeviceImageFormatProperties);
|
||||||
|
VULKAN_FN(vkGetPhysicalDeviceImageFormatProperties2);
|
||||||
VULKAN_FN(vkGetPhysicalDeviceMemoryProperties);
|
VULKAN_FN(vkGetPhysicalDeviceMemoryProperties);
|
||||||
|
VULKAN_FN(vkGetPhysicalDeviceMemoryProperties2);
|
||||||
VULKAN_FN(vkGetPhysicalDeviceProperties);
|
VULKAN_FN(vkGetPhysicalDeviceProperties);
|
||||||
VULKAN_FN(vkGetPhysicalDeviceQueueFamilyProperties);
|
VULKAN_FN(vkGetPhysicalDeviceQueueFamilyProperties);
|
||||||
|
VULKAN_FN(vkGetPhysicalDeviceQueueFamilyProperties2);
|
||||||
VULKAN_FN(vkGetPhysicalDeviceSparseImageFormatProperties);
|
VULKAN_FN(vkGetPhysicalDeviceSparseImageFormatProperties);
|
||||||
|
VULKAN_FN(vkGetPhysicalDeviceSparseImageFormatProperties2);
|
||||||
#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
|
|
||||||
|
|
||||||
#ifdef VK_KHR_get_surface_capabilities2
|
#ifdef VK_KHR_get_surface_capabilities2
|
||||||
VULKAN_FN(vkGetPhysicalDeviceSurfaceCapabilities2KHR);
|
VULKAN_FN(vkGetPhysicalDeviceSurfaceCapabilities2KHR);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user