The open source OpenXR runtime
0
fork

Configure Feed

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

a/vk: Add flag bits string functions

+116
+95
src/xrt/auxiliary/vk/vk_helpers.c
··· 497 497 } 498 498 499 499 XRT_CHECK_RESULT const char * 500 + vk_image_usage_flag_string(VkImageUsageFlagBits bits, bool null_on_unknown) 501 + { 502 + switch (bits) { 503 + ENUM_TO_STR(VK_IMAGE_USAGE_TRANSFER_SRC_BIT); 504 + ENUM_TO_STR(VK_IMAGE_USAGE_TRANSFER_DST_BIT); 505 + ENUM_TO_STR(VK_IMAGE_USAGE_SAMPLED_BIT); 506 + ENUM_TO_STR(VK_IMAGE_USAGE_STORAGE_BIT); 507 + ENUM_TO_STR(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT); 508 + ENUM_TO_STR(VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT); 509 + ENUM_TO_STR(VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT); 510 + ENUM_TO_STR(VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT); 511 + #ifdef VK_KHR_video_decode_queue 512 + ENUM_TO_STR(VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR); 513 + ENUM_TO_STR(VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR); 514 + ENUM_TO_STR(VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR); 515 + #endif 516 + #ifdef VK_EXT_fragment_density_map 517 + ENUM_TO_STR(VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT); 518 + #endif 519 + #ifdef VK_KHR_fragment_shading_rate 520 + ENUM_TO_STR(VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR); 521 + #endif 522 + #ifdef VK_EXT_host_image_copy 523 + ENUM_TO_STR(VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT); 524 + #endif 525 + #ifdef VK_EXT_attachment_feedback_loop_layout 526 + ENUM_TO_STR(VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT); 527 + #endif 528 + #ifdef VK_HUAWEI_invocation_mask 529 + ENUM_TO_STR(VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI); 530 + #endif 531 + #ifdef VK_QCOM_image_processing 532 + ENUM_TO_STR(VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM); 533 + #endif 534 + #ifdef VK_QCOM_image_processing 535 + ENUM_TO_STR(VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM); 536 + #endif 537 + #if defined(VK_NV_shading_rate_image) && !defined(VK_KHR_fragment_shading_rate) 538 + ENUM_TO_STR(VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV); 539 + #endif 540 + default: 541 + if (bits == 0) { 542 + return "IMAGE USAGE: NO BITS SET"; 543 + } else if (bits & (bits - 1)) { 544 + return "IMAGE USAGE: MULTIPLE BITS SET"; 545 + } else { 546 + return null_on_unknown ? NULL : "IMAGE USAGE: UNKNOWN BIT"; 547 + } 548 + } 549 + } 550 + 551 + XRT_CHECK_RESULT const char * 552 + vk_composite_alpha_flag_string(VkCompositeAlphaFlagBitsKHR bits, bool null_on_unknown) 553 + { 554 + switch (bits) { 555 + ENUM_TO_STR(VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR); 556 + ENUM_TO_STR(VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR); 557 + ENUM_TO_STR(VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR); 558 + ENUM_TO_STR(VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR); 559 + default: 560 + if (bits == 0) { 561 + return "COMPOSITE ALPHA: NO BITS SET"; 562 + } else if (bits & (bits - 1)) { 563 + return "COMPOSITE ALPHA: MULTIPLE BITS SET"; 564 + } else { 565 + return null_on_unknown ? NULL : "COMPOSITE ALPHA: UNKNOWN BIT"; 566 + } 567 + } 568 + } 569 + 570 + XRT_CHECK_RESULT const char * 571 + vk_surface_transform_flag_string(VkSurfaceTransformFlagBitsKHR bits, bool null_on_unknown) 572 + { 573 + switch (bits) { 574 + ENUM_TO_STR(VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR); 575 + ENUM_TO_STR(VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR); 576 + ENUM_TO_STR(VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR); 577 + ENUM_TO_STR(VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR); 578 + ENUM_TO_STR(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR); 579 + ENUM_TO_STR(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR); 580 + ENUM_TO_STR(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR); 581 + ENUM_TO_STR(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR); 582 + ENUM_TO_STR(VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR); 583 + default: 584 + if (bits == 0) { 585 + return "SURFACE TRANSFORM: NO BITS SET"; 586 + } else if (bits & (bits - 1)) { 587 + return "SURFACE TRANSFORM: MULTIPLE BITS SET"; 588 + } else { 589 + return null_on_unknown ? NULL : "SURFACE TRANSFORM: UNKNOWN BIT"; 590 + } 591 + } 592 + } 593 + 594 + XRT_CHECK_RESULT const char * 500 595 xrt_swapchain_usage_string(enum xrt_swapchain_usage_bits code) 501 596 { 502 597 switch (code) {
+21
src/xrt/auxiliary/vk/vk_helpers.h
··· 464 464 XRT_CHECK_RESULT const char * 465 465 vk_format_feature_string(VkFormatFeatureFlagBits code); 466 466 467 + /*! 468 + * Returns the image usage flag if one valid bit is set, 469 + * if multiple bits are set, will return 'MULTIPLE BIT SET'. 470 + */ 471 + XRT_CHECK_RESULT const char * 472 + vk_image_usage_flag_string(VkImageUsageFlagBits bits, bool null_on_unknown); 473 + 474 + /*! 475 + * Returns the composite alpha flag if one valid bit is set, 476 + * if multiple bits are set, will return 'MULTIPLE BIT SET'. 477 + */ 478 + XRT_CHECK_RESULT const char * 479 + vk_composite_alpha_flag_string(VkCompositeAlphaFlagBitsKHR bits, bool null_on_unknown); 480 + 481 + /*! 482 + * Returns the surface transform flag if one valid bit is set, 483 + * if multiple bits are set, will return 'MULTIPLE BIT SET'. 484 + */ 485 + XRT_CHECK_RESULT const char * 486 + vk_surface_transform_flag_string(VkSurfaceTransformFlagBitsKHR bits, bool null_on_unknown); 487 + 467 488 XRT_CHECK_RESULT const char * 468 489 xrt_swapchain_usage_string(enum xrt_swapchain_usage_bits code); 469 490