Skip to content

Commit 88df185

Browse files
authored
Fix erroneous extension_features initialization
Differential Revision: D66118505 Pull Request resolved: #6936
1 parent 4086509 commit 88df185

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

backends/vulkan/runtime/vk_api/Device.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

backends/vulkan/runtime/vk_api/Device.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ struct PhysicalDevice final {
2626
VkPhysicalDeviceProperties properties;
2727
VkPhysicalDeviceMemoryProperties memory_properties;
2828

29-
// Head of the linked list of extensions to be requested
30-
void* extension_features;
31-
3229
// Additional features available from extensions
3330
#ifdef VK_KHR_16bit_storage
3431
VkPhysicalDevice16BitStorageFeatures shader_16bit_storage;
@@ -40,6 +37,9 @@ struct PhysicalDevice final {
4037
VkPhysicalDeviceShaderFloat16Int8Features shader_float16_int8_types;
4138
#endif /* VK_KHR_shader_float16_int8 */
4239

40+
// Head of the linked list of extensions to be requested
41+
void* extension_features;
42+
4343
// Available GPU queues
4444
std::vector<VkQueueFamilyProperties> queue_families;
4545

0 commit comments

Comments
 (0)