@@ -1315,17 +1315,21 @@ bool Context::create_device(VkPhysicalDevice gpu_, VkSurfaceKHR surface,
1315
1315
ADD_CHAIN (ext.storage_8bit_features , 8BIT_STORAGE_FEATURES_KHR);
1316
1316
enabled_extensions.push_back (VK_KHR_8BIT_STORAGE_EXTENSION_NAME);
1317
1317
}
1318
+ }
1318
1319
1320
+ if (ext.device_api_core_version >= VK_API_VERSION_1_3)
1321
+ {
1322
+ ADD_CHAIN (ext.vk13_features , VULKAN_1_3_FEATURES);
1323
+ }
1324
+ else
1325
+ {
1319
1326
if (has_extension (VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME))
1320
1327
{
1321
1328
ADD_CHAIN (ext.subgroup_size_control_features , SUBGROUP_SIZE_CONTROL_FEATURES_EXT);
1322
1329
enabled_extensions.push_back (VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME);
1323
1330
}
1324
1331
}
1325
1332
1326
- if (ext.device_api_core_version >= VK_API_VERSION_1_3)
1327
- ADD_CHAIN (ext.vk13_features , VULKAN_1_3_FEATURES);
1328
-
1329
1333
if (has_extension (VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME))
1330
1334
{
1331
1335
enabled_extensions.push_back (VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME);
@@ -1618,14 +1622,14 @@ bool Context::create_device(VkPhysicalDevice gpu_, VkSurfaceKHR surface,
1618
1622
{
1619
1623
if (has_extension (VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME))
1620
1624
ADD_CHAIN (driver_properties, DRIVER_PROPERTIES);
1621
- if (has_extension (VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME))
1622
- ADD_CHAIN (size_control_props, SUBGROUP_SIZE_CONTROL_PROPERTIES);
1623
1625
ADD_CHAIN (id_properties, ID_PROPERTIES);
1624
1626
ADD_CHAIN (subgroup_properties, SUBGROUP_PROPERTIES);
1625
1627
}
1626
1628
1627
1629
if (ext.device_api_core_version >= VK_API_VERSION_1_3)
1628
1630
ADD_CHAIN (ext.vk13_props , VULKAN_1_3_PROPERTIES);
1631
+ else if (has_extension (VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME))
1632
+ ADD_CHAIN (size_control_props, SUBGROUP_SIZE_CONTROL_PROPERTIES);
1629
1633
1630
1634
if (ext.supports_external_memory_host )
1631
1635
ADD_CHAIN (ext.host_memory_properties , EXTERNAL_MEMORY_HOST_PROPERTIES_EXT);
0 commit comments