mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-13 19:29:14 +01:00
[dxvk] Enable hostQueryReset device feature if available
This commit is contained in:
parent
9dd9f0ab22
commit
3d53f318fd
@ -1375,6 +1375,7 @@ namespace dxvk {
|
||||
enabled.core.features.shaderCullDistance = VK_TRUE;
|
||||
enabled.core.features.textureCompressionBC = VK_TRUE;
|
||||
enabled.extDepthClipEnable.depthClipEnable = supported.extDepthClipEnable.depthClipEnable;
|
||||
enabled.extHostQueryReset.hostQueryReset = supported.extHostQueryReset.hostQueryReset;
|
||||
}
|
||||
|
||||
if (featureLevel >= D3D_FEATURE_LEVEL_9_2) {
|
||||
|
@ -217,6 +217,8 @@ namespace dxvk {
|
||||
|| !required.core.features.inheritedQueries)
|
||||
&& (m_deviceFeatures.extDepthClipEnable.depthClipEnable
|
||||
|| !required.extDepthClipEnable.depthClipEnable)
|
||||
&& (m_deviceFeatures.extHostQueryReset.hostQueryReset
|
||||
|| !required.extHostQueryReset.hostQueryReset)
|
||||
&& (m_deviceFeatures.extMemoryPriority.memoryPriority
|
||||
|| !required.extMemoryPriority.memoryPriority)
|
||||
&& (m_deviceFeatures.extTransformFeedback.transformFeedback
|
||||
@ -281,6 +283,12 @@ namespace dxvk {
|
||||
enabledFeatures.core.pNext = &enabledFeatures.extDepthClipEnable;
|
||||
}
|
||||
|
||||
if (devExtensions.extHostQueryReset) {
|
||||
enabledFeatures.extHostQueryReset.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT;
|
||||
enabledFeatures.extHostQueryReset.pNext = enabledFeatures.core.pNext;
|
||||
enabledFeatures.core.pNext = &enabledFeatures.extHostQueryReset;
|
||||
}
|
||||
|
||||
if (devExtensions.extMemoryPriority) {
|
||||
enabledFeatures.extMemoryPriority.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT;
|
||||
enabledFeatures.extMemoryPriority.pNext = enabledFeatures.core.pNext;
|
||||
@ -484,6 +492,11 @@ namespace dxvk {
|
||||
m_deviceFeatures.extDepthClipEnable.pNext = std::exchange(m_deviceFeatures.core.pNext, &m_deviceFeatures.extDepthClipEnable);
|
||||
}
|
||||
|
||||
if (m_deviceExtensions.supports(VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME)) {
|
||||
m_deviceFeatures.extHostQueryReset.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT;
|
||||
m_deviceFeatures.extHostQueryReset.pNext = std::exchange(m_deviceFeatures.core.pNext, &m_deviceFeatures.extHostQueryReset);
|
||||
}
|
||||
|
||||
if (m_deviceExtensions.supports(VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME)) {
|
||||
m_deviceFeatures.extMemoryPriority.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT;
|
||||
m_deviceFeatures.extMemoryPriority.pNext = std::exchange(m_deviceFeatures.core.pNext, &m_deviceFeatures.extMemoryPriority);
|
||||
|
@ -32,6 +32,7 @@ namespace dxvk {
|
||||
struct DxvkDeviceFeatures {
|
||||
VkPhysicalDeviceFeatures2KHR core;
|
||||
VkPhysicalDeviceDepthClipEnableFeaturesEXT extDepthClipEnable;
|
||||
VkPhysicalDeviceHostQueryResetFeaturesEXT extHostQueryReset;
|
||||
VkPhysicalDeviceMemoryPriorityFeaturesEXT extMemoryPriority;
|
||||
VkPhysicalDeviceTransformFeedbackFeaturesEXT extTransformFeedback;
|
||||
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT extVertexAttributeDivisor;
|
||||
|
Loading…
x
Reference in New Issue
Block a user