@@ -705,6 +705,7 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
705
705
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR };
706
706
VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR raytracingMaintenance1Features = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR };
707
707
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM rasterizationOrderAttachmentAccessFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM };
708
+ VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR rayTracingPositionFetchFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR };
708
709
VkPhysicalDeviceColorWriteEnableFeaturesEXT colorWriteEnableFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT };
709
710
#if 0
710
711
VkPhysicalDeviceCooperativeMatrixFeaturesKHR cooperativeMatrixFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR };
@@ -768,6 +769,8 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
768
769
addToPNextChain (&workgroupMemoryExplicitLayout);
769
770
if (isExtensionSupported (VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME))
770
771
addToPNextChain (&rasterizationOrderAttachmentAccessFeatures);
772
+ if (isExtensionSupported (VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME))
773
+ addToPNextChain (&rayTracingPositionFetchFeatures);
771
774
if (isExtensionSupported (VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME))
772
775
addToPNextChain (&colorWriteEnableFeatures);
773
776
// call
@@ -1062,8 +1065,6 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
1062
1065
1063
1066
features.rayQuery = isExtensionSupported (VK_KHR_RAY_QUERY_EXTENSION_NAME) && isExtensionSupported (VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME);
1064
1067
1065
- features.rayTracingPositionFetch = isExtensionSupported (VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME);
1066
-
1067
1068
if (isExtensionSupported (VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME))
1068
1069
features.representativeFragmentTest = representativeFragmentTestFeatures.representativeFragmentTest ;
1069
1070
@@ -1198,6 +1199,9 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
1198
1199
properties.limits .workgroupMemoryExplicitLayout16BitAccess = workgroupMemoryExplicitLayout.workgroupMemoryExplicitLayout16BitAccess ;
1199
1200
}
1200
1201
1202
+ if (isExtensionSupported (VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME) && isExtensionSupported (VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME))
1203
+ properties.limits .rayTracingPositionFetch = rayTracingPositionFetchFeatures.rayTracingPositionFetch ;
1204
+
1201
1205
if (isExtensionSupported (VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME))
1202
1206
properties.limits .colorWriteEnable = colorWriteEnableFeatures.colorWriteEnable ;
1203
1207
#if 0 //TODO
@@ -1465,9 +1469,6 @@ core::smart_refctd_ptr<ILogicalDevice> CVulkanPhysicalDevice::createLogicalDevic
1465
1469
VkPhysicalDeviceRayQueryFeaturesKHR rayQueryFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,nullptr };
1466
1470
REQUIRE_EXTENSION_IF (enabledFeatures.rayQuery ,VK_KHR_RAY_QUERY_EXTENSION_NAME,&rayQueryFeatures); // feature dependency taken care of
1467
1471
1468
- VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR rayTracingPositionFetchFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR,nullptr };
1469
- REQUIRE_EXTENSION_IF (enabledFeatures.rayTracingPositionFetch , VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME, &rayTracingPositionFetchFeatures); // feature dependency taken care of
1470
-
1471
1472
VkPhysicalDeviceShaderSMBuiltinsFeaturesNV shaderSMBuiltinsFeaturesNV = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,nullptr };
1472
1473
enableExtensionIfAvailable (VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME,&shaderSMBuiltinsFeaturesNV);
1473
1474
0 commit comments