The open source OpenXR runtime
0
fork

Configure Feed

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

a/vk: Improve old flag bits string functions

Make old flag bits string functions like the new ones.

+39 -10
+2 -2
src/xrt/auxiliary/vk/vk_compositor_flags.c
··· 44 44 { 45 45 if ((format_features & flag) == 0) { 46 46 U_LOG_E("vk_csci_get_image_usage_flags: %s requested but %s not supported for format %s (%08x) (%08x)", 47 - xrt_swapchain_usage_string(usage), vk_format_feature_string(flag), vk_format_string(format), 48 - format_features, flag); 47 + xrt_swapchain_usage_flag_string(usage, false), vk_format_feature_flag_string(flag, false), 48 + vk_format_string(format), format_features, flag); 49 49 return false; 50 50 } 51 51 return true;
+20 -6
src/xrt/auxiliary/vk/vk_helpers.c
··· 483 483 } 484 484 485 485 XRT_CHECK_RESULT const char * 486 - vk_format_feature_string(VkFormatFeatureFlagBits code) 486 + vk_format_feature_flag_string(VkFormatFeatureFlagBits bits, bool null_on_unknown) 487 487 { 488 - switch (code) { 488 + switch (bits) { 489 489 ENUM_TO_STR(VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT); 490 490 ENUM_TO_STR(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT); 491 491 ENUM_TO_STR(VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT); 492 492 ENUM_TO_STR(VK_FORMAT_FEATURE_TRANSFER_SRC_BIT); 493 493 ENUM_TO_STR(VK_FORMAT_FEATURE_TRANSFER_DST_BIT); 494 494 ENUM_TO_STR(VK_FORMAT_R5G6B5_UNORM_PACK16); 495 - default: return "UNKNOWN FORMAT FEATURE"; 495 + default: 496 + if (bits == 0) { 497 + return "FORMAT FEATURE: NO BITS SET"; 498 + } else if (bits & (bits - 1)) { 499 + return "FORMAT FEATURE: MULTIPLE BITS SET"; 500 + } else { 501 + return null_on_unknown ? NULL : "FORMAT FEATURE: UNKNOWN BIT"; 502 + } 496 503 } 497 504 } 498 505 ··· 592 599 } 593 600 594 601 XRT_CHECK_RESULT const char * 595 - xrt_swapchain_usage_string(enum xrt_swapchain_usage_bits code) 602 + xrt_swapchain_usage_flag_string(enum xrt_swapchain_usage_bits bits, bool null_on_unknown) 596 603 { 597 - switch (code) { 604 + switch (bits) { 598 605 ENUM_TO_STR(XRT_SWAPCHAIN_USAGE_COLOR); 599 606 ENUM_TO_STR(XRT_SWAPCHAIN_USAGE_DEPTH_STENCIL); 600 607 ENUM_TO_STR(XRT_SWAPCHAIN_USAGE_UNORDERED_ACCESS); ··· 603 610 ENUM_TO_STR(XRT_SWAPCHAIN_USAGE_SAMPLED); 604 611 ENUM_TO_STR(XRT_SWAPCHAIN_USAGE_MUTABLE_FORMAT); 605 612 ENUM_TO_STR(XRT_SWAPCHAIN_USAGE_INPUT_ATTACHMENT); 606 - default: return "UNKNOWN SWAPCHAIN USAGE"; 613 + default: 614 + if (bits == 0) { 615 + return "XRT SWAPCHAIN USAGE: NO BITS SET"; 616 + } else if (bits & (bits - 1)) { 617 + return "XRT SWAPCHAIN USAGE: MULTIPLE BITS SET"; 618 + } else { 619 + return null_on_unknown ? NULL : "XRT SWAPCHAIN USAGE: UNKNOWN BIT"; 620 + } 607 621 } 608 622 } 609 623
+17 -2
src/xrt/auxiliary/vk/vk_helpers.h
··· 461 461 XRT_CHECK_RESULT const char * 462 462 vk_power_state_string(VkDisplayPowerStateEXT code); 463 463 464 + 465 + /* 466 + * 467 + * Flag bits string functions. 468 + * 469 + */ 470 + 471 + /*! 472 + * Returns the format feature flag if one valid bit is set, 473 + * if multiple bits are set, will return 'MULTIPLE BIT SET'. 474 + */ 464 475 XRT_CHECK_RESULT const char * 465 - vk_format_feature_string(VkFormatFeatureFlagBits code); 476 + vk_format_feature_flag_string(VkFormatFeatureFlagBits bits, bool null_on_unknown); 466 477 467 478 /*! 468 479 * Returns the image usage flag if one valid bit is set, ··· 485 496 XRT_CHECK_RESULT const char * 486 497 vk_surface_transform_flag_string(VkSurfaceTransformFlagBitsKHR bits, bool null_on_unknown); 487 498 499 + /*! 500 + * Returns xrt swapchain_usage flag if one valid bit is set, 501 + * if multiple bits are set, will return 'MULTIPLE BIT SET'. 502 + */ 488 503 XRT_CHECK_RESULT const char * 489 - xrt_swapchain_usage_string(enum xrt_swapchain_usage_bits code); 504 + xrt_swapchain_usage_flag_string(enum xrt_swapchain_usage_bits bits, bool null_on_unknown); 490 505 491 506 492 507 /*