aboutsummaryrefslogtreecommitdiff
path: root/layers/vk_layer_utils.cpp
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2016-01-05 11:32:53 -0700
committerMark Lobodzinski <mark@lunarg.com>2016-01-05 13:06:54 -0700
commit8d5998e0a6ddf24c5e5997e9bcbdeccb50926df9 (patch)
tree8d463daf58aed425c466b774eb5744f84cc0ddda /layers/vk_layer_utils.cpp
parent2c46e9dfa4ed9cb47932da713de155601705463e (diff)
downloadusermoji-8d5998e0a6ddf24c5e5997e9bcbdeccb50926df9.tar.xz
layers: LX255, Print readable version of VkAccessFlags
Also update related validation messages to indicate src/dest accessMask
Diffstat (limited to 'layers/vk_layer_utils.cpp')
-rw-r--r--layers/vk_layer_utils.cpp23
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;
+}