bug 12998 part 8: add new formats
diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index 048d83c..5e94c4d 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -215,6 +215,7 @@
     VK_FORMAT_B5G6R5_UNORM_PACK16,
     VK_FORMAT_R5G5B5A1_UNORM_PACK16,
     VK_FORMAT_B5G5R5A1_UNORM_PACK16,
+    VK_FORMAT_A1R5G5B5_UNORM_PACK16,
     VK_FORMAT_R8_UNORM,
     VK_FORMAT_R8_SNORM,
     VK_FORMAT_R8_USCALED,
@@ -257,6 +258,13 @@
     VK_FORMAT_B8G8R8A8_UINT,
     VK_FORMAT_B8G8R8A8_SINT,
     VK_FORMAT_B8G8R8A8_SRGB,
+    VK_FORMAT_A8B8G8R8_UNORM_PACK32,
+    VK_FORMAT_A8B8G8R8_SNORM_PACK32,
+    VK_FORMAT_A8B8G8R8_USCALED_PACK32,
+    VK_FORMAT_A8B8G8R8_SSCALED_PACK32,
+    VK_FORMAT_A8B8G8R8_UINT_PACK32,
+    VK_FORMAT_A8B8G8R8_SINT_PACK32,
+    VK_FORMAT_A8B8G8R8_SRGB_PACK32,
     VK_FORMAT_A2R10G10B10_UNORM_PACK32,
     VK_FORMAT_A2R10G10B10_SNORM_PACK32,
     VK_FORMAT_A2R10G10B10_USCALED_PACK32,
@@ -309,9 +317,17 @@
     VK_FORMAT_R32G32B32A32_UINT,
     VK_FORMAT_R32G32B32A32_SINT,
     VK_FORMAT_R32G32B32A32_SFLOAT,
+    VK_FORMAT_R64_UINT,
+    VK_FORMAT_R64_SINT,
     VK_FORMAT_R64_SFLOAT,
+    VK_FORMAT_R64G64_UINT,
+    VK_FORMAT_R64G64_SINT,
     VK_FORMAT_R64G64_SFLOAT,
+    VK_FORMAT_R64G64B64_UINT,
+    VK_FORMAT_R64G64B64_SINT,
     VK_FORMAT_R64G64B64_SFLOAT,
+    VK_FORMAT_R64G64B64A64_UINT,
+    VK_FORMAT_R64G64B64A64_SINT,
     VK_FORMAT_R64G64B64A64_SFLOAT,
     VK_FORMAT_B10G11R11_UFLOAT_PACK32,
     VK_FORMAT_E5B9G9R9_UFLOAT_PACK32,
diff --git a/layers/vk_layer_utils.cpp b/layers/vk_layer_utils.cpp
index 33226a1..a96c97e 100644
--- a/layers/vk_layer_utils.cpp
+++ b/layers/vk_layer_utils.cpp
@@ -45,6 +45,7 @@
     { 2,  3 }, //    [VK_FORMAT_B5G6R5_UNORM_PACK16]
     { 2,  4 }, //    [VK_FORMAT_R5G5B5A1_UNORM_PACK16]
     { 2,  4 }, //    [VK_FORMAT_B5G5R5A1_UNORM_PACK16]
+    { 2,  4 }, //    [VK_FORMAT_A1R5G5B5_UNORM_PACK16]
     { 1,  1 }, //    [VK_FORMAT_R8_UNORM]
     { 1,  1 }, //    [VK_FORMAT_R8_SNORM]
     { 1,  1 }, //    [VK_FORMAT_R8_USCALED]
@@ -87,6 +88,13 @@
     { 4,  4 }, //    [VK_FORMAT_B8G8R8A8_UINT]
     { 4,  4 }, //    [VK_FORMAT_B8G8R8A8_SINT]
     { 4,  4 }, //    [VK_FORMAT_B8G8R8A8_SRGB]
+    { 4,  4 }, //    [VK_FORMAT_A8B8G8R8_UNORM_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_A8B8G8R8_SNORM_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_A8B8G8R8_USCALED_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_A8B8G8R8_SSCALED_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_A8B8G8R8_UINT_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_A8B8G8R8_SINT_PACK32]
+    { 4,  4 }, //    [VK_FORMAT_B8G8R8A8_SRGB_PACK32]
     { 4,  4 }, //    [VK_FORMAT_A2R10G10B10_UNORM_PACK32]
     { 4,  4 }, //    [VK_FORMAT_A2R10G10B10_SNORM_PACK32]
     { 4,  4 }, //    [VK_FORMAT_A2R10G10B10_USCALED_PACK32]
