diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index 23b379a..2087b51 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -244,12 +244,12 @@
     VK_FORMAT_R8G8B8A8_UINT = 34,
     VK_FORMAT_R8G8B8A8_SINT = 35,
     VK_FORMAT_R8G8B8A8_SRGB = 36,
-    VK_FORMAT_R10G10B10A2_UNORM = 37,
-    VK_FORMAT_R10G10B10A2_SNORM = 38,
-    VK_FORMAT_R10G10B10A2_USCALED = 39,
-    VK_FORMAT_R10G10B10A2_SSCALED = 40,
-    VK_FORMAT_R10G10B10A2_UINT = 41,
-    VK_FORMAT_R10G10B10A2_SINT = 42,
+    VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 37,
+    VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 38,
+    VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 39,
+    VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 40,
+    VK_FORMAT_A2B10G10R10_UINT_PACK32 = 41,
+    VK_FORMAT_A2B10G10R10_SINT_PACK32 = 42,
     VK_FORMAT_R16_UNORM = 43,
     VK_FORMAT_R16_SNORM = 44,
     VK_FORMAT_R16_USCALED = 45,
@@ -294,10 +294,10 @@
     VK_FORMAT_R64G64_SFLOAT = 84,
     VK_FORMAT_R64G64B64_SFLOAT = 85,
     VK_FORMAT_R64G64B64A64_SFLOAT = 86,
-    VK_FORMAT_R11G11B10_UFLOAT = 87,
-    VK_FORMAT_R9G9B9E5_UFLOAT = 88,
+    VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 87,
+    VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 88,
     VK_FORMAT_D16_UNORM = 89,
-    VK_FORMAT_D24_UNORM_X8 = 90,
+    VK_FORMAT_X8_D24_UNORM_PACK32 = 90,
     VK_FORMAT_D32_SFLOAT = 91,
     VK_FORMAT_S8_UINT = 92,
     VK_FORMAT_D16_UNORM_S8_UINT = 93,
@@ -375,15 +375,15 @@
     VK_FORMAT_B8G8R8A8_UINT = 165,
     VK_FORMAT_B8G8R8A8_SINT = 166,
     VK_FORMAT_B8G8R8A8_SRGB = 167,
-    VK_FORMAT_B10G10R10A2_UNORM = 168,
-    VK_FORMAT_B10G10R10A2_SNORM = 169,
-    VK_FORMAT_B10G10R10A2_USCALED = 170,
-    VK_FORMAT_B10G10R10A2_SSCALED = 171,
-    VK_FORMAT_B10G10R10A2_UINT = 172,
-    VK_FORMAT_B10G10R10A2_SINT = 173,
+    VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 168,
+    VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 169,
+    VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 170,
+    VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 171,
+    VK_FORMAT_A2R10G10B10_UINT_PACK32 = 172,
+    VK_FORMAT_A2R10G10B10_SINT_PACK32 = 173,
     VK_FORMAT_BEGIN_RANGE = VK_FORMAT_UNDEFINED,
-    VK_FORMAT_END_RANGE = VK_FORMAT_B10G10R10A2_SINT,
-    VK_FORMAT_RANGE_SIZE = (VK_FORMAT_B10G10R10A2_SINT - VK_FORMAT_UNDEFINED + 1),
+    VK_FORMAT_END_RANGE = VK_FORMAT_A2R10G10B10_SINT_PACK32,
+    VK_FORMAT_RANGE_SIZE = (VK_FORMAT_A2R10G10B10_SINT_PACK32 - VK_FORMAT_UNDEFINED + 1),
     VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
 } VkFormat;
 
