@@ -705,6 +705,7 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
705705 VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR };
706706 VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR raytracingMaintenance1Features = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR };
707707 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 };
708709 VkPhysicalDeviceColorWriteEnableFeaturesEXT colorWriteEnableFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT };
709710#if 0
710711 VkPhysicalDeviceCooperativeMatrixFeaturesKHR cooperativeMatrixFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR };
@@ -768,6 +769,8 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
768769 addToPNextChain (&workgroupMemoryExplicitLayout);
769770 if (isExtensionSupported (VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME))
770771 addToPNextChain (&rasterizationOrderAttachmentAccessFeatures);
772+ if (isExtensionSupported (VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME))
773+ addToPNextChain (&rayTracingPositionFetchFeatures);
771774 if (isExtensionSupported (VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME))
772775 addToPNextChain (&colorWriteEnableFeatures);
773776 // call
@@ -1062,8 +1065,6 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
10621065
10631066 features.rayQuery = isExtensionSupported (VK_KHR_RAY_QUERY_EXTENSION_NAME) && isExtensionSupported (VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME);
10641067
1065- features.rayTracingPositionFetch = isExtensionSupported (VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME);
1066-
10671068 if (isExtensionSupported (VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME))
10681069 features.representativeFragmentTest = representativeFragmentTestFeatures.representativeFragmentTest ;
10691070
@@ -1198,6 +1199,9 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
11981199 properties.limits .workgroupMemoryExplicitLayout16BitAccess = workgroupMemoryExplicitLayout.workgroupMemoryExplicitLayout16BitAccess ;
11991200 }
12001201
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+
12011205 if (isExtensionSupported (VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME))
12021206 properties.limits .colorWriteEnable = colorWriteEnableFeatures.colorWriteEnable ;
12031207#if 0 //TODO
@@ -1465,9 +1469,6 @@ core::smart_refctd_ptr<ILogicalDevice> CVulkanPhysicalDevice::createLogicalDevic
14651469 VkPhysicalDeviceRayQueryFeaturesKHR rayQueryFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,nullptr };
14661470 REQUIRE_EXTENSION_IF (enabledFeatures.rayQuery ,VK_KHR_RAY_QUERY_EXTENSION_NAME,&rayQueryFeatures); // feature dependency taken care of
14671471
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-
14711472 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV shaderSMBuiltinsFeaturesNV = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,nullptr };
14721473 enableExtensionIfAvailable (VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME,&shaderSMBuiltinsFeaturesNV);
14731474
0 commit comments