Metal: Fix ASTC on visionOS

Adjusted compile guards to
include visionOS target.

Fixed: angleproject:358393363
Change-Id: If7ead234f5deaee524172d2fb38d4a041c915716
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5777140
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
diff --git a/scripts/code_generation_hashes/Metal_format_table.json b/scripts/code_generation_hashes/Metal_format_table.json
index eb30e67..64e0142 100644
--- a/scripts/code_generation_hashes/Metal_format_table.json
+++ b/scripts/code_generation_hashes/Metal_format_table.json
@@ -4,9 +4,9 @@
   "src/libANGLE/renderer/angle_format_map.json":
     "eab6744df71f7bf6bfe9e8bb39949b79",
   "src/libANGLE/renderer/metal/gen_mtl_format_table.py":
-    "88a8801084fd30d1a28ba2c5c4762039",
+    "3416880a331afddfc5c4501b1c86ba2b",
   "src/libANGLE/renderer/metal/mtl_format_map.json":
     "07506d99e0599e7ec31894a65047fcd4",
   "src/libANGLE/renderer/metal/mtl_format_table_autogen.mm":
-    "7e368f2009d7fdee2c7d1efa4f46a3b7"
+    "2503fdbbc2cfd795ddefdcb8cc48f17a"
 }
diff --git a/src/libANGLE/renderer/metal/gen_mtl_format_table.py b/src/libANGLE/renderer/metal/gen_mtl_format_table.py
index 1ce7e5d..b7b7c27 100644
--- a/src/libANGLE/renderer/metal/gen_mtl_format_table.py
+++ b/src/libANGLE/renderer/metal/gen_mtl_format_table.py
@@ -472,7 +472,7 @@
     for angle_format in sorted(sim_override.keys()):
         switch_data += gen_image_map_switch_simple_case(angle_format, sim_override[angle_format],
                                                         angle_to_gl, sim_angle_to_mtl)
-    switch_data += "#if TARGET_OS_IOS\n"
+    switch_data += "#if TARGET_OS_IOS || TARGET_OS_VISION\n"
     for angle_format in sorted(astc_tpl_map.keys()):
         switch_data += gen_image_map_switch_astc_case_iosmac(angle_format, angle_to_gl,
                                                              astc_tpl_map)
@@ -481,7 +481,7 @@
     for angle_format in sorted(astc_tpl_map.keys()):
         switch_data += gen_image_map_switch_astc_case_tv_watchos(angle_format, angle_to_gl,
                                                                  astc_tpl_map)
-    switch_data += "#endif // TARGET_OS_IOS\n "
+    switch_data += "#endif // ASTC formats\n"
 
     # BC formats
     switch_data += "#if (TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 160400) || \\\n"
@@ -502,7 +502,7 @@
     for angle_format in sorted(ios_override.keys()):
         switch_data += gen_image_map_switch_simple_case(angle_format, ios_override[angle_format],
                                                         angle_to_gl, ios_angle_to_mtl)
-    switch_data += "#if TARGET_OS_IOS\n"
+    switch_data += "#if TARGET_OS_IOS || TARGET_OS_VISION\n"
     for angle_format in sorted(astc_tpl_map.keys()):
         switch_data += gen_image_map_switch_astc_case_iosmac(angle_format, angle_to_gl,
                                                              astc_tpl_map)
@@ -512,7 +512,7 @@
     for angle_format in sorted(astc_tpl_map.keys()):
         switch_data += gen_image_map_switch_astc_case_tv_watchos(angle_format, angle_to_gl,
                                                                  astc_tpl_map)
-    switch_data += "#endif // TARGET_OS_IOS || TARGET_OS_TV\n"
+    switch_data += "#endif // ASTC formats\n"
 
     # BC formats
     switch_data += "#if (TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 160400) || \\\n"
@@ -597,11 +597,11 @@
     for angle_format in sorted(astc_tpl_map.keys()):
         switch_data += case_image_mtl_to_angle_template.format(
             mtl_format=astc_tpl_map[angle_format] + "LDR", angle_format=angle_format)
-    switch_data += "#if TARGET_OS_IOS || TARGET_OS_OSX \n"
+    switch_data += "#if TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_VISION\n"
     for angle_format in sorted(astc_tpl_map.keys()):
         switch_data += case_image_mtl_to_angle_template.format(
             mtl_format=astc_tpl_map[angle_format] + "HDR", angle_format=angle_format)
-    switch_data += "#endif // TARGET_OS_IOS || TARGET_OS_OSX\n"
+    switch_data += "#endif // TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_VISION\n"
     switch_data += "#endif  // TARGET_OS_IPHONE || mac 11.0+\n"
 
     switch_data += "        default:\n"
