@@ -123,6 +123,12 @@ VkDevice create_logical_device(
123123 defined (ETVK_INSPECT_PIPELINES)
124124 VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME,
125125#endif /* VK_KHR_pipeline_executable_properties && ETVK_INSPECT_PIPELINES */
126+ #ifdef VK_KHR_cooperative_matrix
127+ VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME,
128+ #endif /* VK_KHR_cooperative_matrix */
129+ #ifdef VK_NV_cooperative_matrix2
130+ VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME,
131+ #endif /* VK_NV_cooperative_matrix2 */
126132 };
127133
128134 std::vector<const char *> enabled_device_extensions;
@@ -179,6 +185,20 @@ VkDevice create_logical_device(
179185 extension_list_top = &shader_int_dot_product_features;
180186#endif /* VK_KHR_shader_integer_dot_product */
181187
188+ #ifdef VK_KHR_cooperative_matrix
189+ VkPhysicalDeviceCooperativeMatrixFeaturesKHR cooperative_matrix_features{
190+ physical_device.cooperative_matrix_features };
191+ cooperative_matrix_features.pNext = extension_list_top;
192+ extension_list_top = &cooperative_matrix_features;
193+ #endif /* VK_KHR_cooperative_matrix */
194+
195+ #ifdef VK_NV_cooperative_matrix2
196+ VkPhysicalDeviceCooperativeMatrix2FeaturesNV cooperative_matrix2_features{
197+ physical_device.cooperative_matrix2_features };
198+ cooperative_matrix2_features.pNext = extension_list_top;
199+ extension_list_top = &cooperative_matrix2_features;
200+ #endif /* VK_NV_cooperative_matrix2 */
201+
182202 device_create_info.pNext = extension_list_top;
183203
184204 VkDevice handle = nullptr ;
@@ -275,7 +295,7 @@ Adapter::Adapter(
275295 const uint32_t num_queues,
276296 const std::string& cache_data_path)
277297 : queue_usage_mutex_{},
278- physical_device_ (physical_device),
298+ physical_device_ (instance, physical_device),
279299 queues_{},
280300 queue_usage_{},
281301 queue_mutexes_{},
@@ -365,6 +385,10 @@ void Adapter::submit_cmd(
365385 VK_CHECK (vkQueueSubmit (device_queue.handle , 1u , &submit_info, fence));
366386}
367387
388+ void Adapter::override_device_name (const std::string& new_name) {
389+ physical_device_.override_device_name (new_name);
390+ }
391+
368392std::string Adapter::stringize () const {
369393 std::stringstream ss;
370394
0 commit comments