@@ -23,11 +23,8 @@ PhysicalDevice::PhysicalDevice(VkPhysicalDevice physical_device_handle)
2323 properties{},
2424 memory_properties{},
2525#ifdef VK_KHR_16bit_storage
26- extension_features (&shader_16bit_storage),
2726 shader_16bit_storage{
2827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES},
29- #else
30- extension_features{nullptr },
3128#endif /* VK_KHR_16bit_storage */
3229#ifdef VK_KHR_8bit_storage
3330 shader_8bit_storage{
@@ -37,6 +34,7 @@ PhysicalDevice::PhysicalDevice(VkPhysicalDevice physical_device_handle)
3734 shader_float16_int8_types{
3835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR},
3936#endif /* VK_KHR_shader_float16_int8 */
37+ extension_features{nullptr },
4038 queue_families{},
4139 num_compute_queues (0 ),
4240 supports_int16_shader_types (false ),
@@ -53,10 +51,13 @@ PhysicalDevice::PhysicalDevice(VkPhysicalDevice physical_device_handle)
5351 // Create linked list to query availability of extensions
5452
5553#ifdef VK_KHR_16bit_storage
54+ extension_features = &shader_16bit_storage;
5655 features2.pNext = &shader_16bit_storage;
5756#elif defined(VK_KHR_8bit_storage)
57+ extension_features = &shader_8bit_storage;
5858 features2.pNext = &shader_8bit_storage;
5959#elif defined(VK_KHR_shader_float16_int8)
60+ extension_features = &shader_float16_int8_types;
6061 features2.pNext = &shader_float16_int8_types;
6162#endif /* VK_KHR_16bit_storage */
6263
0 commit comments