bug 14965: Merge VK_MEMORY_INPUT/OUTPUT flags to better express write-after-wite hazards (WIP)

s/VkMemoryOutputFlags/VkAccessFlags/g
s/VkMemoryInputFlags/VkAccessFlags/g
s/outputMask/srcAccessMask/g
s/inputMask/dstAccessMask/g
s/VK_MEMORY_OUTPUT_HOST_WRITE_BIT/VK_ACCESS_HOST_WRITE_BIT/g
s/VK_MEMORY_OUTPUT_SHADER_WRITE_BIT/VK_ACCESS_SHADER_WRITE_BIT/g
s/VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT/VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT/g
s/VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT/VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT/g
s/VK_MEMORY_OUTPUT_TRANSFER_BIT/VK_ACCESS_TRANSFER_WRITE_BIT/g
s/VK_MEMORY_INPUT_HOST_READ_BIT/VK_ACCESS_HOST_READ_BIT/g
s/VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT/VK_ACCESS_INDIRECT_COMMAND_READ_BIT/g
s/VK_MEMORY_INPUT_INDEX_FETCH_BIT/VK_ACCESS_INDEX_READ_BIT/g
s/VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT/VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT/g
s/VK_MEMORY_INPUT_UNIFORM_READ_BIT/VK_ACCESS_UNIFORM_READ_BIT/g
s/VK_MEMORY_INPUT_SHADER_READ_BIT/VK_ACCESS_SHADER_READ_BIT/g
s/VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT/VK_ACCESS_COLOR_ATTACHMENT_READ_BIT/g
s/VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT/VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT/g
s/VK_MEMORY_INPUT_INPUT_ATTACHMENT_BIT/VK_ACCESS_INPUT_ATTACHMENT_READ_BIT/g
s/VK_MEMORY_INPUT_TRANSFER_BIT/VK_ACCESS_MEMORY_READ_BIT/g

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14965
diff --git a/include/vulkan.h b/include/vulkan.h
index 79ee9d4..efedb8c 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -982,27 +982,25 @@
 typedef VkFlags VkPipelineStageFlags;
 
 typedef enum {
-    VK_MEMORY_OUTPUT_HOST_WRITE_BIT = 0x00000001,
-    VK_MEMORY_OUTPUT_SHADER_WRITE_BIT = 0x00000002,
-    VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT = 0x00000004,
-    VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000008,
-    VK_MEMORY_OUTPUT_TRANSFER_BIT = 0x00000010,
-} VkMemoryOutputFlagBits;
-typedef VkFlags VkMemoryOutputFlags;
-
-typedef enum {
-    VK_MEMORY_INPUT_HOST_READ_BIT = 0x00000001,
-    VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT = 0x00000002,
-    VK_MEMORY_INPUT_INDEX_FETCH_BIT = 0x00000004,
-    VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT = 0x00000008,
-    VK_MEMORY_INPUT_UNIFORM_READ_BIT = 0x00000010,
-    VK_MEMORY_INPUT_SHADER_READ_BIT = 0x00000020,
-    VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT = 0x00000040,
-    VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000080,
-    VK_MEMORY_INPUT_INPUT_ATTACHMENT_BIT = 0x00000100,
-    VK_MEMORY_INPUT_TRANSFER_BIT = 0x00000200,
-} VkMemoryInputFlagBits;
-typedef VkFlags VkMemoryInputFlags;
+    VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
+    VK_ACCESS_INDEX_READ_BIT = 0x00000002,
+    VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
+    VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
+    VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
+    VK_ACCESS_SHADER_READ_BIT = 0x00000020,
+    VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
+    VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
+    VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
+    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
+    VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
+    VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
+    VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
+    VK_ACCESS_HOST_READ_BIT = 0x00002000,
+    VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
+    VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
+    VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
+} VkAccessFlagBits;
+typedef VkFlags VkAccessFlags;
 
 typedef enum {
     VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
@@ -1959,8 +1957,8 @@
     uint32_t                                    dstSubpass;
     VkPipelineStageFlags                        srcStageMask;
     VkPipelineStageFlags                        dstStageMask;
-    VkMemoryOutputFlags                         outputMask;
-    VkMemoryInputFlags                          inputMask;
+    VkAccessFlags                               srcAccessMask;
+    VkAccessFlags                               dstAccessMask;
     VkDependencyFlags                           dependencyFlags;
 } VkSubpassDependency;
 