diff --git a/layers/image.cpp b/layers/image.cpp
index 4c08a83..d97d77b 100644
--- a/layers/image.cpp
+++ b/layers/image.cpp
@@ -241,7 +241,7 @@
     bool result = VK_FALSE;
     switch (format) {
         case VK_FORMAT_D16_UNORM:
-        case VK_FORMAT_D24_UNORM_X8:
+        case VK_FORMAT_X8_D24_UNORM_PACK32:
         case VK_FORMAT_D32_SFLOAT:
         case VK_FORMAT_S8_UINT:
         case VK_FORMAT_D16_UNORM_S8_UINT:
diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp
index 260a275..c3c68e0 100644
--- a/layers/shader_checker.cpp
+++ b/layers/shader_checker.cpp
@@ -736,8 +736,8 @@
     case VK_FORMAT_R32G32B32A32_SINT:
     case VK_FORMAT_B8G8R8_SINT:
     case VK_FORMAT_B8G8R8A8_SINT:
-    case VK_FORMAT_R10G10B10A2_SINT:
-    case VK_FORMAT_B10G10R10A2_SINT:
+    case VK_FORMAT_A2B10G10R10_SINT_PACK32:
+    case VK_FORMAT_A2R10G10B10_SINT_PACK32:
         return FORMAT_TYPE_SINT;
     case VK_FORMAT_R8_UINT:
     case VK_FORMAT_R8G8_UINT:
@@ -753,8 +753,8 @@
     case VK_FORMAT_R32G32B32A32_UINT:
     case VK_FORMAT_B8G8R8_UINT:
     case VK_FORMAT_B8G8R8A8_UINT:
-    case VK_FORMAT_R10G10B10A2_UINT:
-    case VK_FORMAT_B10G10R10A2_UINT:
+    case VK_FORMAT_A2B10G10R10_UINT_PACK32:
+    case VK_FORMAT_A2R10G10B10_UINT_PACK32:
         return FORMAT_TYPE_UINT;
     default:
         return FORMAT_TYPE_FLOAT;
diff --git a/layers/vk_layer_utils.cpp b/layers/vk_layer_utils.cpp
index 377cbbf..a85d0f9 100644
--- a/layers/vk_layer_utils.cpp
+++ b/layers/vk_layer_utils.cpp
@@ -74,12 +74,12 @@
     { 4,  4 }, //    [VK_FORMAT_R8G8B8A8_UINT]
     { 4,  4 }, //    [VK_FORMAT_R8G8B8A8_SINT]
     { 4,  4 }, //    [VK_FORMAT_R8G8B8A8_SRGB]
-    { 4,  4 }, //    [VK_FORMAT_R10G10B10A2_UNORM]
-    { 4,  4 }, //    [VK_FORMAT_R10G10B10A2_SNORM]
-    { 4,  4 }, //    [VK_FORMAT_R10G10B10A2_USCALED]
-    { 4,  4 }, //    [VK_FORMAT_R10G10B10A2_SSCALED]
-    { 4,  4 }, //    [VK_FORMAT_R10G10B10A2_UINT]
-    { 4,  4 }, //    [VK_FORMAT_R10G10B10A2_SINT]
+    { 4,  4 }, //    [VK_FORMAT_A2B10G10R10_UNORM_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_A2B10G10R10_SNORM_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_A2B10G10R10_USCALED_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_A2B10G10R10_SSCALED_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_A2B10G10R10_UINT_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_A2B10G10R10_SINT_PACK32]
     { 2,  1 }, //    [VK_FORMAT_R16_UNORM]
     { 2,  1 }, //    [VK_FORMAT_R16_SNORM]
     { 2,  1 }, //    [VK_FORMAT_R16_USCALED]
@@ -124,10 +124,10 @@
     { 16, 2 }, //    [VK_FORMAT_R64G64_SFLOAT]
     { 24, 3 }, //    [VK_FORMAT_R64G64B64_SFLOAT]
     { 32, 4 }, //    [VK_FORMAT_R64G64B64A64_SFLOAT]
-    { 4,  3 }, //    [VK_FORMAT_R11G11B10_UFLOAT]
-    { 4,  3 }, //    [VK_FORMAT_R9G9B9E5_UFLOAT]
+    { 4,  3 }, //    [VK_FORMAT_B10G11R11_UFLOAT_PACK32]
+    { 4,  3 }, //    [VK_FORMAT_E5B9G9R9_UFLOAT_PACK32]
     { 2,  1 }, //    [VK_FORMAT_D16_UNORM]
-    { 3,  1 }, //    [VK_FORMAT_D24_UNORM_X8]
+    { 3,  1 }, //    [VK_FORMAT_X8_D24_UNORM_PACK32]
     { 4,  1 }, //    [VK_FORMAT_D32_SFLOAT]
     { 1,  1 }, //    [VK_FORMAT_S8_UINT]
     { 3,  2 }, //    [VK_FORMAT_D16_UNORM_S8_UINT]
@@ -203,12 +203,12 @@
     { 4, 4 },  //    [VK_FORMAT_B8G8R8A8_UINT]
     { 4, 4 },  //    [VK_FORMAT_B8G8R8A8_SINT]
     { 4, 4 },  //    [VK_FORMAT_B8G8R8A8_SRGB]
-    { 4, 4 },  //    [VK_FORMAT_B10G10R10A2_UNORM]
-    { 4, 4 },  //    [VK_FORMAT_B10G10R10A2_SNORM]
-    { 4, 4 },  //    [VK_FORMAT_B10G10R10A2_USCALED]
-    { 4, 4 },  //    [VK_FORMAT_B10G10R10A2_SSCALED]
-    { 4, 4 },  //    [VK_FORMAT_B10G10R10A2_UINT]
-    { 4, 4 },  //    [VK_FORMAT_B10G10R10A2_SINT]
+    { 4, 4 },  //    [VK_FORMAT_A2R10G10B10_UNORM_PACK32]
+    { 4, 4 },  //    [VK_FORMAT_A2R10G10B10_SNORM_PACK32]
+    { 4, 4 },  //    [VK_FORMAT_A2R10G10B10_USCALED_PACK32]
+    { 4, 4 },  //    [VK_FORMAT_A2R10G10B10_SSCALED_PACK32]
+    { 4, 4 },  //    [VK_FORMAT_A2R10G10B10_UINT_PACK32]
+    { 4, 4 },  //    [VK_FORMAT_A2R10G10B10_SINT_PACK32]
 };
 
 // Return true if format is a depth or stencil format
