debug_report: rename object type and error bits

Conflicts:
	demos/tri.c
	layers/device_limits.cpp
	layers/draw_state.cpp
	layers/image.cpp
	layers/mem_tracker.cpp
	layers/param_checker.cpp
	layers/vk_layer_logging.h
	loader/debug_report.c
	tests/layer_validation_tests.cpp
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index beed772..c41893d 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -30,7 +30,7 @@
 
 
 #include <vulkan/vulkan.h>
-#include <vulkan/vk_lunarg_debug_report.h>
+#include <vulkan/vk_ext_debug_report.h>
 #include "test_common.h"
 #include "vkrenderframework.h"
 #include "vk_layer_config.h"
@@ -101,7 +101,7 @@
 
 static VkBool32 myDbgFunc(
     VkFlags                             msgFlags,
-    VkDebugReportObjectTypeLUNARG                     objType,
+    VkDebugReportObjectTypeEXT                     objType,
     uint64_t                            srcObject,
     size_t                              location,
     int32_t                             msgCode,
@@ -125,7 +125,7 @@
     {
         test_platform_thread_create_mutex(&m_mutex);
         test_platform_thread_lock_mutex(&m_mutex);
-        m_msgFlags = VK_DEBUG_REPORT_INFO_BIT;
+        m_msgFlags = VK_DEBUG_REPORT_INFO_BIT_EXT;
         m_bailout  = NULL;
         test_platform_thread_unlock_mutex(&m_mutex);
     }
@@ -204,7 +204,7 @@
 
 static VkBool32 myDbgFunc(
     VkFlags                    msgFlags,
-    VkDebugReportObjectTypeLUNARG            objType,
+    VkDebugReportObjectTypeEXT            objType,
     uint64_t                   srcObject,
     size_t                     location,
     int32_t                    msgCode,
@@ -212,7 +212,7 @@
     const char*                pMsg,
     const void*                pUserData)
 {
-    if (msgFlags & (VK_DEBUG_REPORT_WARN_BIT | VK_DEBUG_REPORT_PERF_WARN_BIT | VK_DEBUG_REPORT_ERROR_BIT)) {
+    if (msgFlags & (VK_DEBUG_REPORT_WARN_BIT_EXT | VK_DEBUG_REPORT_PERF_WARN_BIT_EXT | VK_DEBUG_REPORT_ERROR_BIT_EXT)) {
         ErrorMonitor *errMonitor = (ErrorMonitor *)pUserData;
         return errMonitor->CheckForDesiredMsg(msgFlags, pMsg);
     }
@@ -251,7 +251,7 @@
         std::vector<const char *> instance_extension_names;
         std::vector<const char *> device_extension_names;
 
-        instance_extension_names.push_back(VK_EXT_LUNARG_DEBUG_REPORT_EXTENSION_NAME);
+        instance_extension_names.push_back(VK_EXT_DEBUG_REPORT_EXTENSION_NAME);
         /*
          * Since CreateDbgMsgCallback is an instance level extension call
          * any extension / layer that utilizes that feature also needs
@@ -470,7 +470,7 @@
     fenceInfo.pNext = NULL;
     fenceInfo.flags = 0;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, "Resetting CB");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Resetting CB");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
 
@@ -516,7 +516,7 @@
     fenceInfo.pNext = NULL;
     fenceInfo.flags = 0;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, "Calling vkBeginCommandBuffer() on active CB");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Calling vkBeginCommandBuffer() on active CB");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
     ASSERT_NO_FATAL_FAILURE(InitViewport());
@@ -569,7 +569,7 @@
     VkResult        err;
     bool            pass;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Mapping Memory without VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -646,7 +646,7 @@
 //{
 //    VkResult        err;
 //
-//    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARN_BIT,
+//    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARN_BIT_EXT,
 //        "Freeing memory object while it still has references");
 //
 //    ASSERT_NO_FATAL_FAILURE(InitState());
@@ -715,7 +715,7 @@
     VkResult        err;
     bool            pass;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "which has already been bound to mem object");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -791,7 +791,7 @@
 {
     vk_testing::Fence testFence;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "submitted in SIGNALED state.  Fences must be reset before being submitted");
 
     VkFenceCreateInfo fenceInfo = {};
@@ -835,7 +835,8 @@
     fenceInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
     fenceInfo.pNext = NULL;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARN_BIT,
+    // TODO: verify that this matches layer
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARN_BIT_EXT,
         "submitted to VkResetFences in UNSIGNALED STATE");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -855,7 +856,7 @@
 {
     // Initiate Draw w/o a PSO bound
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Invalid usage flag for image ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -908,7 +909,7 @@
 {
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Invalid VkPipeline Object ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -985,7 +986,7 @@
     VkResult        err;
     bool            pass;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Invalid VkDeviceMemory Object ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -1057,7 +1058,7 @@
     VkResult        err;
     bool            pass;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, "Invalid VkImage Object ");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Invalid VkImage Object ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
 
@@ -1128,7 +1129,7 @@
 #if DRAW_STATE_TESTS
 TEST_F(VkLayerTest, LineWidthStateNotBound)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic line width state not set for this command buffer");
 
     TEST_DESCRIPTION("Simple Draw Call that validates failure when a line width state object is not bound beforehand");
@@ -1143,7 +1144,7 @@
 
 TEST_F(VkLayerTest, DepthBiasStateNotBound)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic depth bias state not set for this command buffer");
 
     TEST_DESCRIPTION("Simple Draw Call that validates failure when a depth bias state object is not bound beforehand");
@@ -1159,7 +1160,7 @@
 // Disable these two tests until we can sort out how to track multiple layer errors
 TEST_F(VkLayerTest, ViewportStateNotBound)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic viewport state not set for this command buffer");
 
     TEST_DESCRIPTION("Simple Draw Call that validates failure when a viewport state object is not bound beforehand");
@@ -1174,7 +1175,7 @@
 
 TEST_F(VkLayerTest, ScissorStateNotBound)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic scissor state not set for this command buffer");
 
     TEST_DESCRIPTION("Simple Draw Call that validates failure when a viewport state object is not bound beforehand");
@@ -1189,7 +1190,7 @@
 
 TEST_F(VkLayerTest, BlendStateNotBound)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic blend object state not set for this command buffer");
 
     TEST_DESCRIPTION("Simple Draw Call that validates failure when a blend state object is not bound beforehand");
@@ -1204,7 +1205,7 @@
 
 TEST_F(VkLayerTest, DepthBoundsStateNotBound)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic depth bounds state not set for this command buffer");
 
     TEST_DESCRIPTION("Simple Draw Call that validates failure when a depth bounds state object is not bound beforehand");
@@ -1219,7 +1220,7 @@
 
 TEST_F(VkLayerTest, StencilReadMaskNotSet)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic stencil read mask state not set for this command buffer");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -1236,7 +1237,7 @@
 
 TEST_F(VkLayerTest, StencilWriteMaskNotSet)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic stencil write mask state not set for this command buffer");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -1253,7 +1254,7 @@
 
 TEST_F(VkLayerTest, StencilReferenceNotSet)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic stencil reference state not set for this command buffer");
 
     TEST_DESCRIPTION("Simple Draw Call that validates failure when a stencil reference is not set beforehand");
@@ -1270,7 +1271,7 @@
 {
     vk_testing::Fence testFence;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "was begun w/ VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT set, but has been submitted");
 
     VkFenceCreateInfo fenceInfo = {};
@@ -1318,7 +1319,7 @@
     // Initiate Draw w/o a PSO bound
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Unable to allocate 1 descriptors of type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -1379,7 +1380,7 @@
 {
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "It is invalid to call vkFreeDescriptorSets() with a pool created without setting VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT.");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -1445,7 +1446,7 @@
     //   The DS check for this is after driver has been called to validate DS internal data struct
     // Attempt to clear DS Pool with bad object
 /*
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Unable to find pool node for pool 0xbaad6001 specified in vkResetDescriptorPool() call");
 
     VkDescriptorPool badPool = (VkDescriptorPool)0xbaad6001;
@@ -1478,7 +1479,7 @@
     // Create a valid cmd buffer
     // call vkCmdBindPipeline w/ false Pipeline
 //
-//    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+//    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
 //        "Attempt to bind Pipeline ");
 //
 //    ASSERT_NO_FATAL_FAILURE(InitState());
@@ -1498,7 +1499,8 @@
     // Create and update CommandBuffer then call QueueSubmit w/o calling End on CommandBuffer
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARN_BIT,
+    // TODO: verify that this matches layer
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARN_BIT_EXT,
         " bound but it was never updated. ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -1582,7 +1584,7 @@
     // Create a single TEXEL_BUFFER descriptor and send it an invalid bufferView
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Attempt to update descriptor with invalid bufferView ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -1651,7 +1653,7 @@
 {
     // Create a descriptorSet w/ some dynamic descriptors and then don't send offsets when binding
     VkResult        err;
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Attempting to bind 1 descriptorSets with 1 dynamic descriptors, but dynamicOffsetCount is 0. ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2009,14 +2011,14 @@
     //  Second disturb early and late sets and verify INFO msgs
     // verify_set_layout_compatibility fail cases:
     // 1. invalid VkPipelineLayout (layout) passed into vkCmdBindDescriptorSets
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, " due to: invalid VkPipelineLayout ");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, " due to: invalid VkPipelineLayout ");
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, (VkPipelineLayout)0xbaadb1be, 0, 1, &descriptorSet[0], 0, NULL);
     if (!m_errorMonitor->DesiredMsgFound()) {
         FAIL() << "Did not receive correct error msg when attempting to bind descriptorSets with invalid VkPipelineLayout.";
         m_errorMonitor->DumpFailureMsgs();
     }
     // 2. layoutIndex exceeds # of layouts in layout
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, " attempting to bind set to index 1");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, " attempting to bind set to index 1");
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, single_pipe_layout, 0, 2, &descriptorSet[0], 0, NULL);
     if (!m_errorMonitor->DesiredMsgFound()) {
         FAIL() << "Did not receive correct error msg when attempting to bind descriptorSet to index 1 when pipelineLayout only has index 0.";
@@ -2024,7 +2026,7 @@
     }
     vkDestroyPipelineLayout(m_device->device(), single_pipe_layout, NULL);
     // 3. Pipeline setLayout[0] has 2 descriptors, but set being bound has 5 descriptors
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, ", but corresponding set being bound has 5 descriptors.");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, ", but corresponding set being bound has 5 descriptors.");
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe_layout_one_desc, 0, 1, &descriptorSet[0], 0, NULL);
     if (!m_errorMonitor->DesiredMsgFound()) {
         FAIL() << "Did not receive correct error msg when attempting to bind descriptorSet w/ 5 descriptors to pipelineLayout with only 2 descriptors.";
@@ -2032,7 +2034,7 @@
     }
     vkDestroyPipelineLayout(m_device->device(), pipe_layout_one_desc, NULL);
     // 4. same # of descriptors but mismatch in type
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, " descriptor from pipelineLayout is type 'VK_DESCRIPTOR_TYPE_SAMPLER'");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, " descriptor from pipelineLayout is type 'VK_DESCRIPTOR_TYPE_SAMPLER'");
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe_layout_five_samp, 0, 1, &descriptorSet[0], 0, NULL);
     if (!m_errorMonitor->DesiredMsgFound()) {
         FAIL() << "Did not receive correct error msg when attempting to bind UNIFORM_BUFFER descriptorSet to pipelineLayout with overlapping SAMPLER type.";
@@ -2040,7 +2042,7 @@
     }
     vkDestroyPipelineLayout(m_device->device(), pipe_layout_five_samp, NULL);
     // 5. same # of descriptors but mismatch in stageFlags
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, " descriptor from pipelineLayout has stageFlags ");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, " descriptor from pipelineLayout has stageFlags ");
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe_layout_fs_only, 0, 1, &descriptorSet[0], 0, NULL);
     if (!m_errorMonitor->DesiredMsgFound()) {
         FAIL() << "Did not receive correct error msg when attempting to bind UNIFORM_BUFFER descriptorSet with ALL stageFlags to pipelineLayout with FS-only stageFlags.";
@@ -2050,7 +2052,7 @@
     // First bind sets 0 & 1
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline_layout, 0, 2, &descriptorSet[0], 0, NULL);
     // 1. Disturb bound set0 by re-binding set1 w/ updated pipelineLayout
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERF_WARN_BIT, " previously bound as set #0 was disturbed ");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERF_WARN_BIT_EXT, " previously bound as set #0 was disturbed ");
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe_layout_bad_set0, 1, 1, &descriptorSet[1], 0, NULL);
     if (!m_errorMonitor->DesiredMsgFound()) {
         FAIL() << "Did not receive correct info msg when binding Set1 w/ pipelineLayout that should disturb Set0.";
@@ -2059,7 +2061,7 @@
     vkDestroyPipelineLayout(m_device->device(), pipe_layout_bad_set0, NULL);
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline_layout, 0, 2, &descriptorSet[0], 0, NULL);
     // 2. Disturb set after last bound set
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERF_WARN_BIT, " newly bound as set #0 so set #1 and any subsequent sets were disturbed ");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERF_WARN_BIT_EXT, " newly bound as set #0 so set #1 and any subsequent sets were disturbed ");
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe_layout_fs_only, 0, 1, &ds0_fs_only, 0, NULL);
     if (!m_errorMonitor->DesiredMsgFound()) {
         FAIL() << "Did not receive correct info msg when re-binding Set0 w/ pipelineLayout that should disturb Set1.";
@@ -2070,7 +2072,7 @@
     // 1. Error due to not binding required set (we actually use same code as above to disturb set0)
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline_layout, 0, 2, &descriptorSet[0], 0, NULL);
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe_layout_bad_set0, 1, 1, &descriptorSet[1], 0, NULL);
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, " uses set #0 but that set is not bound.");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, " uses set #0 but that set is not bound.");
     Draw(1, 0, 0, 0);
     if (!m_errorMonitor->DesiredMsgFound()) {
         FAIL() << "Did not receive correct error msg when attempting draw requiring Set0 but Set0 is not bound.";
@@ -2078,7 +2080,7 @@
     }
     // 2. Error due to bound set not being compatible with PSO's VkPipelineLayout (diff stageFlags in this case)
     vkCmdBindDescriptorSets(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline_layout, 0, 2, &descriptorSet[0], 0, NULL);
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, " bound as set #0 is not compatible with ");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, " bound as set #0 is not compatible with ");
     Draw(1, 0, 0, 0);
     if (!m_errorMonitor->DesiredMsgFound()) {
         FAIL() << "Did not receive correct error msg when attempted draw where bound Set0 layout is not compatible PSO Set0 layout.";
@@ -2099,7 +2101,7 @@
 TEST_F(VkLayerTest, NoBeginCommandBuffer)
 {
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "You must call vkBeginCommandBuffer() before this call to ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2116,7 +2118,7 @@
 TEST_F(VkLayerTest, PrimaryCommandBufferFramebufferAndRenderpass)
 {
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "may not specify framebuffer or renderpass parameters");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2147,7 +2149,7 @@
     VkResult        err;
     VkCommandBuffer     draw_cmd;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "must specify framebuffer and renderpass parameters");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2184,7 +2186,7 @@
     // Then cause 2 errors for attempting to reset CB w/o having
     // VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT set for the pool from
     // which CBs were allocated. Note that this bit is off by default.
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Cannot call Begin on CB");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2206,7 +2208,7 @@
         FAIL() << "Did not receive Error 'Cannot call Begin on CB (0x<ADDR>) in the RECORDING state...'";
         m_errorMonitor->DumpFailureMsgs();
     }
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, "Attempt to reset command buffer ");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Attempt to reset command buffer ");
     VkCommandBufferResetFlags flags = 0; // Don't care about flags for this test
     // Reset attempt will trigger error due to incorrect CommandPool state
     vkResetCommandBuffer(commandBuffer.GetBufferHandle(), flags);
@@ -2214,7 +2216,7 @@
         FAIL() << "Did not receive Error 'Attempt to reset command buffer (0x<ADDR>) created from command pool...'";
         m_errorMonitor->DumpFailureMsgs();
     }
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, " attempts to implicitly reset cmdBuffer created from ");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, " attempts to implicitly reset cmdBuffer created from ");
     // Transition CB to RECORDED state
     vkEndCommandBuffer(commandBuffer.GetBufferHandle());
     // Now attempting to Begin will implicitly reset, which triggers error
@@ -2230,7 +2232,7 @@
     // Attempt to Create Gfx Pipeline w/o a VS
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Invalid Pipeline CreateInfo State: Vtx Shader required");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2331,7 +2333,7 @@
     // Attempt to Create Gfx Pipeline w/o a VS
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Invalid Pipeline CreateInfo State: VK_PRIMITIVE_TOPOLOGY_PATCH primitive ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2456,7 +2458,7 @@
     // Attempt to Create Gfx Pipeline w/o a VS
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Gfx Pipeline viewport count (1) must match scissor count (0).");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2562,7 +2564,7 @@
     // Attempt to Create Gfx Pipeline w/o a VS
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Gfx Pipeline pViewportState is null. Even if ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2667,7 +2669,7 @@
 {
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Gfx Pipeline viewportCount is 1, but pViewports is NULL. ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2795,7 +2797,7 @@
 
     // Now hit second fail case where we set scissor w/ different count than PSO
     // First need to successfully create the PSO from above by setting pViewports
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic scissorCount from vkCmdSetScissor() is 2, but PSO scissorCount is 1. These counts must match.");
 
     VkViewport vp = {}; // Just need dummy vp to point to
@@ -2825,7 +2827,7 @@
 {
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Gfx Pipeline scissorCount is 1, but pScissors is NULL. ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2952,7 +2954,7 @@
 
     // Now hit second fail case where we set scissor w/ different count than PSO
     // First need to successfully create the PSO from above by setting pViewports
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Dynamic viewportCount from vkCmdSetViewport() is 2, but PSO viewportCount is 1. These counts must match.");
 
     VkRect2D sc = {}; // Just need dummy vp to point to
@@ -2980,7 +2982,7 @@
 TEST_F(VkLayerTest, NullRenderPass)
 {
     // Bind a NULL RenderPass
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "You cannot use a NULL RenderPass object in vkCmdBeginRenderPass()");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -2999,7 +3001,7 @@
 TEST_F(VkLayerTest, RenderPassWithinRenderPass)
 {
     // Bind a BeginRenderPass within an active RenderPass
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "It is invalid to issue this call inside an active render pass");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3024,7 +3026,7 @@
 TEST_F(VkLayerTest, FillBufferWithinRenderPass)
 {
     // Call CmdFillBuffer within an active renderpass
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "It is invalid to issue this call inside an active render pass");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3048,7 +3050,7 @@
 TEST_F(VkLayerTest, UpdateBufferWithinRenderPass)
 {
     // Call CmdUpdateBuffer within an active renderpass
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "It is invalid to issue this call inside an active render pass");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3076,7 +3078,7 @@
 TEST_F(VkLayerTest, ClearColorImageWithinRenderPass)
 {
     // Call CmdClearColorImage within an active RenderPass
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "It is invalid to issue this call inside an active render pass");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3126,7 +3128,7 @@
 TEST_F(VkLayerTest, ClearDepthStencilImageWithinRenderPass)
 {
     // Call CmdClearDepthStencilImage within an active RenderPass
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "It is invalid to issue this call inside an active render pass");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3169,7 +3171,7 @@
     // Call CmdClearAttachmentss outside of an active RenderPass
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
          "vkCmdClearAttachments: This call must be issued inside an active render pass");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3210,7 +3212,7 @@
     // Bind a BeginRenderPass within an active RenderPass
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "vkCmdBindIndexBuffer() offset (0x7) does not fall on ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3245,7 +3247,7 @@
 {
     // Attempt vkCmdExecuteCommands w/ a primary cmd buffer (should only be secondary)
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "vkCmdExecuteCommands() called w/ Primary Cmd Buffer ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3267,7 +3269,7 @@
     // Create DS w/ layout of one type and attempt Update w/ mis-matched type
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Write descriptor update has descriptor type VK_DESCRIPTOR_TYPE_SAMPLER that does not match ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3364,7 +3366,7 @@
     // For overlapping Update, have arrayIndex exceed that of layout
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Descriptor update type of VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET is out of bounds for matching binding");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3463,7 +3465,7 @@
     // Create layout w/ count of 1 and attempt update to that layout w/ binding index 2
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         " does not have binding to match update binding ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3561,7 +3563,7 @@
     // Call UpdateDS w/ struct type other than valid VK_STRUCTUR_TYPE_UPDATE_* types
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Unexpected UPDATE struct of type ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3658,7 +3660,7 @@
     // Create a single Sampler descriptor and send it an invalid Sampler
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Attempt to update descriptor with invalid sampler 0xbaadbeef");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3734,7 +3736,7 @@
     // Create a single combined Image/Sampler descriptor and send it an invalid imageView
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Attempt to update descriptor with invalid imageView 0xbaadbeef");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3834,7 +3836,7 @@
     // Create DS w/ layout of 2 types, write update 1 and attempt to copy-update into the other
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Copy descriptor update index 0, update count #1, has src update descriptor type VK_DESCRIPTOR_TYPE_SAMPLER ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -3938,7 +3940,7 @@
         m_errorMonitor->DumpFailureMsgs();
     }
     // Now perform a copy update that fails due to binding out of bounds
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Copy descriptor update 0 has srcBinding 3 which is out of bounds ");
     memset(&copy_ds_update, 0, sizeof(VkCopyDescriptorSet));
     copy_ds_update.sType = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
@@ -3955,7 +3957,7 @@
     }
 
     // Now perform a copy update that fails due to binding out of bounds
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Copy descriptor src update is out of bounds for matching binding 1 ");
 
     memset(&copy_ds_update, 0, sizeof(VkCopyDescriptorSet));
@@ -3982,7 +3984,7 @@
     // Create CommandBuffer where MSAA samples doesn't match RenderPass sampleCount
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Num samples mismatch! ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4073,7 +4075,8 @@
     // Create CommandBuffer where we add ClearCmd for FB Color attachment prior to issuing a Draw
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARN_BIT,
+    // TODO: verify that this matches layer
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARN_BIT_EXT,
         "vkCmdClearAttachments() issued on CB object ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4177,7 +4180,7 @@
 {
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERF_WARN_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERF_WARN_BIT_EXT,
         "but no vertex buffers are attached to this Pipeline State Object");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4298,7 +4301,7 @@
 {
     test_platform_thread thread;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT, "THREADING ERROR");
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "THREADING ERROR");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
     ASSERT_NO_FATAL_FAILURE(InitViewport());
@@ -4349,7 +4352,7 @@
 #if SHADER_CHECKER_TESTS
 TEST_F(VkLayerTest, InvalidSPIRVCodeSize)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Shader is not SPIR-V");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4378,7 +4381,7 @@
 
 TEST_F(VkLayerTest, InvalidSPIRVMagic)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Shader is not SPIR-V");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4407,7 +4410,7 @@
 
 TEST_F(VkLayerTest, InvalidSPIRVVersion)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Shader is not SPIR-V");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4437,7 +4440,7 @@
 
 TEST_F(VkLayerTest, CreatePipelineVertexOutputNotConsumed)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERF_WARN_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERF_WARN_BIT_EXT,
         "not consumed by fragment shader");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4485,7 +4488,7 @@
 
 TEST_F(VkLayerTest, CreatePipelineFragmentInputNotProvided)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "not written by vertex shader");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4532,7 +4535,7 @@
 
 TEST_F(VkLayerTest, CreatePipelineVsFsTypeMismatch)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Type mismatch on location 0");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4581,7 +4584,7 @@
 
 TEST_F(VkLayerTest, CreatePipelineAttribNotConsumed)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERF_WARN_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERF_WARN_BIT_EXT,
         "location 0 not consumed by VS");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4637,7 +4640,7 @@
 
 TEST_F(VkLayerTest, CreatePipelineAttribNotProvided)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "VS consumes input at location 0 but not provided");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4684,7 +4687,7 @@
 
 TEST_F(VkLayerTest, CreatePipelineAttribTypeMismatch)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "location 0 does not match VS input type");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4866,7 +4869,7 @@
 
 TEST_F(VkLayerTest, CreatePipelineAttribBindingConflict)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Duplicate vertex input binding descriptions for binding 0");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4924,7 +4927,7 @@
 
 TEST_F(VkLayerTest, CreatePipelineFragmentOutputNotWritten)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Attachment 0 not written by FS");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -4970,7 +4973,8 @@
 
 TEST_F(VkLayerTest, CreatePipelineFragmentOutputNotConsumed)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARN_BIT,
+    // TODO: verify that this matches layer
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARN_BIT_EXT,
         "FS writes to output location 1 with no matching attachment");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5021,7 +5025,7 @@
 
 TEST_F(VkLayerTest, CreatePipelineFragmentOutputTypeMismatch)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "does not match FS output type");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5069,7 +5073,7 @@
 
 TEST_F(VkLayerTest, CreatePipelineUniformBlockNotProvided)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "not declared in pipeline layout");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5124,7 +5128,7 @@
 #if DEVICE_LIMITS_TESTS
 TEST_F(VkLayerTest, CreateImageLimitsViolationWidth)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "CreateImage extents exceed allowable limits for format");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5163,7 +5167,7 @@
 
 TEST_F(VkLayerTest, CreateImageResourceSizeViolation)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "CreateImage resource size exceeds allowable maximum");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5210,7 +5214,7 @@
 {
     uint32_t updateData[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "dstOffset, is not a multiple of 4");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5228,7 +5232,7 @@
     }
 
     // Introduce failure by using size that is not multiple of 4
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "dataSize, is not a multiple of 4");
 
     m_commandBuffer->UpdateBuffer(buffer.handle(), 0, 6, updateData);
@@ -5242,7 +5246,7 @@
 
 TEST_F(VkLayerTest, FillBufferAlignment)
 {
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "dstOffset, is not a multiple of 4");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5260,7 +5264,7 @@
     }
 
     // Introduce failure by using size that is not multiple of 4
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "size, is not a multiple of 4");
 
     m_commandBuffer->FillBuffer(buffer.handle(), 0, 6, 0x11111111);
@@ -5279,7 +5283,7 @@
 {
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "vkCreateImageView called with baseMipLevel 10 ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5332,7 +5336,7 @@
 {
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "vkCreateImageView: Color image formats must have ONLY the VK_IMAGE_ASPECT_COLOR_BIT set");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5385,7 +5389,7 @@
     VkResult        err;
     bool            pass;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "vkCmdCopyImage called with unmatched source and dest image types");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5490,7 +5494,7 @@
     VkResult        err;
     bool            pass;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "vkCmdCopyImage called with unmatched source and dest image types");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5590,7 +5594,7 @@
     VkResult        err;
     bool            pass;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "vkCmdResolveImage called with source sample count less than 2.");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5693,7 +5697,7 @@
     VkResult        err;
     bool            pass;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "vkCmdResolveImage called with dest sample count greater than 1.");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5798,7 +5802,7 @@
     VkResult        err;
     bool            pass;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "vkCmdResolveImage called with unmatched source and dest formats.");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -5905,7 +5909,7 @@
     VkResult        err;
     bool            pass;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "vkCmdResolveImage called with unmatched source and dest image types.");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
@@ -6014,7 +6018,7 @@
     //  then when we cause aspect fail next, bad format check will be preempted
     VkResult        err;
 
-    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT,
+    m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
         "Combination depth/stencil image formats can have only the ");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
diff --git a/tests/render_tests.cpp b/tests/render_tests.cpp
index ab71086..52f8d9f 100644
--- a/tests/render_tests.cpp
+++ b/tests/render_tests.cpp
@@ -74,7 +74,7 @@
 #include "../layers/object_track.h"
 #endif
 #ifdef DEBUG_CALLBACK
-#include <vulkan/vk_lunarg_debug_report.h>
+#include <vulkan/vk_ext_debug_report.h>
 #endif
 #include "test_common.h"
 
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 91abd4d..01ad330 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -86,7 +86,7 @@
         std::vector<const char *> device_layer_names,
         std::vector<const char *> instance_extension_names,
         std::vector<const char *> device_extension_names,
-        PFN_vkDebugReportCallbackLUNARG dbgFunction,
+        PFN_vkDebugReportCallbackEXT dbgFunction,
         void *userData)
 {
     VkInstanceCreateInfo instInfo = {};
@@ -113,13 +113,13 @@
     ASSERT_VK_SUCCESS(err);
     ASSERT_GE(this->gpu_count, (uint32_t) 1) << "No GPU available";
     if (dbgFunction) {
-        m_CreateDebugReportCallback = (PFN_vkCreateDebugReportCallbackLUNARG) vkGetInstanceProcAddr(this->inst, "vkCreateDebugReportCallbackLUNARG");
-        ASSERT_NE(m_CreateDebugReportCallback, (PFN_vkCreateDebugReportCallbackLUNARG) NULL) << "Did not get function pointer for CreateDebugReportCallback";
+        m_CreateDebugReportCallback = (PFN_vkCreateDebugReportCallbackEXT) vkGetInstanceProcAddr(this->inst, "vkCreateDebugReportCallbackEXT");
+        ASSERT_NE(m_CreateDebugReportCallback, (PFN_vkCreateDebugReportCallbackEXT) NULL) << "Did not get function pointer for CreateDebugReportCallback";
         if (m_CreateDebugReportCallback) {
-            VkDebugReportCallbackCreateInfoLUNARG dbgCreateInfo;
+            VkDebugReportCallbackCreateInfoEXT dbgCreateInfo;
             memset(&dbgCreateInfo, 0, sizeof(dbgCreateInfo));
-            dbgCreateInfo.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_LUNARG;
-            dbgCreateInfo.flags = VK_DEBUG_REPORT_ERROR_BIT | VK_DEBUG_REPORT_WARN_BIT | VK_DEBUG_REPORT_PERF_WARN_BIT;
+            dbgCreateInfo.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
+            dbgCreateInfo.flags = VK_DEBUG_REPORT_ERROR_BIT_EXT | VK_DEBUG_REPORT_WARN_BIT_EXT | VK_DEBUG_REPORT_PERF_WARN_BIT_EXT;
             dbgCreateInfo.pfnCallback = dbgFunction;
             dbgCreateInfo.pUserData = userData;
 
@@ -129,10 +129,10 @@
                                          &m_globalMsgCallback);
             ASSERT_VK_SUCCESS(err);
 
-            m_DestroyDebugReportCallback = (PFN_vkDestroyDebugReportCallbackLUNARG) vkGetInstanceProcAddr(this->inst, "vkDestroyDebugReportCallbackLUNARG");
-            ASSERT_NE(m_DestroyDebugReportCallback, (PFN_vkDestroyDebugReportCallbackLUNARG) NULL) << "Did not get function pointer for DestroyDebugReportCallback";
-            m_DebugReportMessage = (PFN_vkDebugReportMessageLUNARG) vkGetInstanceProcAddr(this->inst, "vkDebugReportMessageLUNARG");
-            ASSERT_NE(m_DebugReportMessage, (PFN_vkDebugReportMessageLUNARG) NULL) << "Did not get function pointer for DebugReportMessage";
+            m_DestroyDebugReportCallback = (PFN_vkDestroyDebugReportCallbackEXT) vkGetInstanceProcAddr(this->inst, "vkDestroyDebugReportCallbackEXT");
+            ASSERT_NE(m_DestroyDebugReportCallback, (PFN_vkDestroyDebugReportCallbackEXT) NULL) << "Did not get function pointer for DestroyDebugReportCallback";
+            m_DebugReportMessage = (PFN_vkDebugReportMessageEXT) vkGetInstanceProcAddr(this->inst, "vkDebugReportMessageEXT");
+            ASSERT_NE(m_DebugReportMessage, (PFN_vkDebugReportMessageEXT) NULL) << "Did not get function pointer for DebugReportMessage";
         }
     }
 
@@ -142,12 +142,12 @@
     /* Now register callback on device */
     if (0) {
         if (m_CreateDebugReportCallback) {
-            VkDebugReportCallbackCreateInfoLUNARG dbgInfo;
+            VkDebugReportCallbackCreateInfoEXT dbgInfo;
             memset(&dbgInfo, 0, sizeof(dbgInfo));
-            dbgInfo.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_LUNARG;
+            dbgInfo.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
             dbgInfo.pfnCallback = dbgFunction;
             dbgInfo.pUserData = userData;
-            dbgInfo.flags = VK_DEBUG_REPORT_ERROR_BIT | VK_DEBUG_REPORT_WARN_BIT;
+            dbgInfo.flags = VK_DEBUG_REPORT_ERROR_BIT_EXT | VK_DEBUG_REPORT_WARN_BIT_EXT;
             err = m_CreateDebugReportCallback(this->inst,
                                          &dbgInfo,
                                          NULL,
diff --git a/tests/vkrenderframework.h b/tests/vkrenderframework.h
index 641c971..8ae3585 100644
--- a/tests/vkrenderframework.h
+++ b/tests/vkrenderframework.h
@@ -34,7 +34,7 @@
 #else
 #include "vktestframework.h"
 #endif
-#include "vulkan/vk_lunarg_debug_report.h"
+#include "vulkan/vk_ext_debug_report.h"
 #include "vulkan/vk_lunarg_debug_marker.h"
 
 #include <vector>
@@ -99,7 +99,7 @@
             std::vector<const char *> device_layer_names,
             std::vector<const char *> instance_extension_names,
             std::vector<const char *> device_extension_names,
-            PFN_vkDebugReportCallbackLUNARG=NULL,
+            PFN_vkDebugReportCallbackEXT=NULL,
             void *userData=NULL);
 
     void ShutdownFramework();
@@ -140,11 +140,11 @@
     float                               m_depth_clear_color;
     uint32_t                            m_stencil_clear_color;
     VkDepthStencilObj                  *m_depthStencil;
-    PFN_vkCreateDebugReportCallbackLUNARG          m_CreateDebugReportCallback;
-    PFN_vkDestroyDebugReportCallbackLUNARG         m_DestroyDebugReportCallback;
-    PFN_vkDebugReportMessageLUNARG                 m_DebugReportMessage;
-    VkDebugReportCallbackLUNARG                    m_globalMsgCallback;
-    VkDebugReportCallbackLUNARG                    m_devMsgCallback;
+    PFN_vkCreateDebugReportCallbackEXT          m_CreateDebugReportCallback;
+    PFN_vkDestroyDebugReportCallbackEXT         m_DestroyDebugReportCallback;
+    PFN_vkDebugReportMessageEXT                 m_DebugReportMessage;
+    VkDebugReportCallbackEXT                    m_globalMsgCallback;
+    VkDebugReportCallbackEXT                    m_devMsgCallback;
 
     /*
      * SetUp and TearDown are called by the Google Test framework