@@ -139,9 +147,17 @@
     { 16, 4 }, //    [VK_FORMAT_R32G32B32A32_UINT]
     { 16, 4 }, //    [VK_FORMAT_R32G32B32A32_SINT]
     { 16, 4 }, //    [VK_FORMAT_R32G32B32A32_SFLOAT]
+    { 8,  1 }, //    [VK_FORMAT_R64_UINT]
+    { 8,  1 }, //    [VK_FORMAT_R64_SINT]
     { 8,  1 }, //    [VK_FORMAT_R64_SFLOAT]
+    { 16, 2 }, //    [VK_FORMAT_R64G64_UINT]
+    { 16, 2 }, //    [VK_FORMAT_R64G64_SINT]
     { 16, 2 }, //    [VK_FORMAT_R64G64_SFLOAT]
+    { 24, 3 }, //    [VK_FORMAT_R64G64B64_UINT]
+    { 24, 3 }, //    [VK_FORMAT_R64G64B64_SINT]
     { 24, 3 }, //    [VK_FORMAT_R64G64B64_SFLOAT]
+    { 32, 4 }, //    [VK_FORMAT_R64G64B64A64_UINT]
+    { 32, 4 }, //    [VK_FORMAT_R64G64B64A64_SINT]
     { 32, 4 }, //    [VK_FORMAT_R64G64B64A64_SFLOAT]
     { 4,  3 }, //    [VK_FORMAT_B10G11R11_UFLOAT_PACK32]
     { 4,  3 }, //    [VK_FORMAT_E5B9G9R9_UFLOAT_PACK32]
@@ -267,6 +283,7 @@
     case VK_FORMAT_R4G4B4A4_UNORM_PACK16:
     case VK_FORMAT_R5G6B5_UNORM_PACK16:
     case VK_FORMAT_R5G5B5A1_UNORM_PACK16:
+    case VK_FORMAT_A1R5G5B5_UNORM_PACK16:
     case VK_FORMAT_R8_UNORM:
     case VK_FORMAT_R8_SNORM:
     case VK_FORMAT_R8G8_UNORM:
@@ -275,6 +292,8 @@
     case VK_FORMAT_R8G8B8_SNORM:
     case VK_FORMAT_R8G8B8A8_UNORM:
     case VK_FORMAT_R8G8B8A8_SNORM:
+    case VK_FORMAT_A8B8G8R8_UNORM_PACK32:
+    case VK_FORMAT_A8B8G8R8_SNORM_PACK32:
     case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
     case VK_FORMAT_A2B10G10R10_SNORM_PACK32:
     case VK_FORMAT_R16_UNORM:
@@ -347,6 +366,7 @@
     case VK_FORMAT_R8G8_UINT:
     case VK_FORMAT_R8G8B8_UINT:
     case VK_FORMAT_R8G8B8A8_UINT:
+    case VK_FORMAT_A8B8G8R8_UINT_PACK32:
     case VK_FORMAT_A2B10G10R10_UINT_PACK32:
     case VK_FORMAT_R16_UINT:
     case VK_FORMAT_R16G16_UINT:
@@ -356,6 +376,10 @@
     case VK_FORMAT_R32G32_UINT:
     case VK_FORMAT_R32G32B32_UINT:
     case VK_FORMAT_R32G32B32A32_UINT:
+    case VK_FORMAT_R64_UINT:
+    case VK_FORMAT_R64G64_UINT:
+    case VK_FORMAT_R64G64B64_UINT:
+    case VK_FORMAT_R64G64B64A64_UINT:
     case VK_FORMAT_B8G8R8_UINT:
     case VK_FORMAT_B8G8R8A8_UINT:
     case VK_FORMAT_A2R10G10B10_UINT_PACK32:
@@ -378,6 +402,7 @@
     case VK_FORMAT_R8G8_SINT:
     case VK_FORMAT_R8G8B8_SINT:
     case VK_FORMAT_R8G8B8A8_SINT:
+    case VK_FORMAT_A8B8G8R8_SINT_PACK32:
     case VK_FORMAT_A2B10G10R10_SINT_PACK32:
     case VK_FORMAT_R16_SINT:
     case VK_FORMAT_R16G16_SINT:
@@ -387,6 +412,10 @@
     case VK_FORMAT_R32G32_SINT:
     case VK_FORMAT_R32G32B32_SINT:
     case VK_FORMAT_R32G32B32A32_SINT:
