diff options
Diffstat (limited to 'tools/gfx/vulkan/vk-device.cpp')
| -rw-r--r-- | tools/gfx/vulkan/vk-device.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/gfx/vulkan/vk-device.cpp b/tools/gfx/vulkan/vk-device.cpp index 55c1a88ec..4f2899f1b 100644 --- a/tools/gfx/vulkan/vk-device.cpp +++ b/tools/gfx/vulkan/vk-device.cpp @@ -487,6 +487,14 @@ Result DeviceImpl::initVulkanInstanceAndDevice( extendedFeatures.meshShaderFeatures.pNext = deviceFeatures2.pNext; deviceFeatures2.pNext = &extendedFeatures.meshShaderFeatures; + // multiview features + extendedFeatures.multiviewFeatures.pNext = deviceFeatures2.pNext; + deviceFeatures2.pNext = &extendedFeatures.multiviewFeatures; + + // fragment shading rate features + extendedFeatures.fragmentShadingRateFeatures.pNext = deviceFeatures2.pNext; + deviceFeatures2.pNext = &extendedFeatures.fragmentShadingRateFeatures; + if (VK_MAKE_VERSION(majorVersion, minorVersion, 0) >= VK_API_VERSION_1_2) { extendedFeatures.vulkan12Features.pNext = deviceFeatures2.pNext; @@ -625,6 +633,20 @@ Result DeviceImpl::initVulkanInstanceAndDevice( ); SIMPLE_EXTENSION_FEATURE( + extendedFeatures.multiviewFeatures, + multiview, + VK_KHR_MULTIVIEW_EXTENSION_NAME, + "multiview" + ); + + SIMPLE_EXTENSION_FEATURE( + extendedFeatures.fragmentShadingRateFeatures, + primitiveFragmentShadingRate, + VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, + "fragment-shading-rate" + ); + + SIMPLE_EXTENSION_FEATURE( extendedFeatures.rayTracingInvocationReorderFeatures, rayTracingInvocationReorder, VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME, @@ -659,10 +681,12 @@ Result DeviceImpl::initVulkanInstanceAndDevice( VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR }; VkPhysicalDeviceSubgroupProperties subgroupProps = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES }; + rtProps.pNext = extendedProps.pNext; extendedProps.pNext = &rtProps; subgroupProps.pNext = extendedProps.pNext; extendedProps.pNext = &subgroupProps; + m_api.vkGetPhysicalDeviceProperties2(m_api.m_physicalDevice, &extendedProps); m_api.m_rtProperties = rtProps; |
