The open source OpenXR runtime
0
fork

Configure Feed

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

st/oxr: Return extension structs strings

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

authored by

Jakob Bornecrantz and committed by
Korcan Hussein
0d28e141 ff51f743

+50 -10
+50 -10
src/xrt/state_trackers/oxr/oxr_api_instance.c
··· 1 1 // Copyright 2018-2019, Collabora, Ltd. 2 + // Copyright 2025, NVIDIA CORPORATION. 2 3 // SPDX-License-Identifier: BSL-1.0 3 4 /*! 4 5 * @file ··· 256 257 struct oxr_logger log; 257 258 OXR_VERIFY_INSTANCE_AND_INIT_LOG(&log, instance, inst, "xrResultToString"); 258 259 259 - #define MAKE_RESULT_CASE(VAL, _) \ 260 - case VAL: snprintf(buffer, XR_MAX_RESULT_STRING_SIZE, #VAL); break; 260 + // clang-format off 261 + #define MAKE_RESULT_CASE(VAL, _) case VAL: snprintf(buffer, XR_MAX_RESULT_STRING_SIZE, #VAL); break; 262 + #define EXT_RESULT(VAL) if (value == VAL) { snprintf(buffer, XR_MAX_RESULT_STRING_SIZE, #VAL); } else 263 + // clang-format on 261 264 262 265 switch (value) { 263 266 XR_LIST_ENUM_XrResult(MAKE_RESULT_CASE); 264 267 default: 265 - snprintf(buffer, XR_MAX_RESULT_STRING_SIZE, "XR_UNKNOWN_%s_%d", value < 0 ? "FAILURE" : "SUCCESS", 266 - value); 268 + // Magic comment to make clang-format happy. 269 + { 270 + snprintf(buffer, XR_MAX_RESULT_STRING_SIZE, "XR_UNKNOWN_%s_%d", 271 + value < 0 ? "FAILURE" : "SUCCESS", value); 272 + } 267 273 } 274 + 268 275 // The function snprintf always null terminates. 276 + #undef MAKE_RESULT_CASE 277 + #undef EXT_RESULT 269 278 270 279 return XR_SUCCESS; 271 280 } ··· 282 291 static_assert(XR_MAX_STRUCTURE_NAME_SIZE == 64, 283 292 "XR_MAX_STRUCTURE_NAME_SIZE has changed, please update the format string"); 284 293 285 - #define MAKE_TYPE_CASE(VAL, _) \ 286 - case VAL: snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE, "%.63s", #VAL); break; 294 + // clang-format off 295 + #define MAKE_TYPE_CASE(VAL, _) case VAL: snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE, "%.63s", #VAL); break; 296 + #define EXT_TYPE(VAL) if (value == VAL) { snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE, "%.63s", #VAL); } else 297 + // clang-format on 287 298 288 299 switch (value) { 289 300 XR_LIST_ENUM_XrStructureType(MAKE_TYPE_CASE); 290 - default: snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE, "XR_UNKNOWN_STRUCTURE_TYPE_%d", value); 301 + default: 302 + #ifdef OXR_HAVE_MNDX_xdev_space 303 + EXT_TYPE(XR_TYPE_SYSTEM_XDEV_SPACE_PROPERTIES_MNDX) 304 + EXT_TYPE(XR_TYPE_CREATE_XDEV_LIST_INFO_MNDX) 305 + EXT_TYPE(XR_TYPE_GET_XDEV_INFO_MNDX) 306 + EXT_TYPE(XR_TYPE_XDEV_PROPERTIES_MNDX) 307 + EXT_TYPE(XR_TYPE_CREATE_XDEV_SPACE_INFO_MNDX) 308 + #endif 309 + { 310 + snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE, "XR_UNKNOWN_STRUCTURE_TYPE_%d", value); 311 + } 291 312 } 313 + 292 314 // The function snprintf always null terminates. 293 315 #undef MAKE_TYPE_CASE 316 + #undef EXT_TYPE 317 + 294 318 return XR_SUCCESS; 295 319 } 296 320 ··· 311 335 static_assert(XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR == 256, 312 336 "XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR has changed, please update the format string"); 313 337 314 - #define MAKE_TYPE_CASE(VAL, _) \ 315 - case VAL: snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR, "%.255s", #VAL); break; 338 + // clang-format off 339 + #define MAKE_TYPE_CASE(VAL, _) case VAL: snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR, "%.255s", #VAL); break; 340 + #define EXT_TYPE(VAL) if (value == VAL) { snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR, "%.255s", #VAL); } else 341 + // clang-format on 316 342 317 343 switch (value) { 318 344 XR_LIST_ENUM_XrStructureType(MAKE_TYPE_CASE); 319 - default: snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR, "XR_UNKNOWN_STRUCTURE_TYPE_%d", value); 345 + default: 346 + #ifdef OXR_HAVE_MNDX_xdev_space 347 + EXT_TYPE(XR_TYPE_SYSTEM_XDEV_SPACE_PROPERTIES_MNDX) 348 + EXT_TYPE(XR_TYPE_CREATE_XDEV_LIST_INFO_MNDX) 349 + EXT_TYPE(XR_TYPE_GET_XDEV_INFO_MNDX) 350 + EXT_TYPE(XR_TYPE_XDEV_PROPERTIES_MNDX) 351 + EXT_TYPE(XR_TYPE_CREATE_XDEV_SPACE_INFO_MNDX) 352 + #endif 353 + { 354 + snprintf(buffer, XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR, "XR_UNKNOWN_STRUCTURE_TYPE_%d", 355 + value); 356 + } 320 357 } 358 + 321 359 // The function snprintf always null terminates. 322 360 #undef MAKE_TYPE_CASE 361 + #undef EXT_TYPE 362 + 323 363 return XR_SUCCESS; 324 364 } 325 365 #endif // OXR_HAVE_KHR_extended_struct_name_lengths