@@ -249,7 +249,7 @@
 
     switch (format) {
     case VK_FORMAT_D16_UNORM:
-    case VK_FORMAT_D24_UNORM_X8:
+    case VK_FORMAT_X8_D24_UNORM_PACK32:
     case VK_FORMAT_D32_SFLOAT:
         is_depth = true;
         break;
@@ -278,8 +278,8 @@
     case VK_FORMAT_R8G8B8_SNORM:
     case VK_FORMAT_R8G8B8A8_UNORM:
     case VK_FORMAT_R8G8B8A8_SNORM:
-    case VK_FORMAT_R10G10B10A2_UNORM:
-    case VK_FORMAT_R10G10B10A2_SNORM:
+    case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
+    case VK_FORMAT_A2B10G10R10_SNORM_PACK32:
     case VK_FORMAT_R16_UNORM:
     case VK_FORMAT_R16_SNORM:
     case VK_FORMAT_R16G16_UNORM:
@@ -322,8 +322,8 @@
     case VK_FORMAT_B8G8R8_SNORM:
     case VK_FORMAT_B8G8R8A8_UNORM:
     case VK_FORMAT_B8G8R8A8_SNORM:
-    case VK_FORMAT_B10G10R10A2_UNORM:
-    case VK_FORMAT_B10G10R10A2_SNORM:
+    case VK_FORMAT_A2R10G10B10_UNORM_PACK32:
+    case VK_FORMAT_A2R10G10B10_SNORM_PACK32:
         is_norm = true;
         break;
     default:
@@ -350,7 +350,7 @@
     case VK_FORMAT_R8G8_UINT:
     case VK_FORMAT_R8G8B8_UINT:
     case VK_FORMAT_R8G8B8A8_UINT:
-    case VK_FORMAT_R10G10B10A2_UINT:
+    case VK_FORMAT_A2B10G10R10_UINT_PACK32:
     case VK_FORMAT_R16_UINT:
     case VK_FORMAT_R16G16_UINT:
     case VK_FORMAT_R16G16B16_UINT:
@@ -361,7 +361,7 @@
     case VK_FORMAT_R32G32B32A32_UINT:
     case VK_FORMAT_B8G8R8_UINT:
     case VK_FORMAT_B8G8R8A8_UINT:
-    case VK_FORMAT_B10G10R10A2_UINT:
+    case VK_FORMAT_A2R10G10B10_UINT_PACK32:
         is_uint = true;
         break;
     default:
@@ -381,7 +381,7 @@
     case VK_FORMAT_R8G8_SINT:
     case VK_FORMAT_R8G8B8_SINT:
     case VK_FORMAT_R8G8B8A8_SINT:
-    case VK_FORMAT_R10G10B10A2_SINT:
+    case VK_FORMAT_A2B10G10R10_SINT_PACK32:
     case VK_FORMAT_R16_SINT:
     case VK_FORMAT_R16G16_SINT:
     case VK_FORMAT_R16G16B16_SINT:
@@ -392,7 +392,7 @@
     case VK_FORMAT_R32G32B32A32_SINT:
     case VK_FORMAT_B8G8R8_SINT:
     case VK_FORMAT_B8G8R8A8_SINT:
-    case VK_FORMAT_B10G10R10A2_SINT:
+    case VK_FORMAT_A2R10G10B10_SINT_PACK32:
         is_sint = true;
         break;
     default:
@@ -420,8 +420,8 @@
     case VK_FORMAT_R64G64_SFLOAT:
     case VK_FORMAT_R64G64B64_SFLOAT:
     case VK_FORMAT_R64G64B64A64_SFLOAT:
-    case VK_FORMAT_R11G11B10_UFLOAT:
-    case VK_FORMAT_R9G9B9E5_UFLOAT:
+    case VK_FORMAT_B10G11R11_UFLOAT_PACK32:
+    case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:
     case VK_FORMAT_BC6H_UFLOAT_BLOCK:
     case VK_FORMAT_BC6H_SFLOAT_BLOCK:
         is_float = true;
diff --git a/tests/blit_tests.cpp b/tests/blit_tests.cpp
index f873833..2b4b4ba 100644
--- a/tests/blit_tests.cpp
+++ b/tests/blit_tests.cpp
@@ -346,12 +346,12 @@
         { VK_FORMAT_R8G8B8A8_UINT,         4,  4 },
         { VK_FORMAT_R8G8B8A8_SINT,         4,  4 },
         { VK_FORMAT_R8G8B8A8_SRGB,         4,  4 },
-        { VK_FORMAT_R10G10B10A2_UNORM,     4,  4 },
-        { VK_FORMAT_R10G10B10A2_SNORM,     4,  4 },
-        { VK_FORMAT_R10G10B10A2_USCALED,   4,  4 },
-        { VK_FORMAT_R10G10B10A2_SSCALED,   4,  4 },
-        { VK_FORMAT_R10G10B10A2_UINT,      4,  4 },
-        { VK_FORMAT_R10G10B10A2_SINT,      4,  4 },
+        { VK_FORMAT_A2B10G10R10_UNORM_PACK32,     4,  4 },
+        { VK_FORMAT_A2B10G10R10_SNORM_PACK32,     4,  4 },
+        { VK_FORMAT_A2B10G10R10_USCALED_PACK32,   4,  4 },
+        { VK_FORMAT_A2B10G10R10_SSCALED_PACK32,   4,  4 },
+        { VK_FORMAT_A2B10G10R10_UINT_PACK32,      4,  4 },
+        { VK_FORMAT_A2B10G10R10_SINT_PACK32,      4,  4 },
         { VK_FORMAT_R16_UNORM,             2,  1 },
         { VK_FORMAT_R16_SNORM,             2,  1 },
         { VK_FORMAT_R16_USCALED,           2,  1 },
@@ -396,10 +396,10 @@
         { VK_FORMAT_R64G64_SFLOAT,         16, 2 },
         { VK_FORMAT_R64G64B64_SFLOAT,      24, 3 },
         { VK_FORMAT_R64G64B64A64_SFLOAT,   32, 4 },
-        { VK_FORMAT_R11G11B10_UFLOAT,      4,  3 },
-        { VK_FORMAT_R9G9B9E5_UFLOAT,       4,  3 },
+        { VK_FORMAT_B10G11R11_UFLOAT_PACK32,      4,  3 },
+        { VK_FORMAT_E5B9G9R9_UFLOAT_PACK32,       4,  3 },
         { VK_FORMAT_D16_UNORM,             2,  1 },
-        { VK_FORMAT_D24_UNORM_X8,          3,  1 },
+        { VK_FORMAT_X8_D24_UNORM_PACK32,          3,  1 },
         { VK_FORMAT_D32_SFLOAT,            4,  1 },
         { VK_FORMAT_S8_UINT,               1,  1 },
         { VK_FORMAT_D16_UNORM_S8_UINT,     3,  2 },
@@ -478,12 +478,12 @@
         { VK_FORMAT_B8G8R8A8_UINT,         4, 4 },
         { VK_FORMAT_B8G8R8A8_SINT,         4, 4 },
         { VK_FORMAT_B8G8R8A8_SRGB,         4, 4 },
-        { VK_FORMAT_B10G10R10A2_UNORM,     4, 4 },
-        { VK_FORMAT_B10G10R10A2_SNORM,     4, 4 },
-        { VK_FORMAT_B10G10R10A2_USCALED,   4, 4 },
-        { VK_FORMAT_B10G10R10A2_SSCALED,   4, 4 },
-        { VK_FORMAT_B10G10R10A2_UINT,      4, 4 },
-        { VK_FORMAT_B10G10R10A2_SINT,      4, 4 },
+        { VK_FORMAT_A2R10G10B10_UNORM_PACK32,     4, 4 },
+        { VK_FORMAT_A2R10G10B10_SNORM_PACK32,     4, 4 },
+        { VK_FORMAT_A2R10G10B10_USCALED_PACK32,   4, 4 },
+        { VK_FORMAT_A2R10G10B10_SSCALED_PACK32,   4, 4 },
+        { VK_FORMAT_A2R10G10B10_UINT_PACK32,      4, 4 },
+        { VK_FORMAT_A2R10G10B10_SINT_PACK32,      4, 4 },
     };
     if (format_table_unverified)
     {
@@ -1469,7 +1469,7 @@
 
         // known driver issues
         if (it->format == VK_FORMAT_S8_UINT ||
-            it->format == VK_FORMAT_D24_UNORM_X8 ||
+            it->format == VK_FORMAT_X8_D24_UNORM_PACK32 ||
             it->format == VK_FORMAT_D16_UNORM_S8_UINT ||
             it->format == VK_FORMAT_D24_UNORM_S8_UINT)
             continue;
