diff --git a/src/Vulkan/VkFormat.cpp b/src/Vulkan/VkFormat.cpp
index 33fc133..6cf3e5c 100644
--- a/src/Vulkan/VkFormat.cpp
+++ b/src/Vulkan/VkFormat.cpp
@@ -545,20 +545,6 @@
 		case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
 		case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 			return true;
 		default:
 			return false;
@@ -640,20 +626,6 @@
 			return VK_FORMAT_R8G8B8A8_SRGB;
 		case VK_FORMAT_BC6H_UFLOAT_BLOCK:
 		case VK_FORMAT_BC6H_SFLOAT_BLOCK:
-		case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 			return VK_FORMAT_R32G32B32A32_SFLOAT;
 		default:
 			UNSUPPORTED("format: %d", int(format));
@@ -1010,51 +982,37 @@
 		case VK_FORMAT_EAC_R11G11_SNORM_BLOCK:
 		case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
 			return 4;
 		case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
 			return 5;
 		case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
 			return 6;
 		case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
 			return 8;
 		case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
 			return 10;
 		case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 			return 12;
 		default:
 			return 1;
@@ -1093,51 +1051,37 @@
 		case VK_FORMAT_EAC_R11G11_SNORM_BLOCK:
 		case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
 			return 4;
 		case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
 			return 5;
 		case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
 			return 6;
 		case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
 			return 8;
 		case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
 			return 10;
 		case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 			return 12;
 		default:
 			return 1;
@@ -1203,20 +1147,6 @@
 		case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
 		case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 			return 16;
 		default:
 			return bytes();
@@ -1416,20 +1346,6 @@
 		case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
 		case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
 		case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 			return 4;
 		default:
 			UNSUPPORTED("Format: %d", int(format));
@@ -1591,20 +1507,6 @@
 		case VK_FORMAT_BC6H_SFLOAT_BLOCK:
 		case VK_FORMAT_EAC_R11_SNORM_BLOCK:
 		case VK_FORMAT_EAC_R11G11_SNORM_BLOCK:
-		case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 		// YCbCr formats treated as signed because VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY
 		// expects chroma components to be in range [-0.5, 0.5]
 		case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:
@@ -1870,20 +1772,6 @@
 		case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
 		case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
-		case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 			UNSUPPORTED("format: %d", int(format));
 			return 0;
 		case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:
@@ -1938,51 +1826,37 @@
 		case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:
 		case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
 			return 16 * ((width + 3) / 4);  // 128 bit per 4x4 block, computed per 4 rows
 		case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
 			return 16 * ((width + 4) / 5);
 		case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
 			return 16 * ((width + 5) / 6);
 		case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
 			return 16 * ((width + 7) / 8);
 		case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
 			return 16 * ((width + 9) / 10);
 		case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 			return 16 * ((width + 11) / 12);
 		case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:
 		case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:
@@ -2028,51 +1902,37 @@
 		case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:
 		case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
 			return pitchB(width, border, target) * ((height + 3) / 4);  // Pitch computed per 4 rows
 		case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
 			return pitchB(width, border, target) * ((height + 4) / 5);  // Pitch computed per 5 rows
 		case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
 			return pitchB(width, border, target) * ((height + 5) / 6);  // Pitch computed per 6 rows
 		case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
 			return pitchB(width, border, target) * ((height + 7) / 8);  // Pitch computed per 8 rows
 		case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
 		case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
 			return pitchB(width, border, target) * ((height + 9) / 10);  // Pitch computed per 10 rows
 		case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
 		case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
-		case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 			return pitchB(width, border, target) * ((height + 11) / 12);  // Pitch computed per 12 rows
 		case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:
 		case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:
diff --git a/src/Vulkan/VkImage.cpp b/src/Vulkan/VkImage.cpp
index 11c474e..f4a266d 100644
--- a/src/Vulkan/VkImage.cpp
+++ b/src/Vulkan/VkImage.cpp
@@ -1109,20 +1109,6 @@
 			case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
 			case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
 			case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
-			case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:
-			case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:
 				decodeASTC(subresource);
 				break;
 			default:
