summaryrefslogtreecommitdiffstats
path: root/tools/gfx/vulkan/vk-device.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gfx/vulkan/vk-device.cpp')
-rw-r--r--tools/gfx/vulkan/vk-device.cpp24
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;