mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-19 05:52:11 +01:00
[dxvk] Enable VK_KHR_depth_stencil_resolve if available
This commit is contained in:
parent
d127c08487
commit
2f15cb7602
@ -245,7 +245,7 @@ namespace dxvk {
|
|||||||
Rc<DxvkDevice> DxvkAdapter::createDevice(std::string clientApi, DxvkDeviceFeatures enabledFeatures) {
|
Rc<DxvkDevice> DxvkAdapter::createDevice(std::string clientApi, DxvkDeviceFeatures enabledFeatures) {
|
||||||
DxvkDeviceExtensions devExtensions;
|
DxvkDeviceExtensions devExtensions;
|
||||||
|
|
||||||
std::array<DxvkExt*, 24> devExtensionList = {{
|
std::array<DxvkExt*, 25> devExtensionList = {{
|
||||||
&devExtensions.amdMemoryOverallocationBehaviour,
|
&devExtensions.amdMemoryOverallocationBehaviour,
|
||||||
&devExtensions.amdShaderFragmentMask,
|
&devExtensions.amdShaderFragmentMask,
|
||||||
&devExtensions.extConditionalRendering,
|
&devExtensions.extConditionalRendering,
|
||||||
@ -260,6 +260,7 @@ namespace dxvk {
|
|||||||
&devExtensions.extVertexAttributeDivisor,
|
&devExtensions.extVertexAttributeDivisor,
|
||||||
&devExtensions.khrCreateRenderPass2,
|
&devExtensions.khrCreateRenderPass2,
|
||||||
&devExtensions.khrDedicatedAllocation,
|
&devExtensions.khrDedicatedAllocation,
|
||||||
|
&devExtensions.khrDepthStencilResolve,
|
||||||
&devExtensions.khrDescriptorUpdateTemplate,
|
&devExtensions.khrDescriptorUpdateTemplate,
|
||||||
&devExtensions.khrDrawIndirectCount,
|
&devExtensions.khrDrawIndirectCount,
|
||||||
&devExtensions.khrDriverProperties,
|
&devExtensions.khrDriverProperties,
|
||||||
@ -498,6 +499,11 @@ namespace dxvk {
|
|||||||
m_deviceInfo.extVertexAttributeDivisor.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.extVertexAttributeDivisor);
|
m_deviceInfo.extVertexAttributeDivisor.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.extVertexAttributeDivisor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_deviceExtensions.supports(VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME)) {
|
||||||
|
m_deviceInfo.khrDepthStencilResolve.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR;
|
||||||
|
m_deviceInfo.khrDepthStencilResolve.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.khrDepthStencilResolve);
|
||||||
|
}
|
||||||
|
|
||||||
if (m_deviceExtensions.supports(VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME)) {
|
if (m_deviceExtensions.supports(VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME)) {
|
||||||
m_deviceInfo.khrDeviceDriverProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR;
|
m_deviceInfo.khrDeviceDriverProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR;
|
||||||
m_deviceInfo.khrDeviceDriverProperties.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.khrDeviceDriverProperties);
|
m_deviceInfo.khrDeviceDriverProperties.pNext = std::exchange(m_deviceInfo.core.pNext, &m_deviceInfo.khrDeviceDriverProperties);
|
||||||
|
@ -18,6 +18,7 @@ namespace dxvk {
|
|||||||
VkPhysicalDeviceSubgroupProperties coreSubgroup;
|
VkPhysicalDeviceSubgroupProperties coreSubgroup;
|
||||||
VkPhysicalDeviceTransformFeedbackPropertiesEXT extTransformFeedback;
|
VkPhysicalDeviceTransformFeedbackPropertiesEXT extTransformFeedback;
|
||||||
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT extVertexAttributeDivisor;
|
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT extVertexAttributeDivisor;
|
||||||
|
VkPhysicalDeviceDepthStencilResolvePropertiesKHR khrDepthStencilResolve;
|
||||||
VkPhysicalDeviceDriverPropertiesKHR khrDeviceDriverProperties;
|
VkPhysicalDeviceDriverPropertiesKHR khrDeviceDriverProperties;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -272,6 +272,7 @@ namespace dxvk {
|
|||||||
DxvkExt extVertexAttributeDivisor = { VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, DxvkExtMode::Optional };
|
DxvkExt extVertexAttributeDivisor = { VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
DxvkExt khrCreateRenderPass2 = { VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME, DxvkExtMode::Optional };
|
DxvkExt khrCreateRenderPass2 = { VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
DxvkExt khrDedicatedAllocation = { VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME, DxvkExtMode::Required };
|
DxvkExt khrDedicatedAllocation = { VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME, DxvkExtMode::Required };
|
||||||
|
DxvkExt khrDepthStencilResolve = { VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
DxvkExt khrDescriptorUpdateTemplate = { VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME, DxvkExtMode::Required };
|
DxvkExt khrDescriptorUpdateTemplate = { VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME, DxvkExtMode::Required };
|
||||||
DxvkExt khrDrawIndirectCount = { VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME, DxvkExtMode::Optional };
|
DxvkExt khrDrawIndirectCount = { VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
DxvkExt khrDriverProperties = { VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, DxvkExtMode::Optional };
|
DxvkExt khrDriverProperties = { VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, DxvkExtMode::Optional };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user