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+
}