diff options
Diffstat (limited to 'layers/vk_layer_utils.cpp')
| -rw-r--r-- | layers/vk_layer_utils.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/layers/vk_layer_utils.cpp b/layers/vk_layer_utils.cpp index a96c97e6..568d3b0c 100644 --- a/layers/vk_layer_utils.cpp +++ b/layers/vk_layer_utils.cpp @@ -25,8 +25,10 @@ */ #include <string.h> +#include <string> #include "vulkan/vulkan.h" #include "vk_layer_utils.h" +#include "vk_enum_string_helper.h" typedef struct _VULKAN_FORMAT_INFO { size_t size; @@ -575,3 +577,24 @@ unsigned int vk_format_get_channel_count(VkFormat format) { return vk_format_table[format].channel_count; } + +// Print readable FlagBits in FlagMask +std::string string_VkAccessFlags(VkAccessFlags accessMask) +{ + std::string result; + std::string separator; + + if (accessMask == 0) { + result = "[None]"; + } else { + result = "["; + for (auto i = 0; i < 32; i++) { + if (accessMask & (1 << i)) { + result = result + separator + string_VkAccessFlagBits((VkAccessFlagBits)(1 << i)); + separator = " | "; + } + } + result = result + "]"; + } + return result; +} |