@@ -2088,8 +2086,8 @@
 typedef struct {
     VkStructureType                             sType;
     const void*                                 pNext;
-    VkMemoryOutputFlags                         outputMask;
-    VkMemoryInputFlags                          inputMask;
+    VkAccessFlags                               srcAccessMask;
+    VkAccessFlags                               dstAccessMask;
     uint32_t                                    srcQueueFamilyIndex;
     uint32_t                                    dstQueueFamilyIndex;
     VkBuffer                                    buffer;
@@ -2121,8 +2119,8 @@
 typedef struct {
     VkStructureType                             sType;
     const void*                                 pNext;
-    VkMemoryOutputFlags                         outputMask;
-    VkMemoryInputFlags                          inputMask;
+    VkAccessFlags                               srcAccessMask;
+    VkAccessFlags                               dstAccessMask;
     VkImageLayout                               oldLayout;
     VkImageLayout                               newLayout;
     uint32_t                                    srcQueueFamilyIndex;
@@ -2134,8 +2132,8 @@
 typedef struct {
     VkStructureType                             sType;
     const void*                                 pNext;
-    VkMemoryOutputFlags                         outputMask;
-    VkMemoryInputFlags                          inputMask;
+    VkAccessFlags                               srcAccessMask;
+    VkAccessFlags                               dstAccessMask;
 } VkMemoryBarrier;
 
 
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index 3b5bc72..ad1f2e8 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -1321,13 +1321,27 @@
 }
 
 static
-bool ValidateEnumerator(VkMemoryOutputFlagBits const& enumerator)
+bool ValidateEnumerator(VkAccessFlagBits const& enumerator)
 {
-    VkMemoryOutputFlagBits allFlags = (VkMemoryOutputFlagBits)(VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-        VK_MEMORY_OUTPUT_TRANSFER_BIT |
-        VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT |
-        VK_MEMORY_OUTPUT_SHADER_WRITE_BIT |
-        VK_MEMORY_OUTPUT_HOST_WRITE_BIT);
+    VkAccessFlagBits allFlags = (VkAccessFlagBits)(
+            VK_ACCESS_INDIRECT_COMMAND_READ_BIT |
+            VK_ACCESS_INDEX_READ_BIT |
+            VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT |
+            VK_ACCESS_UNIFORM_READ_BIT |
+            VK_ACCESS_INPUT_ATTACHMENT_READ_BIT |
+            VK_ACCESS_SHADER_READ_BIT |
+            VK_ACCESS_SHADER_WRITE_BIT |
+            VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
+            VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
+            VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
+            VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
+            VK_ACCESS_TRANSFER_READ_BIT |
+            VK_ACCESS_TRANSFER_WRITE_BIT |
+            VK_ACCESS_HOST_READ_BIT |
+            VK_ACCESS_HOST_WRITE_BIT |
+            VK_ACCESS_MEMORY_READ_BIT |
+            VK_ACCESS_MEMORY_WRITE_BIT);
+
     if(enumerator & (~allFlags))
     {
         return false;
@@ -1337,7 +1351,7 @@
 }
 
 static
-std::string EnumeratorString(VkMemoryOutputFlagBits const& enumerator)
+std::string EnumeratorString(VkAccessFlagBits const& enumerator)
 {
     if(!ValidateEnumerator(enumerator))
     {
@@ -1345,110 +1359,73 @@
     }
 
     std::vector<std::string> strings;
-    if(enumerator & VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT)
+    if(enumerator & VK_ACCESS_INDIRECT_COMMAND_READ_BIT)
     {
-        strings.push_back("VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT");
+        strings.push_back("VK_ACCESS_INDIRECT_COMMAND_READ_BIT");
     }
-    if(enumerator & VK_MEMORY_OUTPUT_TRANSFER_BIT)
+    if(enumerator & VK_ACCESS_INDEX_READ_BIT)
     {
-        strings.push_back("VK_MEMORY_OUTPUT_TRANSFER_BIT");
+        strings.push_back("VK_ACCESS_INDEX_READ_BIT");
     }
-    if(enumerator & VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT)
+    if(enumerator & VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT)
     {
-        strings.push_back("VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT");
+        strings.push_back("VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT");
     }
-    if(enumerator & VK_MEMORY_OUTPUT_SHADER_WRITE_BIT)
+    if(enumerator & VK_ACCESS_UNIFORM_READ_BIT)
     {
-        strings.push_back("VK_MEMORY_OUTPUT_SHADER_WRITE_BIT");
+        strings.push_back("VK_ACCESS_UNIFORM_READ_BIT");
     }
-    if(enumerator & VK_MEMORY_OUTPUT_HOST_WRITE_BIT)
+    if(enumerator & VK_ACCESS_INPUT_ATTACHMENT_READ_BIT)
     {
-        strings.push_back("VK_MEMORY_OUTPUT_HOST_WRITE_BIT");
+        strings.push_back("VK_ACCESS_INPUT_ATTACHMENT_READ_BIT");
     }
-
-    std::string enumeratorString;
-    for(auto const& string : strings)
+    if(enumerator & VK_ACCESS_SHADER_READ_BIT)
     {
-        enumeratorString += string;
-
-        if(string != strings.back())
-        {
-            enumeratorString += '|';
-        }
+        strings.push_back("VK_ACCESS_SHADER_READ_BIT");
     }
-
-    return enumeratorString;
-}
-
-static
-bool ValidateEnumerator(VkMemoryInputFlagBits const& enumerator)
-{
-    VkMemoryInputFlagBits allFlags = (VkMemoryInputFlagBits)(VK_MEMORY_INPUT_TRANSFER_BIT |
-        VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-        VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT |
-        VK_MEMORY_INPUT_SHADER_READ_BIT |
-        VK_MEMORY_INPUT_UNIFORM_READ_BIT |
-        VK_MEMORY_INPUT_INDEX_FETCH_BIT |
-        VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT |
-        VK_MEMORY_INPUT_INPUT_ATTACHMENT_BIT |
-        VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT |
-        VK_MEMORY_INPUT_HOST_READ_BIT);
-    if(enumerator & (~allFlags))
+    if(enumerator & VK_ACCESS_SHADER_WRITE_BIT)
     {
-        return false;
+        strings.push_back("VK_ACCESS_SHADER_WRITE_BIT");
     }
-
-    return true;
-}
-
-static
-std::string EnumeratorString(VkMemoryInputFlagBits const& enumerator)
-{
-    if(!ValidateEnumerator(enumerator))
+    if(enumerator & VK_ACCESS_COLOR_ATTACHMENT_READ_BIT)
     {
-        return "unrecognized enumerator";
+        strings.push_back("VK_ACCESS_COLOR_ATTACHMENT_READ_BIT");
     }
-
-    std::vector<std::string> strings;
-    if(enumerator & VK_MEMORY_INPUT_TRANSFER_BIT)
+    if(enumerator & VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT)
     {
-        strings.push_back("VK_MEMORY_INPUT_TRANSFER_BIT");
+        strings.push_back("VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT");
     }
-    if(enumerator & VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT)
+    if(enumerator & VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT)
     {
-        strings.push_back("VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT");
+        strings.push_back("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT");
     }
-    if(enumerator & VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT)
+    if(enumerator & VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT)
     {
-        strings.push_back("VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT");
+        strings.push_back("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT");
     }
-    if(enumerator & VK_MEMORY_INPUT_SHADER_READ_BIT)
+    if(enumerator & VK_ACCESS_TRANSFER_READ_BIT)
     {
-        strings.push_back("VK_MEMORY_INPUT_SHADER_READ_BIT");
+        strings.push_back("VK_ACCESS_TRANSFER_READ_BIT");
     }
-    if(enumerator & VK_MEMORY_INPUT_UNIFORM_READ_BIT)
+    if(enumerator & VK_ACCESS_TRANSFER_WRITE_BIT)
     {
-        strings.push_back("VK_MEMORY_INPUT_UNIFORM_READ_BIT");
+        strings.push_back("VK_ACCESS_TRANSFER_WRITE_BIT");
     }
-    if(enumerator & VK_MEMORY_INPUT_INDEX_FETCH_BIT)
+    if(enumerator & VK_ACCESS_HOST_READ_BIT)
     {
-        strings.push_back("VK_MEMORY_INPUT_INDEX_FETCH_BIT");
+        strings.push_back("VK_ACCESS_HOST_READ_BIT");
     }
-    if(enumerator & VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT)
+    if(enumerator & VK_ACCESS_HOST_WRITE_BIT)
     {
-        strings.push_back("VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT");
+        strings.push_back("VK_ACCESS_HOST_WRITE_BIT");
     }
-    if(enumerator & VK_MEMORY_INPUT_INPUT_ATTACHMENT_BIT)
+    if(enumerator & VK_ACCESS_MEMORY_READ_BIT)
     {
-        strings.push_back("VK_MEMORY_INPUT_INPUT_ATTACHMENT_BIT");
+        strings.push_back("VK_ACCESS_MEMORY_READ_BIT");
     }
-    if(enumerator & VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT)
+    if(enumerator & VK_ACCESS_MEMORY_WRITE_BIT)
     {
-        strings.push_back("VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT");
-    }
-    if(enumerator & VK_MEMORY_INPUT_HOST_READ_BIT)
-    {
-        strings.push_back("VK_MEMORY_INPUT_HOST_READ_BIT");
+        strings.push_back("VK_ACCESS_MEMORY_WRITE_BIT");
     }
 
     std::string enumeratorString;
diff --git a/tests/blit_tests.cpp b/tests/blit_tests.cpp
index 320e189..d2531b8 100644
--- a/tests/blit_tests.cpp
+++ b/tests/blit_tests.cpp
@@ -783,7 +783,7 @@
     vkCmdFillBuffer(cmd_.handle(), bufs[0].handle(), 0, 4, 0x11111111);
     // is this necessary?
     VkBufferMemoryBarrier memory_barrier = bufs[0].buffer_memory_barrier(
-            VK_MEMORY_OUTPUT_TRANSFER_BIT, VK_MEMORY_INPUT_TRANSFER_BIT, 0, 4);
+            VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_MEMORY_READ_BIT, 0, 4);
     VkBufferMemoryBarrier *pmemory_barrier = &memory_barrier;
 
     VkPipelineStageFlags src_stages = VK_PIPELINE_STAGE_TRANSFER_BIT | VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
@@ -795,7 +795,7 @@
     vkCmdCopyBuffer(cmd_.handle(), bufs[0].handle(), bufs[1].handle(), 1, &region);
 
     memory_barrier = bufs[1].buffer_memory_barrier(
-            VK_MEMORY_OUTPUT_TRANSFER_BIT, VK_MEMORY_INPUT_TRANSFER_BIT, 0, 4);
+            VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_MEMORY_READ_BIT, 0, 4);
     pmemory_barrier = &memory_barrier;
     vkCmdPipelineBarrier(cmd_.handle(), src_stages, dest_stages, 0, 1, (const void * const*)&pmemory_barrier);
 
@@ -809,7 +809,7 @@
     // Additional commands could go into the buffer here before the wait.
 
     memory_barrier = bufs[1].buffer_memory_barrier(
-            VK_MEMORY_OUTPUT_TRANSFER_BIT, VK_MEMORY_INPUT_HOST_READ_BIT, 0, 4);
+            VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, 0, 4);
     pmemory_barrier = &memory_barrier;
     vkCmdWaitEvents(cmd_.handle(), 1, &event, src_stages, dest_stages, 1, (const void **)&pmemory_barrier);
 