@@ -714,9 +714,9 @@
 
     caps_init_str += caps_to_cpp(ios_platform_caps)
 
-    caps_init_str += "#if TARGET_OS_IOS || TARGET_OS_OSX\n"
+    caps_init_str += "#if TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_VISION\n"
     caps_init_str += caps_to_cpp(ios_specific_caps)
-    caps_init_str += "#endif // TARGET_OS_IOS || mac 11.0+ \n"
+    caps_init_str += "#endif // TARGET_OS_IOS || mac 11.0+ || TARGET_OS_VISION\n"
     caps_init_str += "#endif // TARGET_OS_IPHONE && !TARGET_OS_MACCATALYST || mac 11.0+ \n"
 
     return caps_init_str
diff --git a/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm b/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm
index 0c834ea..7c8b101 100644
--- a/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm
+++ b/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm
@@ -270,7 +270,7 @@
             return angle::FormatID::ASTC_8x6_UNORM_BLOCK;
         case MTLPixelFormatASTC_8x8_LDR:
             return angle::FormatID::ASTC_8x8_UNORM_BLOCK;
-#    if TARGET_OS_IOS || TARGET_OS_OSX
+#    if TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_VISION
         case MTLPixelFormatASTC_10x10_HDR:
             return angle::FormatID::ASTC_10x10_UNORM_BLOCK;
         case MTLPixelFormatASTC_10x5_HDR:
@@ -299,7 +299,7 @@
             return angle::FormatID::ASTC_8x6_UNORM_BLOCK;
         case MTLPixelFormatASTC_8x8_HDR:
             return angle::FormatID::ASTC_8x8_UNORM_BLOCK;
-#    endif  // TARGET_OS_IOS || TARGET_OS_OSX
+#    endif  // TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_VISION
 #endif      // TARGET_OS_IPHONE || mac 11.0+
         default:
             return angle::FormatID::NONE;
@@ -1199,7 +1199,7 @@
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
             break;
 
-#    if TARGET_OS_IOS
+#    if TARGET_OS_IOS || TARGET_OS_VISION
         case angle::FormatID::ASTC_10x10_UNORM_BLOCK:
 
             if (display->supportsAppleGPUFamily(6))
@@ -1481,7 +1481,7 @@
             this->actualFormatId = angle::FormatID::ASTC_8x8_UNORM_BLOCK;
             break;
 
-#    endif  // TARGET_OS_IOS
+#    endif  // ASTC formats
 #    if (TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 160400) || \
         (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 160400) || TARGET_OS_VISION
         case angle::FormatID::BC1_RGBA_UNORM_BLOCK:
@@ -1844,7 +1844,7 @@
             this->actualFormatId = angle::FormatID::D32_FLOAT_S8X24_UINT;
             break;
 
-#    if TARGET_OS_IOS
+#    if TARGET_OS_IOS || TARGET_OS_VISION
         case angle::FormatID::ASTC_10x10_UNORM_BLOCK:
 
             if (display->supportsAppleGPUFamily(6))
@@ -2126,7 +2126,7 @@
             this->actualFormatId = angle::FormatID::ASTC_8x8_UNORM_BLOCK;
             break;
 
-#    endif  // TARGET_OS_IOS || TARGET_OS_TV
+#    endif  // ASTC formats
 #    if (TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 160400) || \
         (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 160400) || TARGET_OS_VISION
         case angle::FormatID::BC1_RGBA_UNORM_BLOCK:
@@ -4384,7 +4384,7 @@
                   /** colorRenderable*/ display->supportsAppleGPUFamily(1),
                   /** depthRenderable*/ false);
 
-#    if TARGET_OS_IOS || TARGET_OS_OSX
+#    if TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_VISION
     setFormatCaps(MTLPixelFormatASTC_10x10_HDR, /** filterable*/ display->supportsAppleGPUFamily(6),
                   /** writable*/ false, /** blendable*/ false, /** multisample*/ false,
                   /** resolve*/ false, /** colorRenderable*/ false, /** depthRenderable*/ false);
@@ -4441,7 +4441,7 @@
                   /** writable*/ false, /** blendable*/ false, /** multisample*/ false,
                   /** resolve*/ false, /** colorRenderable*/ false, /** depthRenderable*/ false);
 
-#    endif  // TARGET_OS_IOS || mac 11.0+
+#    endif  // TARGET_OS_IOS || mac 11.0+ || TARGET_OS_VISION
 #endif      // TARGET_OS_IPHONE && !TARGET_OS_MACCATALYST || mac 11.0+
 }