@@ -304,7 +304,9 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
304304 // VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT graphicsPipelineLibraryProperties = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT };
305305 VkPhysicalDeviceFragmentDensityMap2PropertiesEXT fragmentDensityMap2Properties = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT };
306306 VkPhysicalDeviceRayTracingPipelinePropertiesKHR rayTracingPipelineProperties = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR };
307+ #if 0 // TODO
307308 VkPhysicalDeviceCooperativeMatrixPropertiesKHR cooperativeMatrixProperties = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR };
309+ #endif
308310 VkPhysicalDeviceShaderSMBuiltinsPropertiesNV shaderSMBuiltinsPropertiesNV = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV };
309311 VkPhysicalDeviceShaderCoreProperties2AMD shaderCoreProperties2AMD = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD };
310312 // ! Because Renderdoc is special and instead of ignoring extensions it whitelists them
@@ -329,8 +331,10 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
329331 addToPNextChain (&fragmentDensityMap2Properties);
330332 if (isExtensionSupported (VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME))
331333 addToPNextChain (&rayTracingPipelineProperties);
334+ #if 0 // TODO
332335 if (isExtensionSupported(VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME))
333336 addToPNextChain(&cooperativeMatrixProperties);
337+ #endif
334338 if (isExtensionSupported (VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME))
335339 addToPNextChain (&shaderSMBuiltinsPropertiesNV);
336340 if (isExtensionSupported (VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME))
@@ -604,9 +608,11 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
604608 properties.limits .shaderGroupHandleAlignment = rayTracingPipelineProperties.shaderGroupHandleAlignment ;
605609 properties.limits .maxRayHitAttributeSize = rayTracingPipelineProperties.maxRayHitAttributeSize ;
606610 }
607-
611+ # if 0 //TODO
608612 if (isExtensionSupported(VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME))
609613 properties.limits.cooperativeMatrixSupportedStages = static_cast<asset::IShader::E_SHADER_STAGE>(cooperativeMatrixProperties.cooperativeMatrixSupportedStages);
614+ #endif
615+
610616
611617 // ! Nabla
612618 if (isExtensionSupported (VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME))
@@ -701,7 +707,9 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
701707 VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM rasterizationOrderAttachmentAccessFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM };
702708 VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR rayTracingPositionFetchFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR };
703709 VkPhysicalDeviceColorWriteEnableFeaturesEXT colorWriteEnableFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT };
710+ #if 0
704711 VkPhysicalDeviceCooperativeMatrixFeaturesKHR cooperativeMatrixFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR };
712+ #endif
705713 if (isExtensionSupported (VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME))
706714 addToPNextChain (&conditionalRenderingFeatures);
707715 if (isExtensionSupported (VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME))
@@ -895,11 +903,9 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
895903 if (!vulkan12Features.shaderUniformTexelBufferArrayDynamicIndexing || !vulkan12Features.shaderStorageTexelBufferArrayDynamicIndexing )
896904 return nullptr ;
897905 // not uniform at all
898- properties.limits .shaderUniformBufferArrayNonUniformIndexing = vulkan12Features.shaderUniformBufferArrayNonUniformIndexing ;
899- if (!vulkan12Features.shaderSampledImageArrayNonUniformIndexing || !vulkan12Features.shaderStorageBufferArrayNonUniformIndexing || !vulkan12Features.shaderStorageImageArrayNonUniformIndexing )
906+ if (!vulkan12Features.shaderUniformBufferArrayNonUniformIndexing || !vulkan12Features.shaderSampledImageArrayNonUniformIndexing || !vulkan12Features.shaderStorageBufferArrayNonUniformIndexing || !vulkan12Features.shaderStorageImageArrayNonUniformIndexing )
900907 return nullptr ;
901- properties.limits .shaderInputAttachmentArrayNonUniformIndexing = vulkan12Features.shaderInputAttachmentArrayNonUniformIndexing ;
902- if (!vulkan12Features.shaderUniformTexelBufferArrayNonUniformIndexing || !vulkan12Features.shaderStorageTexelBufferArrayNonUniformIndexing )
908+ if (!vulkan12Features.shaderInputAttachmentArrayNonUniformIndexing || !vulkan12Features.shaderUniformTexelBufferArrayNonUniformIndexing || !vulkan12Features.shaderStorageTexelBufferArrayNonUniformIndexing )
903909 return nullptr ;
904910 // update after bind
905911 properties.limits .descriptorBindingUniformBufferUpdateAfterBind = vulkan12Features.descriptorBindingUniformBufferUpdateAfterBind ;
@@ -972,8 +978,8 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
972978
973979 properties.limits .shaderZeroInitializeWorkgroupMemory = vulkan13Features.shaderZeroInitializeWorkgroupMemory ;
974980
975- if (!vulkan13Features. dynamicRendering )
976- return nullptr ;
981+ // not checking dynamicRendering
982+
977983 if (!vulkan13Features.shaderIntegerDotProduct )
978984 return nullptr ;
979985 if (!vulkan13Features.maintenance4 )
@@ -1120,9 +1126,11 @@ std::unique_ptr<CVulkanPhysicalDevice> CVulkanPhysicalDevice::create(core::smart
11201126 features.rasterizationOrderDepthAttachmentAccess = rasterizationOrderAttachmentAccessFeatures.rasterizationOrderDepthAttachmentAccess ;
11211127 features.rasterizationOrderStencilAttachmentAccess = rasterizationOrderAttachmentAccessFeatures.rasterizationOrderStencilAttachmentAccess ;
11221128 }
1123-
1129+ # if 0
11241130 if (isExtensionSupported(VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME))
11251131 features.cooperativeMatrixRobustBufferAccess = cooperativeMatrixFeatures.cooperativeMatrixRobustBufferAccess;
1132+ #endif
1133+
11261134
11271135 /* Vulkan Extensions Features as Limits */
11281136 if (isExtensionSupported (VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME))
@@ -1567,9 +1575,10 @@ core::smart_refctd_ptr<ILogicalDevice> CVulkanPhysicalDevice::createLogicalDevic
15671575
15681576 VkPhysicalDeviceColorWriteEnableFeaturesEXT colorWriteEnableFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,nullptr };
15691577 enableExtensionIfAvailable (VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME,&colorWriteEnableFeatures);
1570-
1578+ # if 0
15711579 VkPhysicalDeviceCooperativeMatrixFeaturesKHR cooperativeMatrixFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,nullptr };
15721580 REQUIRE_EXTENSION_IF(enabledFeatures.cooperativeMatrixRobustBufferAccess,VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME,&cooperativeMatrixFeatures);
1581+ #endif
15731582
15741583 #undef REQUIRE_EXTENSION_IF
15751584
@@ -1812,9 +1821,10 @@ core::smart_refctd_ptr<ILogicalDevice> CVulkanPhysicalDevice::createLogicalDevic
18121821 rasterizationOrderAttachmentAccessFeatures.rasterizationOrderStencilAttachmentAccess = enabledFeatures.rasterizationOrderStencilAttachmentAccess ;
18131822
18141823 // colorWriteEnableFeatures [LIMIT SO ENABLE EVERYTHING BY DEFAULT]
1815-
1824+ # if 0
18161825 cooperativeMatrixFeatures.cooperativeMatrix = true;
18171826 cooperativeMatrixFeatures.cooperativeMatrixRobustBufferAccess = enabledFeatures.cooperativeMatrixRobustBufferAccess;
1827+ #endif
18181828
18191829 // convert a set into a vector
18201830 core::vector<const char *> extensionStrings (extensionsToEnable.size ());
0 commit comments