@@ -1195,21 +1195,21 @@
 
         img.init(dev_, img_info, image_reqs);
         const VkFlags all_cache_outputs =
-                VK_MEMORY_OUTPUT_HOST_WRITE_BIT |
-                VK_MEMORY_OUTPUT_SHADER_WRITE_BIT |
-                VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT |
-                VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-                VK_MEMORY_OUTPUT_TRANSFER_BIT;
+                VK_ACCESS_HOST_WRITE_BIT |
+                VK_ACCESS_SHADER_WRITE_BIT |
+                VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
+                VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
+                VK_ACCESS_TRANSFER_WRITE_BIT;
         const VkFlags all_cache_inputs =
-                VK_MEMORY_INPUT_HOST_READ_BIT |
-                VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT |
-                VK_MEMORY_INPUT_INDEX_FETCH_BIT |
-                VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT |
-                VK_MEMORY_INPUT_UNIFORM_READ_BIT |
-                VK_MEMORY_INPUT_SHADER_READ_BIT |
-                VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT |
-                VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-                VK_MEMORY_INPUT_TRANSFER_BIT;
+                VK_ACCESS_HOST_READ_BIT |
+                VK_ACCESS_INDIRECT_COMMAND_READ_BIT |
+                VK_ACCESS_INDEX_READ_BIT |
+                VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT |
+                VK_ACCESS_UNIFORM_READ_BIT |
+                VK_ACCESS_SHADER_READ_BIT |
+                VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
+                VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
+                VK_ACCESS_MEMORY_READ_BIT;
 
         std::vector<VkImageMemoryBarrier> to_clear;
         std::vector<VkImageMemoryBarrier *> p_to_clear;
