The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

a/vk: Expose storage_buffer_8bit_access device feature

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2397>

authored by

Jakob Bornecrantz and committed by
Marge Bot
d0859799 76055f64

+37
+35
src/xrt/auxiliary/vk/vk_bundle_init.c
··· 1 1 // Copyright 2019-2024, Collabora, Ltd. 2 + // Copyright 2024-2025, NVIDIA CORPORATION. 2 3 // SPDX-License-Identifier: BSL-1.0 3 4 /*! 4 5 * @file ··· 1033 1034 }; 1034 1035 #endif 1035 1036 1037 + #ifdef VK_KHR_8bit_storage 1038 + VkPhysicalDevice8BitStorageFeaturesKHR storage_8bit = { 1039 + .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, 1040 + .pNext = NULL, 1041 + }; 1042 + #endif 1043 + 1036 1044 #ifdef VK_KHR_timeline_semaphore 1037 1045 VkPhysicalDeviceTimelineSemaphoreFeaturesKHR timeline_semaphore_info = { 1038 1046 .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR, ··· 1066 1074 } 1067 1075 #endif 1068 1076 1077 + #ifdef VK_KHR_8bit_storage 1078 + if (vk->has_KHR_8bit_storage) { 1079 + append_to_pnext_chain((VkBaseInStructure *)&physical_device_features, 1080 + (VkBaseInStructure *)&storage_8bit); 1081 + } 1082 + #endif 1083 + 1069 1084 #ifdef VK_KHR_timeline_semaphore 1070 1085 if (vk->has_KHR_timeline_semaphore) { 1071 1086 append_to_pnext_chain((VkBaseInStructure *)&physical_device_features, ··· 1102 1117 CHECK(null_descriptor, robust_info.nullDescriptor); 1103 1118 #endif 1104 1119 1120 + #ifdef VK_KHR_8bit_storage 1121 + CHECK(storage_buffer_8bit_access, storage_8bit.storageBuffer8BitAccess); 1122 + #endif 1123 + 1105 1124 #ifdef VK_KHR_timeline_semaphore 1106 1125 CHECK(timeline_semaphore, timeline_semaphore_info.timelineSemaphore); 1107 1126 #endif ··· 1128 1147 "\n\tnull_descriptor: %i" 1129 1148 "\n\tshader_image_gather_extended: %i" 1130 1149 "\n\tshader_storage_image_write_without_format: %i" 1150 + "\n\tstorage_buffer_8bit_access: %i" 1131 1151 "\n\tsynchronization_2: %i" 1132 1152 "\n\ttimeline_semaphore: %i", // 1133 1153 device_features->ext_fmt_resolve, // 1134 1154 device_features->null_descriptor, // 1135 1155 device_features->shader_image_gather_extended, // 1136 1156 device_features->shader_storage_image_write_without_format, // 1157 + device_features->storage_buffer_8bit_access, // 1137 1158 device_features->synchronization_2, // 1138 1159 device_features->timeline_semaphore); // 1139 1160 } ··· 1264 1285 }; 1265 1286 #endif 1266 1287 1288 + #ifdef VK_KHR_8bit_storage 1289 + VkPhysicalDevice8BitStorageFeaturesKHR storage_8bit = { 1290 + .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR, 1291 + .pNext = NULL, 1292 + .storageBuffer8BitAccess = device_features.storage_buffer_8bit_access, 1293 + }; 1294 + #endif 1295 + 1267 1296 #ifdef VK_KHR_timeline_semaphore 1268 1297 VkPhysicalDeviceTimelineSemaphoreFeaturesKHR timeline_semaphore_info = { 1269 1298 .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR, ··· 1305 1334 #ifdef VK_EXT_robustness2 1306 1335 if (vk->has_EXT_robustness2) { 1307 1336 append_to_pnext_chain((VkBaseInStructure *)&device_create_info, (VkBaseInStructure *)&robust_info); 1337 + } 1338 + #endif 1339 + 1340 + #ifdef VK_KHR_8bit_storage 1341 + if (vk->has_KHR_8bit_storage) { 1342 + append_to_pnext_chain((VkBaseInStructure *)&device_create_info, (VkBaseInStructure *)&storage_8bit); 1308 1343 } 1309 1344 #endif 1310 1345
+2
src/xrt/auxiliary/vk/vk_helpers.h
··· 1 1 // Copyright 2019-2024, Collabora, Ltd. 2 + // Copyright 2024-2025, NVIDIA CORPORATION. 2 3 // SPDX-License-Identifier: BSL-1.0 3 4 /*! 4 5 * @file ··· 1000 1001 bool timeline_semaphore; 1001 1002 bool synchronization_2; 1002 1003 bool ext_fmt_resolve; 1004 + bool storage_buffer_8bit_access; 1003 1005 }; 1004 1006 1005 1007 /*!