+    case VK_FORMAT_R64_SINT:
+    case VK_FORMAT_R64G64_SINT:
+    case VK_FORMAT_R64G64B64_SINT:
+    case VK_FORMAT_R64G64B64A64_SINT:
     case VK_FORMAT_B8G8R8_SINT:
     case VK_FORMAT_B8G8R8A8_SINT:
     case VK_FORMAT_A2R10G10B10_SINT_PACK32:
@@ -440,6 +469,7 @@
     case VK_FORMAT_R8G8_SRGB:
     case VK_FORMAT_R8G8B8_SRGB:
     case VK_FORMAT_R8G8B8A8_SRGB:
+    case VK_FORMAT_A8B8G8R8_SRGB_PACK32:
     case VK_FORMAT_BC1_RGB_SRGB_BLOCK:
     case VK_FORMAT_BC2_SRGB_BLOCK:
     case VK_FORMAT_BC3_SRGB_BLOCK:
diff --git a/tests/blit_tests.cpp b/tests/blit_tests.cpp
index 340cdc0..af94856 100644
--- a/tests/blit_tests.cpp
+++ b/tests/blit_tests.cpp
@@ -317,6 +317,7 @@
         { VK_FORMAT_B5G6R5_UNORM_PACK16,          2, 3 },
         { VK_FORMAT_R5G5B5A1_UNORM_PACK16,        2,  4 },
         { VK_FORMAT_B5G5R5A1_UNORM_PACK16,        2, 4 },
+        { VK_FORMAT_A1R5G5B5_UNORM_PACK16,        2,  4 },
         { VK_FORMAT_R8_UNORM,              1,  1 },
         { VK_FORMAT_R8_SNORM,              1,  1 },
         { VK_FORMAT_R8_USCALED,            1,  1 },
@@ -359,6 +360,13 @@
         { VK_FORMAT_B8G8R8A8_UINT,         4, 4 },
         { VK_FORMAT_B8G8R8A8_SINT,         4, 4 },
         { VK_FORMAT_B8G8R8A8_SRGB,         4, 4 },
+        { VK_FORMAT_A8B8G8R8_UNORM_PACK32,        4, 4 },
+        { VK_FORMAT_A8B8G8R8_SNORM_PACK32,        4, 4 },
+        { VK_FORMAT_A8B8G8R8_USCALED_PACK32,      4, 4 },
+        { VK_FORMAT_A8B8G8R8_SSCALED_PACK32,      4, 4 },
+        { VK_FORMAT_A8B8G8R8_UINT_PACK32,         4, 4 },
+        { VK_FORMAT_A8B8G8R8_SINT_PACK32,         4, 4 },
+        { VK_FORMAT_A8B8G8R8_SRGB_PACK32,         4, 4 },
         { VK_FORMAT_A2R10G10B10_UNORM_PACK32,     4, 4 },
         { VK_FORMAT_A2R10G10B10_SNORM_PACK32,     4, 4 },
         { VK_FORMAT_A2R10G10B10_USCALED_PACK32,   4, 4 },
@@ -411,9 +419,17 @@
         { VK_FORMAT_R32G32B32A32_UINT,     16, 4 },
         { VK_FORMAT_R32G32B32A32_SINT,     16, 4 },
         { VK_FORMAT_R32G32B32A32_SFLOAT,   16, 4 },
+        { VK_FORMAT_R64_UINT,              8,  1 },
+        { VK_FORMAT_R64_SINT,              8,  1 },
         { VK_FORMAT_R64_SFLOAT,            8,  1 },
+        { VK_FORMAT_R64G64_UINT,           16, 2 },
+        { VK_FORMAT_R64G64_SINT,           16, 2 },
         { VK_FORMAT_R64G64_SFLOAT,         16, 2 },
+        { VK_FORMAT_R64G64B64_UINT,        24, 3 },
+        { VK_FORMAT_R64G64B64_SINT,        24, 3 },
         { VK_FORMAT_R64G64B64_SFLOAT,      24, 3 },
+        { VK_FORMAT_R64G64B64A64_UINT,     32, 4 },
+        { VK_FORMAT_R64G64B64A64_SINT,     32, 4 },
         { VK_FORMAT_R64G64B64A64_SFLOAT,   32, 4 },
         { VK_FORMAT_B10G11R11_UFLOAT_PACK32,      4,  3 },
         { VK_FORMAT_E5B9G9R9_UFLOAT_PACK32,       4,  3 },