@@ -1374,21 +1374,21 @@
 
         img.init(dev_, img_info, image_reqs);
         const VkFlags all_cache_outputs =
-                VK_MEMORY_OUTPUT_HOST_WRITE_BIT |
-                VK_MEMORY_OUTPUT_SHADER_WRITE_BIT |
-                VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT |
-                VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-                VK_MEMORY_OUTPUT_TRANSFER_BIT;
+                VK_ACCESS_HOST_WRITE_BIT |
+                VK_ACCESS_SHADER_WRITE_BIT |
+                VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
+                VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
+                VK_ACCESS_TRANSFER_WRITE_BIT;
         const VkFlags all_cache_inputs =
-                VK_MEMORY_INPUT_HOST_READ_BIT |
-                VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT |
-                VK_MEMORY_INPUT_INDEX_FETCH_BIT |
-                VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT |
-                VK_MEMORY_INPUT_UNIFORM_READ_BIT |
-                VK_MEMORY_INPUT_SHADER_READ_BIT |
-                VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT |
-                VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-                VK_MEMORY_INPUT_TRANSFER_BIT;
+                VK_ACCESS_HOST_READ_BIT |
+                VK_ACCESS_INDIRECT_COMMAND_READ_BIT |
+                VK_ACCESS_INDEX_READ_BIT |
+                VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT |
+                VK_ACCESS_UNIFORM_READ_BIT |
+                VK_ACCESS_SHADER_READ_BIT |
+                VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
+                VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
+                VK_ACCESS_MEMORY_READ_BIT;
 
         std::vector<VkImageMemoryBarrier> to_clear;
         std::vector<VkImageMemoryBarrier *> p_to_clear;
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 5046786..aeacc82 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -556,20 +556,20 @@
         VkCommandBufferObj *cmd_buf,
         VkImageAspectFlags aspect,
         VkFlags output_mask /*=
-            VK_MEMORY_OUTPUT_HOST_WRITE_BIT |
-            VK_MEMORY_OUTPUT_SHADER_WRITE_BIT |
-            VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT |
-            VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
+            VK_ACCESS_HOST_WRITE_BIT |
+            VK_ACCESS_SHADER_WRITE_BIT |
+            VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
+            VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
             VK_MEMORY_OUTPUT_COPY_BIT*/,
         VkFlags input_mask /*=
-            VK_MEMORY_INPUT_HOST_READ_BIT |
-            VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT |
-            VK_MEMORY_INPUT_INDEX_FETCH_BIT |
-            VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT |
-            VK_MEMORY_INPUT_UNIFORM_READ_BIT |
-            VK_MEMORY_INPUT_SHADER_READ_BIT |
-            VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT |
-            VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
+            VK_ACCESS_HOST_READ_BIT |
+            VK_ACCESS_INDIRECT_COMMAND_READ_BIT |
+            VK_ACCESS_INDEX_READ_BIT |
+            VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT |
+            VK_ACCESS_UNIFORM_READ_BIT |
+            VK_ACCESS_SHADER_READ_BIT |
+            VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
+            VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
             VK_MEMORY_INPUT_COPY_BIT*/,
         VkImageLayout image_layout)
 {
@@ -593,21 +593,21 @@
 {
     VkFlags output_mask, input_mask;
     const VkFlags all_cache_outputs =
-            VK_MEMORY_OUTPUT_HOST_WRITE_BIT |
-            VK_MEMORY_OUTPUT_SHADER_WRITE_BIT |
-            VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT |
-            VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-            VK_MEMORY_OUTPUT_TRANSFER_BIT;
+            VK_ACCESS_HOST_WRITE_BIT |
+            VK_ACCESS_SHADER_WRITE_BIT |
+            VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
+            VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
+            VK_ACCESS_TRANSFER_WRITE_BIT;
     const VkFlags all_cache_inputs =
-            VK_MEMORY_INPUT_HOST_READ_BIT |
-            VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT |
-            VK_MEMORY_INPUT_INDEX_FETCH_BIT |
-            VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT |
-            VK_MEMORY_INPUT_UNIFORM_READ_BIT |
-            VK_MEMORY_INPUT_SHADER_READ_BIT |
-            VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT |
-            VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-            VK_MEMORY_INPUT_TRANSFER_BIT;
+            VK_ACCESS_HOST_READ_BIT |
+            VK_ACCESS_INDIRECT_COMMAND_READ_BIT |
+            VK_ACCESS_INDEX_READ_BIT |
+            VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT |
+            VK_ACCESS_UNIFORM_READ_BIT |
+            VK_ACCESS_SHADER_READ_BIT |
+            VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
+            VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
+            VK_ACCESS_MEMORY_READ_BIT;
 
     if (image_layout == m_descriptorImageInfo.imageLayout) {
         return;
@@ -615,18 +615,18 @@
 
     switch (image_layout) {
     case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:
-        output_mask = VK_MEMORY_OUTPUT_TRANSFER_BIT;
-        input_mask = VK_MEMORY_INPUT_SHADER_READ_BIT | VK_MEMORY_INPUT_TRANSFER_BIT;
+        output_mask = VK_ACCESS_TRANSFER_WRITE_BIT;
+        input_mask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_MEMORY_READ_BIT;
         break;
 
     case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL:
-        output_mask = VK_MEMORY_OUTPUT_TRANSFER_BIT;
-        input_mask = VK_MEMORY_INPUT_SHADER_READ_BIT | VK_MEMORY_INPUT_TRANSFER_BIT;
+        output_mask = VK_ACCESS_TRANSFER_WRITE_BIT;
+        input_mask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_MEMORY_READ_BIT;
         break;
 
     case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
-        output_mask = VK_MEMORY_OUTPUT_TRANSFER_BIT;
-        input_mask = VK_MEMORY_INPUT_SHADER_READ_BIT | VK_MEMORY_INPUT_TRANSFER_BIT;
+        output_mask = VK_ACCESS_TRANSFER_WRITE_BIT;
+        input_mask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_MEMORY_READ_BIT;
         break;
 
     default:
@@ -922,21 +922,21 @@
 
 
 void VkConstantBufferObj::BufferMemoryBarrier(
-        VkFlags outputMask /*=
-            VK_MEMORY_OUTPUT_HOST_WRITE_BIT |
-            VK_MEMORY_OUTPUT_SHADER_WRITE_BIT |
-            VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT |
-            VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
+        VkFlags srcAccessMask /*=
+            VK_ACCESS_HOST_WRITE_BIT |
+            VK_ACCESS_SHADER_WRITE_BIT |
+            VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
+            VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
             VK_MEMORY_OUTPUT_COPY_BIT*/,
-        VkFlags inputMask /*=
-            VK_MEMORY_INPUT_HOST_READ_BIT |
-            VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT |
-            VK_MEMORY_INPUT_INDEX_FETCH_BIT |
-            VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT |
-            VK_MEMORY_INPUT_UNIFORM_READ_BIT |
-            VK_MEMORY_INPUT_SHADER_READ_BIT |
-            VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT |
-            VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
+        VkFlags dstAccessMask /*=
+            VK_ACCESS_HOST_READ_BIT |
+            VK_ACCESS_INDIRECT_COMMAND_READ_BIT |
+            VK_ACCESS_INDEX_READ_BIT |
+            VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT |
+            VK_ACCESS_UNIFORM_READ_BIT |
+            VK_ACCESS_SHADER_READ_BIT |
+            VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
+            VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
             VK_MEMORY_INPUT_COPY_BIT*/)
 {
     VkResult err = VK_SUCCESS;
@@ -970,7 +970,7 @@
     ASSERT_VK_SUCCESS(err);
 
     VkBufferMemoryBarrier memory_barrier =
-        buffer_memory_barrier(outputMask, inputMask, 0, m_numVertices * m_stride);
+        buffer_memory_barrier(srcAccessMask, dstAccessMask, 0, m_numVertices * m_stride);
     VkBufferMemoryBarrier *pmemory_barrier = &memory_barrier;
 
     VkPipelineStageFlags src_stages = VK_PIPELINE_STAGE_ALL_GPU_COMMANDS;
@@ -1362,11 +1362,11 @@
 {
     uint32_t i;
     const VkFlags output_mask =
-        VK_MEMORY_OUTPUT_HOST_WRITE_BIT |
-        VK_MEMORY_OUTPUT_SHADER_WRITE_BIT |
-        VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT |
-        VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-        VK_MEMORY_OUTPUT_TRANSFER_BIT;
+        VK_ACCESS_HOST_WRITE_BIT |
+        VK_ACCESS_SHADER_WRITE_BIT |
+        VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
+        VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
+        VK_ACCESS_TRANSFER_WRITE_BIT;
     const VkFlags input_mask = 0;
 
     // whatever we want to do, we do it to the whole buffer
@@ -1379,8 +1379,8 @@
 
     VkImageMemoryBarrier memory_barrier = {};
     memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
-    memory_barrier.outputMask = output_mask;
-    memory_barrier.inputMask = input_mask;
+    memory_barrier.srcAccessMask = output_mask;
+    memory_barrier.dstAccessMask = input_mask;
     memory_barrier.newLayout = VK_IMAGE_LAYOUT_GENERAL;
     memory_barrier.subresourceRange = srRange;
     VkImageMemoryBarrier *pmemory_barrier = &memory_barrier;
@@ -1460,21 +1460,21 @@
 {
     uint32_t i;
     const VkFlags output_mask =
-        VK_MEMORY_OUTPUT_HOST_WRITE_BIT |
-        VK_MEMORY_OUTPUT_SHADER_WRITE_BIT |
-        VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT |
-        VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-        VK_MEMORY_OUTPUT_TRANSFER_BIT;
+        VK_ACCESS_HOST_WRITE_BIT |
+        VK_ACCESS_SHADER_WRITE_BIT |
+        VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
+        VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
+        VK_ACCESS_TRANSFER_WRITE_BIT;
     const VkFlags input_mask =
-        VK_MEMORY_INPUT_HOST_READ_BIT |
-        VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT |
-        VK_MEMORY_INPUT_INDEX_FETCH_BIT |
-        VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT |
-        VK_MEMORY_INPUT_UNIFORM_READ_BIT |
-        VK_MEMORY_INPUT_SHADER_READ_BIT |
-        VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT |
-        VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-        VK_MEMORY_INPUT_TRANSFER_BIT;
+        VK_ACCESS_HOST_READ_BIT |
+        VK_ACCESS_INDIRECT_COMMAND_READ_BIT |
+        VK_ACCESS_INDEX_READ_BIT |
+        VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT |
+        VK_ACCESS_UNIFORM_READ_BIT |
+        VK_ACCESS_SHADER_READ_BIT |
+        VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
+        VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
+        VK_ACCESS_MEMORY_READ_BIT;
 
     VkImageSubresourceRange srRange = {};
     srRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
@@ -1485,8 +1485,8 @@
 
     VkImageMemoryBarrier memory_barrier = {};
     memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
-    memory_barrier.outputMask = output_mask;
-    memory_barrier.inputMask = input_mask;
+    memory_barrier.srcAccessMask = output_mask;
+    memory_barrier.dstAccessMask = input_mask;
     memory_barrier.newLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
     memory_barrier.subresourceRange = srRange;
     VkImageMemoryBarrier *pmemory_barrier = &memory_barrier;
diff --git a/tests/vkrenderframework.h b/tests/vkrenderframework.h
index bc3f45c..ee08ac9 100644
--- a/tests/vkrenderframework.h
+++ b/tests/vkrenderframework.h
@@ -214,22 +214,22 @@
     VkConstantBufferObj(VkDeviceObj *device, int constantCount, int constantSize, const void* data);
     ~VkConstantBufferObj();
     void BufferMemoryBarrier(
-        VkFlags outputMask =
-            VK_MEMORY_OUTPUT_HOST_WRITE_BIT |
-            VK_MEMORY_OUTPUT_SHADER_WRITE_BIT |
-            VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT |
-            VK_MEMORY_OUTPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-            VK_MEMORY_OUTPUT_TRANSFER_BIT,
-        VkFlags inputMask =
-            VK_MEMORY_INPUT_HOST_READ_BIT |
-            VK_MEMORY_INPUT_INDIRECT_COMMAND_BIT |
-            VK_MEMORY_INPUT_INDEX_FETCH_BIT |
-            VK_MEMORY_INPUT_VERTEX_ATTRIBUTE_FETCH_BIT |
-            VK_MEMORY_INPUT_UNIFORM_READ_BIT |
-            VK_MEMORY_INPUT_SHADER_READ_BIT |
-            VK_MEMORY_INPUT_COLOR_ATTACHMENT_BIT |
-            VK_MEMORY_INPUT_DEPTH_STENCIL_ATTACHMENT_BIT |
-            VK_MEMORY_INPUT_TRANSFER_BIT);
+        VkFlags srcAccessMask =
+            VK_ACCESS_HOST_WRITE_BIT |
+            VK_ACCESS_SHADER_WRITE_BIT |
+            VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
+            VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT |
+            VK_ACCESS_TRANSFER_WRITE_BIT,
+        VkFlags dstAccessMask =
+            VK_ACCESS_HOST_READ_BIT |
+            VK_ACCESS_INDIRECT_COMMAND_READ_BIT |
+            VK_ACCESS_INDEX_READ_BIT |
+            VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT |
+            VK_ACCESS_UNIFORM_READ_BIT |
+            VK_ACCESS_SHADER_READ_BIT |
+            VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
+            VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
+            VK_ACCESS_MEMORY_READ_BIT);
 
     void Bind(VkCommandBuffer commandBuffer, VkDeviceSize offset, uint32_t binding);
 
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index cc62079..0bb4293 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -346,8 +346,8 @@
         VkBufferMemoryBarrier barrier = {};
         barrier.sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
         barrier.buffer = handle();
-        barrier.outputMask = output_mask;
-        barrier.inputMask = input_mask;
+        barrier.srcAccessMask = output_mask;
+        barrier.dstAccessMask = input_mask;
         barrier.offset = offset;
         barrier.size = size;
         return barrier;
@@ -408,8 +408,8 @@
     {
         VkImageMemoryBarrier barrier = {};
         barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
-        barrier.outputMask = output_mask;
-        barrier.inputMask = input_mask;
+        barrier.srcAccessMask = output_mask;
+        barrier.dstAccessMask = input_mask;
         barrier.oldLayout = old_layout;
         barrier.newLayout = new_layout;
         barrier.image = handle();
diff --git a/tests/vktestframework.cpp b/tests/vktestframework.cpp
index edae4f4..c6c0b0b 100644
--- a/tests/vktestframework.cpp
+++ b/tests/vktestframework.cpp
@@ -544,8 +544,8 @@
     VkImageMemoryBarrier memoryBarrier = {};
     memoryBarrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
     memoryBarrier.pNext = NULL;
-    memoryBarrier.outputMask = VK_MEMORY_OUTPUT_COLOR_ATTACHMENT_BIT;
-    memoryBarrier.inputMask = 0;
+    memoryBarrier.srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
+    memoryBarrier.dstAccessMask = 0;
     memoryBarrier.oldLayout = VK_IMAGE_LAYOUT_PRESENT_SOURCE_KHR;
     memoryBarrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
     memoryBarrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
@@ -995,8 +995,8 @@
     VkImageMemoryBarrier image_memory_barrier = {};
     image_memory_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
     image_memory_barrier.pNext = NULL;
-    image_memory_barrier.outputMask = 0;
-    image_memory_barrier.inputMask = 0;
+    image_memory_barrier.srcAccessMask = 0;
+    image_memory_barrier.dstAccessMask = 0;
     image_memory_barrier.oldLayout = old_image_layout;
     image_memory_barrier.newLayout = new_image_layout;
     image_memory_barrier.image = image;
@@ -1008,12 +1008,12 @@
 
     if (new_image_layout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL) {
         /* Make sure anything that was copying from this image has completed */
-        image_memory_barrier.inputMask = VK_MEMORY_INPUT_TRANSFER_BIT;
+        image_memory_barrier.dstAccessMask = VK_ACCESS_MEMORY_READ_BIT;
     }
 
     if (new_image_layout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) {
         /* Make sure any Copy or CPU writes to image are flushed */
-        image_memory_barrier.outputMask = VK_MEMORY_OUTPUT_HOST_WRITE_BIT | VK_MEMORY_OUTPUT_TRANSFER_BIT;
+        image_memory_barrier.srcAccessMask = VK_ACCESS_HOST_WRITE_BIT | VK_ACCESS_TRANSFER_WRITE_BIT;
     }
 
     VkImageMemoryBarrier *pmemory_barrier = &image_memory_barrier;