Metal: Cleanup autogenerated format table

Skip generating code that sets default values.

Bug: angleproject:6874
Change-Id: Id12e39eedbe4665279710125e02b105318d40b82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3399836
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
diff --git a/scripts/code_generation_hashes/Metal_format_table.json b/scripts/code_generation_hashes/Metal_format_table.json
index 7f28290..3ebb3c9 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":
     "951e1bceaba86eecb5c23173e897d092",
   "src/libANGLE/renderer/metal/gen_mtl_format_table.py":
-    "289b2f042ee90a4b3d4ecca265ec7d32",
+    "abb2300e5d9d70931e2497f820f64bd5",
   "src/libANGLE/renderer/metal/mtl_format_map.json":
     "8ee95dde69a2f04973ea19434e4f9f3e",
   "src/libANGLE/renderer/metal/mtl_format_table_autogen.mm":
-    "cd21ecc44e2daca18cb4c519457a9460"
+    "7de4639fbacbb72b0850cf16cbf31d3b"
 }
\ No newline at end of file
diff --git a/src/libANGLE/renderer/metal/gen_mtl_format_table.py b/src/libANGLE/renderer/metal/gen_mtl_format_table.py
index 8034fd4..8db364b 100644
--- a/src/libANGLE/renderer/metal/gen_mtl_format_table.py
+++ b/src/libANGLE/renderer/metal/gen_mtl_format_table.py
@@ -106,24 +106,20 @@
 
 image_format_assign_template1 = """
             this->metalFormat = {mtl_format};
-            this->actualFormatId = angle::FormatID::{actual_angle_format};
-            this->initFunction = {init_function};
-"""
+            this->actualFormatId = angle::FormatID::{actual_angle_format};{init_function}"""
 
 image_format_assign_template2 = """
             if ({fallback_condition})
             {{
                 this->metalFormat = {mtl_format};
-                this->actualFormatId = angle::FormatID::{actual_angle_format};
-                this->initFunction = {init_function};
+                this->actualFormatId = angle::FormatID::{actual_angle_format};{init_function}
             }}
             else
             {{
                 this->metalFormat = {mtl_format_fallback};
-                this->actualFormatId = angle::FormatID::{actual_angle_format_fallback};
-                this->initFunction = {init_function_fallback};
-            }}
-"""
+                this->actualFormatId = angle::FormatID::{actual_angle_format_fallback};{init_function_fallback}
+            }}"""
+
 #D16 is fully supported on  Apple3+. However, on
 #previous  versions of Apple hardware, some operations can cause
 #undefined behavior.
@@ -131,20 +127,16 @@
             if (mtl::SupportsIOSGPUFamily(metalDevice, 3))
             {{
                 this->metalFormat = {mtl_format};
-                this->actualFormatId = angle::FormatID::{actual_angle_format};
-                this->initFunction = {init_function};
+                this->actualFormatId = angle::FormatID::{actual_angle_format};{init_function}
             }}
             else
             {{
                 this->metalFormat = {mtl_format_fallback};
-                this->actualFormatId = angle::FormatID::{actual_angle_format_fallback};
-                this->initFunction = {init_function_fallback};
-            }}
-"""
+                this->actualFormatId = angle::FormatID::{actual_angle_format_fallback};{init_function_fallback}
+            }}"""
 
 case_image_format_template1 = """        case angle::FormatID::{angle_format}:
             {image_format_assign}
-            this->swizzled = false;
             break;
 
 """
@@ -161,7 +153,6 @@
 #endif  // #if defined(__IPHONE_13_0) || defined(__MAC_10_15)
             {{
                 {image_format_assign_default}
-                this->swizzled = false;
             }}
             break;
 
@@ -175,8 +166,7 @@
             this->metalFormat = {mtl_format};
             this->actualFormatId = angle::FormatID::{actual_angle_format};
             this->vertexLoadFunction = {vertex_copy_function};
-            this->defaultAlpha = {default_alpha};
-            this->actualSameGLType = {same_gl_type};
+            this->defaultAlpha = {default_alpha};{same_gl_type}
             break;
 
 """
@@ -187,22 +177,28 @@
                 this->metalFormat = {mtl_format_packed};
                 this->actualFormatId = angle::FormatID::{actual_angle_format_packed};
                 this->vertexLoadFunction = {vertex_copy_function_packed};
-                this->defaultAlpha = {default_alpha_packed};
-                this->actualSameGLType = {same_gl_type_packed};
+                this->defaultAlpha = {default_alpha_packed};{same_gl_type_packed}
             }}
             else
             {{
                 this->metalFormat = {mtl_format};
                 this->actualFormatId = angle::FormatID::{actual_angle_format};
                 this->vertexLoadFunction = {vertex_copy_function};
-                this->defaultAlpha = {default_alpha};
-                this->actualSameGLType = {same_gl_type};
+                this->defaultAlpha = {default_alpha};{same_gl_type}
             }}
             break;
 
 """
 
 
+def wrap_init_function(str):
+    return '' if str == 'nullptr' else f'this->initFunction = {str};'
+
+
+def wrap_actual_same_gl_type(str):
+    return '' if str == 'true' else f'this->actualSameGLType = {str};'
+
+
 # NOTE(hqle): This is a modified version of the get_vertex_copy_function() function in
 # src/libANGLE/renderer/angle_format.py
 # - Return value is a tuple {copy_function, default_alpha_value, have_same_gl_type}.
@@ -303,8 +299,9 @@
         return image_format_assign_template1.format(
             actual_angle_format=actual_angle_format,
             mtl_format=angle_to_mtl_map[actual_angle_format],
-            init_function=angle_format_utils.get_internal_format_initializer(
-                angle_to_gl[angle_format], actual_angle_format))
+            init_function=wrap_init_function(
+                angle_format_utils.get_internal_format_initializer(angle_to_gl[angle_format],
+                                                                   actual_angle_format)))
 
     return gen_image_map_switch_case(angle_format, actual_angle_format_info, angle_to_mtl_map,
                                      gen_format_assign_code)
@@ -328,20 +325,23 @@
             return image_format_assign_template2.format(
                 actual_angle_format=actual_angle_format,
                 mtl_format=angle_to_mtl_map[actual_angle_format],
-                init_function=angle_format_utils.get_internal_format_initializer(
-                    gl_format, actual_angle_format),
+                init_function=wrap_init_function(
+                    angle_format_utils.get_internal_format_initializer(
+                        gl_format, actual_angle_format)),
                 actual_angle_format_fallback=actual_angle_format_fallback,
                 mtl_format_fallback=angle_to_mtl_map[actual_angle_format_fallback],
-                init_function_fallback=angle_format_utils.get_internal_format_initializer(
-                    gl_format, actual_angle_format_fallback),
+                init_function_fallback=wrap_init_function(
+                    angle_format_utils.get_internal_format_initializer(
+                        gl_format, actual_angle_format_fallback)),
                 fallback_condition=fallback_condition)
         else:
             # return ordinary block:
             return image_format_assign_template1.format(
                 actual_angle_format=actual_angle_format,
                 mtl_format=angle_to_mtl_map[actual_angle_format],
-                init_function=angle_format_utils.get_internal_format_initializer(
-                    gl_format, actual_angle_format))
+                init_function=wrap_init_function(
+                    angle_format_utils.get_internal_format_initializer(
+                        gl_format, actual_angle_format)))
 
     return gen_image_map_switch_case(angle_format, actual_angle_format_info, angle_to_mtl_map,
                                      gen_format_assign_code)
@@ -357,12 +357,14 @@
         return image_format_assign_template2.format(
             actual_angle_format=actual_angle_format,
             mtl_format=angle_to_mtl_map[actual_angle_format],
-            init_function=angle_format_utils.get_internal_format_initializer(
-                gl_format, actual_angle_format),
+            init_function=wrap_init_function(
+                angle_format_utils.get_internal_format_initializer(gl_format,
+                                                                   actual_angle_format)),
             actual_angle_format_fallback=actual_angle_format_fallback,
             mtl_format_fallback=angle_to_mtl_map[actual_angle_format_fallback],
-            init_function_fallback=angle_format_utils.get_internal_format_initializer(
-                gl_format, actual_angle_format_fallback),
+            init_function_fallback=wrap_init_function(
+                angle_format_utils.get_internal_format_initializer(gl_format,
+                                                                   actual_angle_format_fallback)),
             fallback_condition="display->supportsAppleGPUFamily(1)")
 
     return gen_image_map_switch_case(angle_format, actual_angle_format_info, angle_to_mtl_map,
@@ -377,12 +379,14 @@
         return image_format_assign_template2.format(
             actual_angle_format=actual_angle_format,
             mtl_format=angle_to_mtl_map[actual_angle_format] + "HDR",
-            init_function=angle_format_utils.get_internal_format_initializer(
-                gl_format, actual_angle_format),
+            init_function=wrap_init_function(
+                angle_format_utils.get_internal_format_initializer(gl_format,
+                                                                   actual_angle_format)),
             actual_angle_format_fallback=actual_angle_format,
             mtl_format_fallback=angle_to_mtl_map[actual_angle_format] + "LDR",
-            init_function_fallback=angle_format_utils.get_internal_format_initializer(
-                gl_format, actual_angle_format),
+            init_function_fallback=wrap_init_function(
+                angle_format_utils.get_internal_format_initializer(gl_format,
+                                                                   actual_angle_format)),
             fallback_condition="display->supportsAppleGPUFamily(6)")
 
     return gen_image_map_switch_case(angle_format, angle_format, angle_to_mtl_map,
@@ -396,8 +400,9 @@
         return image_format_assign_template1.format(
             actual_angle_format=actual_angle_format,
             mtl_format=angle_to_mtl_map[actual_angle_format] + "LDR",
-            init_function=angle_format_utils.get_internal_format_initializer(
-                gl_format, actual_angle_format))
+            init_function=wrap_init_function(
+                angle_format_utils.get_internal_format_initializer(gl_format,
+                                                                   actual_angle_format)))
 
     return gen_image_map_switch_case(angle_format, angle_format, angle_to_mtl_map,
                                      gen_format_assign_code)
@@ -584,12 +589,12 @@
             actual_angle_format_packed=angle_fmt_packed,
             vertex_copy_function_packed=copy_function_packed,
             default_alpha_packed=default_alpha_packed,
-            same_gl_type_packed=same_gl_type_packed,
+            same_gl_type_packed=wrap_actual_same_gl_type(same_gl_type_packed),
             mtl_format=mtl_format,
             actual_angle_format=actual_angle_fmt,
             vertex_copy_function=copy_function,
             default_alpha=default_alpha,
-            same_gl_type=same_gl_type)
+            same_gl_type=wrap_actual_same_gl_type(same_gl_type))
     else:
         # This format has no packed buffer's override, return ordinary block.
         return case_vertex_format_template1.format(
@@ -598,7 +603,7 @@
             actual_angle_format=actual_angle_fmt,
             vertex_copy_function=copy_function,
             default_alpha=default_alpha,
-            same_gl_type=same_gl_type)
+            same_gl_type=wrap_actual_same_gl_type(same_gl_type))
 
 
 def gen_vertex_map_switch_string(vertex_table):
diff --git a/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm b/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm
index df60d08..728fece 100644
--- a/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm
+++ b/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm
@@ -314,486 +314,324 @@
 
             this->metalFormat    = MTLPixelFormatA8Unorm;
             this->actualFormatId = angle::FormatID::A8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::B10G10R10A2_UNORM:
 
             this->metalFormat    = MTLPixelFormatBGR10A2Unorm;
             this->actualFormatId = angle::FormatID::B10G10R10A2_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::B8G8R8A8_UNORM:
 
             this->metalFormat    = MTLPixelFormatBGRA8Unorm;
             this->actualFormatId = angle::FormatID::B8G8R8A8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::B8G8R8A8_UNORM_SRGB:
 
             this->metalFormat    = MTLPixelFormatBGRA8Unorm_sRGB;
             this->actualFormatId = angle::FormatID::B8G8R8A8_UNORM_SRGB;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::D32_FLOAT:
 
             this->metalFormat    = MTLPixelFormatDepth32Float;
             this->actualFormatId = angle::FormatID::D32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::D32_FLOAT_S8X24_UINT:
 
             this->metalFormat    = MTLPixelFormatDepth32Float_Stencil8;
             this->actualFormatId = angle::FormatID::D32_FLOAT_S8X24_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::NONE:
 
             this->metalFormat    = MTLPixelFormatInvalid;
             this->actualFormatId = angle::FormatID::NONE;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R10G10B10A2_UINT:
 
             this->metalFormat    = MTLPixelFormatRGB10A2Uint;
             this->actualFormatId = angle::FormatID::R10G10B10A2_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R10G10B10A2_UNORM:
 
             this->metalFormat    = MTLPixelFormatRGB10A2Unorm;
             this->actualFormatId = angle::FormatID::R10G10B10A2_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R11G11B10_FLOAT:
 
             this->metalFormat    = MTLPixelFormatRG11B10Float;
             this->actualFormatId = angle::FormatID::R11G11B10_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16B16A16_FLOAT:
 
             this->metalFormat    = MTLPixelFormatRGBA16Float;
             this->actualFormatId = angle::FormatID::R16G16B16A16_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16B16A16_SINT:
 
             this->metalFormat    = MTLPixelFormatRGBA16Sint;
             this->actualFormatId = angle::FormatID::R16G16B16A16_SINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16B16A16_SNORM:
 
             this->metalFormat    = MTLPixelFormatRGBA16Snorm;
             this->actualFormatId = angle::FormatID::R16G16B16A16_SNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16B16A16_UINT:
 
             this->metalFormat    = MTLPixelFormatRGBA16Uint;
             this->actualFormatId = angle::FormatID::R16G16B16A16_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16B16A16_UNORM:
 
             this->metalFormat    = MTLPixelFormatRGBA16Unorm;
             this->actualFormatId = angle::FormatID::R16G16B16A16_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16_FLOAT:
 
             this->metalFormat    = MTLPixelFormatRG16Float;
             this->actualFormatId = angle::FormatID::R16G16_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16_SINT:
 
             this->metalFormat    = MTLPixelFormatRG16Sint;
             this->actualFormatId = angle::FormatID::R16G16_SINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16_SNORM:
 
             this->metalFormat    = MTLPixelFormatRG16Snorm;
             this->actualFormatId = angle::FormatID::R16G16_SNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16_UINT:
 
             this->metalFormat    = MTLPixelFormatRG16Uint;
             this->actualFormatId = angle::FormatID::R16G16_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16_UNORM:
 
             this->metalFormat    = MTLPixelFormatRG16Unorm;
             this->actualFormatId = angle::FormatID::R16G16_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16_FLOAT:
 
             this->metalFormat    = MTLPixelFormatR16Float;
             this->actualFormatId = angle::FormatID::R16_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16_SINT:
 
             this->metalFormat    = MTLPixelFormatR16Sint;
             this->actualFormatId = angle::FormatID::R16_SINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16_SNORM:
 
             this->metalFormat    = MTLPixelFormatR16Snorm;
             this->actualFormatId = angle::FormatID::R16_SNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16_UINT:
 
             this->metalFormat    = MTLPixelFormatR16Uint;
             this->actualFormatId = angle::FormatID::R16_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16_UNORM:
 
             this->metalFormat    = MTLPixelFormatR16Unorm;
             this->actualFormatId = angle::FormatID::R16_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32G32B32A32_FLOAT:
 
             this->metalFormat    = MTLPixelFormatRGBA32Float;
             this->actualFormatId = angle::FormatID::R32G32B32A32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32G32B32A32_SINT:
 
             this->metalFormat    = MTLPixelFormatRGBA32Sint;
             this->actualFormatId = angle::FormatID::R32G32B32A32_SINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32G32B32A32_UINT:
 
             this->metalFormat    = MTLPixelFormatRGBA32Uint;
             this->actualFormatId = angle::FormatID::R32G32B32A32_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32G32_FLOAT:
 
             this->metalFormat    = MTLPixelFormatRG32Float;
             this->actualFormatId = angle::FormatID::R32G32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32G32_SINT:
 
             this->metalFormat    = MTLPixelFormatRG32Sint;
             this->actualFormatId = angle::FormatID::R32G32_SINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32G32_UINT:
 
             this->metalFormat    = MTLPixelFormatRG32Uint;
             this->actualFormatId = angle::FormatID::R32G32_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32_FLOAT:
 
             this->metalFormat    = MTLPixelFormatR32Float;
             this->actualFormatId = angle::FormatID::R32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32_SINT:
 
             this->metalFormat    = MTLPixelFormatR32Sint;
             this->actualFormatId = angle::FormatID::R32_SINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32_UINT:
 
             this->metalFormat    = MTLPixelFormatR32Uint;
             this->actualFormatId = angle::FormatID::R32_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8B8A8_SINT:
 
             this->metalFormat    = MTLPixelFormatRGBA8Sint;
             this->actualFormatId = angle::FormatID::R8G8B8A8_SINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8B8A8_SNORM:
 
             this->metalFormat    = MTLPixelFormatRGBA8Snorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_SNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8B8A8_UINT:
 
             this->metalFormat    = MTLPixelFormatRGBA8Uint;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8B8A8_UNORM:
 
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8B8A8_UNORM_SRGB:
 
             this->metalFormat    = MTLPixelFormatRGBA8Unorm_sRGB;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM_SRGB;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8_SINT:
 
             this->metalFormat    = MTLPixelFormatRG8Sint;
             this->actualFormatId = angle::FormatID::R8G8_SINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8_SNORM:
 
             this->metalFormat    = MTLPixelFormatRG8Snorm;
             this->actualFormatId = angle::FormatID::R8G8_SNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8_UINT:
 
             this->metalFormat    = MTLPixelFormatRG8Uint;
             this->actualFormatId = angle::FormatID::R8G8_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8_UNORM:
 
             this->metalFormat    = MTLPixelFormatRG8Unorm;
             this->actualFormatId = angle::FormatID::R8G8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8_SINT:
 
             this->metalFormat    = MTLPixelFormatR8Sint;
             this->actualFormatId = angle::FormatID::R8_SINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8_SNORM:
 
             this->metalFormat    = MTLPixelFormatR8Snorm;
             this->actualFormatId = angle::FormatID::R8_SNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8_UINT:
 
             this->metalFormat    = MTLPixelFormatR8Uint;
             this->actualFormatId = angle::FormatID::R8_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8_UNORM:
 
             this->metalFormat    = MTLPixelFormatR8Unorm;
             this->actualFormatId = angle::FormatID::R8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R9G9B9E5_SHAREDEXP:
 
             this->metalFormat    = MTLPixelFormatRGB9E5Float;
             this->actualFormatId = angle::FormatID::R9G9B9E5_SHAREDEXP;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::S8_UINT:
 
             this->metalFormat    = MTLPixelFormatStencil8;
             this->actualFormatId = angle::FormatID::S8_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::A16_FLOAT:
 
             this->metalFormat    = MTLPixelFormatRGBA16Float;
             this->actualFormatId = angle::FormatID::R16G16B16A16_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::A32_FLOAT:
 
             this->metalFormat    = MTLPixelFormatRGBA32Float;
             this->actualFormatId = angle::FormatID::R32G32B32A32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::D24_UNORM_X8_UINT:
 
             this->metalFormat    = MTLPixelFormatDepth32Float;
             this->actualFormatId = angle::FormatID::D32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::D32_UNORM:
 
             this->metalFormat    = MTLPixelFormatDepth32Float;
             this->actualFormatId = angle::FormatID::D32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::L16A16_FLOAT:
 
             this->metalFormat    = MTLPixelFormatRGBA16Float;
             this->actualFormatId = angle::FormatID::R16G16B16A16_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::L16_FLOAT:
@@ -802,17 +640,12 @@
             this->actualFormatId = angle::FormatID::R16G16B16A16_FLOAT;
             this->initFunction =
                 Initialize4ComponentData<GLhalf, 0x0000, 0x0000, 0x0000, gl::Float16One>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::L32A32_FLOAT:
 
             this->metalFormat    = MTLPixelFormatRGBA32Float;
             this->actualFormatId = angle::FormatID::R32G32B32A32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::L32_FLOAT:
@@ -821,17 +654,12 @@
             this->actualFormatId = angle::FormatID::R32G32B32A32_FLOAT;
             this->initFunction   = Initialize4ComponentData<GLfloat, 0x00000000, 0x00000000,
                                                           0x00000000, gl::Float32One>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::L8A8_UNORM:
 
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::L8_UNORM:
@@ -839,8 +667,6 @@
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16B16_FLOAT:
@@ -849,8 +675,6 @@
             this->actualFormatId = angle::FormatID::R16G16B16A16_FLOAT;
             this->initFunction =
                 Initialize4ComponentData<GLhalf, 0x0000, 0x0000, 0x0000, gl::Float16One>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16B16_SINT:
@@ -858,8 +682,6 @@
             this->metalFormat    = MTLPixelFormatRGBA16Sint;
             this->actualFormatId = angle::FormatID::R16G16B16A16_SINT;
             this->initFunction = Initialize4ComponentData<GLshort, 0x0000, 0x0000, 0x0000, 0x0001>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16B16_SNORM:
@@ -867,8 +689,6 @@
             this->metalFormat    = MTLPixelFormatRGBA16Snorm;
             this->actualFormatId = angle::FormatID::R16G16B16A16_SNORM;
             this->initFunction = Initialize4ComponentData<GLushort, 0x0000, 0x0000, 0x0000, 0x7FFF>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16B16_UINT:
@@ -876,8 +696,6 @@
             this->metalFormat    = MTLPixelFormatRGBA16Uint;
             this->actualFormatId = angle::FormatID::R16G16B16A16_UINT;
             this->initFunction = Initialize4ComponentData<GLushort, 0x0000, 0x0000, 0x0000, 0x0001>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R16G16B16_UNORM:
@@ -885,8 +703,6 @@
             this->metalFormat    = MTLPixelFormatRGBA16Unorm;
             this->actualFormatId = angle::FormatID::R16G16B16A16_UNORM;
             this->initFunction = Initialize4ComponentData<GLubyte, 0x0000, 0x0000, 0x0000, 0xFFFF>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32G32B32_FLOAT:
@@ -895,8 +711,6 @@
             this->actualFormatId = angle::FormatID::R32G32B32A32_FLOAT;
             this->initFunction   = Initialize4ComponentData<GLfloat, 0x00000000, 0x00000000,
                                                           0x00000000, gl::Float32One>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32G32B32_SINT:
@@ -905,8 +719,6 @@
             this->actualFormatId = angle::FormatID::R32G32B32A32_SINT;
             this->initFunction =
                 Initialize4ComponentData<GLint, 0x00000000, 0x00000000, 0x00000000, 0x00000001>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R32G32B32_UINT:
@@ -915,8 +727,6 @@
             this->actualFormatId = angle::FormatID::R32G32B32A32_UINT;
             this->initFunction =
                 Initialize4ComponentData<GLuint, 0x00000000, 0x00000000, 0x00000000, 0x00000001>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8B8_SINT:
@@ -924,8 +734,6 @@
             this->metalFormat    = MTLPixelFormatRGBA8Sint;
             this->actualFormatId = angle::FormatID::R8G8B8A8_SINT;
             this->initFunction   = Initialize4ComponentData<GLbyte, 0x00, 0x00, 0x00, 0x01>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8B8_SNORM:
@@ -933,8 +741,6 @@
             this->metalFormat    = MTLPixelFormatRGBA8Snorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_SNORM;
             this->initFunction   = Initialize4ComponentData<GLbyte, 0x00, 0x00, 0x00, 0x7F>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8B8_UINT:
@@ -942,8 +748,6 @@
             this->metalFormat    = MTLPixelFormatRGBA8Uint;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UINT;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0x01>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8B8_UNORM:
@@ -951,8 +755,6 @@
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8B8_UNORM_SRGB:
@@ -960,8 +762,6 @@
             this->metalFormat    = MTLPixelFormatRGBA8Unorm_sRGB;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM_SRGB;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
 #if TARGET_OS_OSX || TARGET_OS_MACCATALYST
@@ -969,126 +769,84 @@
 
             this->metalFormat    = MTLPixelFormatBC1_RGBA;
             this->actualFormatId = angle::FormatID::BC1_RGBA_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC1_RGBA_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC1_RGBA_sRGB;
             this->actualFormatId = angle::FormatID::BC1_RGBA_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC2_RGBA_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC2_RGBA;
             this->actualFormatId = angle::FormatID::BC2_RGBA_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC2_RGBA_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC2_RGBA_sRGB;
             this->actualFormatId = angle::FormatID::BC2_RGBA_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC3_RGBA_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC3_RGBA;
             this->actualFormatId = angle::FormatID::BC3_RGBA_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC3_RGBA_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC3_RGBA_sRGB;
             this->actualFormatId = angle::FormatID::BC3_RGBA_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC4_RED_SNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC4_RSnorm;
             this->actualFormatId = angle::FormatID::BC4_RED_SNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC4_RED_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC4_RUnorm;
             this->actualFormatId = angle::FormatID::BC4_RED_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC5_RG_SNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC5_RGSnorm;
             this->actualFormatId = angle::FormatID::BC5_RG_SNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC5_RG_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC5_RGUnorm;
             this->actualFormatId = angle::FormatID::BC5_RG_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC6H_RGB_SFLOAT_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC6H_RGBFloat;
             this->actualFormatId = angle::FormatID::BC6H_RGB_SFLOAT_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC6H_RGB_UFLOAT_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC6H_RGBUfloat;
             this->actualFormatId = angle::FormatID::BC6H_RGB_UFLOAT_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC7_RGBA_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC7_RGBAUnorm;
             this->actualFormatId = angle::FormatID::BC7_RGBA_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC7_RGBA_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatBC7_RGBAUnorm_sRGB;
             this->actualFormatId = angle::FormatID::BC7_RGBA_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::D24_UNORM_S8_UINT:
@@ -1098,25 +856,18 @@
             {
                 this->metalFormat    = MTLPixelFormatDepth24Unorm_Stencil8;
                 this->actualFormatId = angle::FormatID::D24_UNORM_S8_UINT;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatDepth32Float_Stencil8;
                 this->actualFormatId = angle::FormatID::D32_FLOAT_S8X24_UINT;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::D16_UNORM:
 
             this->metalFormat    = MTLPixelFormatDepth32Float;
             this->actualFormatId = angle::FormatID::D32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::BC1_RGB_UNORM_BLOCK:
@@ -1126,10 +877,8 @@
 
                 this->metalFormat    = MTLPixelFormatBC1_RGBA;
                 this->actualFormatId = angle::FormatID::BC1_RGBA_UNORM_BLOCK;
-                this->initFunction   = nullptr;
-
-                this->swizzled = true;
-                this->swizzle  = {GL_RED, GL_GREEN, GL_BLUE, GL_ONE};
+                this->swizzled       = true;
+                this->swizzle        = {GL_RED, GL_GREEN, GL_BLUE, GL_ONE};
             }
             else
 #    endif  // #if defined(__IPHONE_13_0) || defined(__MAC_10_15)
@@ -1137,9 +886,6 @@
 
                 this->metalFormat    = MTLPixelFormatBC1_RGBA;
                 this->actualFormatId = angle::FormatID::BC1_RGBA_UNORM_BLOCK;
-                this->initFunction   = nullptr;
-
-                this->swizzled = false;
             }
             break;
 
@@ -1150,10 +896,8 @@
 
                 this->metalFormat    = MTLPixelFormatBC1_RGBA_sRGB;
                 this->actualFormatId = angle::FormatID::BC1_RGBA_UNORM_SRGB_BLOCK;
-                this->initFunction   = nullptr;
-
-                this->swizzled = true;
-                this->swizzle  = {GL_RED, GL_GREEN, GL_BLUE, GL_ONE};
+                this->swizzled       = true;
+                this->swizzle        = {GL_RED, GL_GREEN, GL_BLUE, GL_ONE};
             }
             else
 #    endif  // #if defined(__IPHONE_13_0) || defined(__MAC_10_15)
@@ -1161,9 +905,6 @@
 
                 this->metalFormat    = MTLPixelFormatBC1_RGBA_sRGB;
                 this->actualFormatId = angle::FormatID::BC1_RGBA_UNORM_SRGB_BLOCK;
-                this->initFunction   = nullptr;
-
-                this->swizzled = false;
             }
             break;
 
@@ -1173,36 +914,24 @@
 
             this->metalFormat    = MTLPixelFormatRG16Snorm;
             this->actualFormatId = angle::FormatID::R16G16_SNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11G11_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatRG16Unorm;
             this->actualFormatId = angle::FormatID::R16G16_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11_SNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatR16Snorm;
             this->actualFormatId = angle::FormatID::R16_SNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatR16Unorm;
             this->actualFormatId = angle::FormatID::R16_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC1_R8G8B8_UNORM_BLOCK:
@@ -1210,17 +939,12 @@
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A1_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatRGBA8Unorm_sRGB;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM_SRGB;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A1_UNORM_BLOCK:
@@ -1228,26 +952,18 @@
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatRGBA8Unorm_sRGB;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM_SRGB;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8_SRGB_BLOCK:
@@ -1255,8 +971,6 @@
             this->metalFormat    = MTLPixelFormatRGBA8Unorm_sRGB;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM_SRGB;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8_UNORM_BLOCK:
@@ -1264,26 +978,18 @@
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R4G4B4A4_UNORM:
 
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R5G5B5A1_UNORM:
 
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R5G6B5_UNORM:
@@ -1291,8 +997,6 @@
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
 #endif
@@ -1301,180 +1005,120 @@
 
             this->metalFormat    = MTLPixelFormatASTC_10x10_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x10_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x6_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x6_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x6_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x8_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x8_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x10_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_12x10_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_12x10_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x12_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_12x12_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_12x12_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_4x4_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_4x4_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_4x4_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x4_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_5x4_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_5x4_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_5x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_5x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_6x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_6x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x6_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_6x6_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_6x6_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_8x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x6_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x6_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_8x6_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x8_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_8x8_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11G11_SNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_RG11Snorm;
             this->actualFormatId = angle::FormatID::EAC_R11G11_SNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11G11_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_RG11Unorm;
             this->actualFormatId = angle::FormatID::EAC_R11G11_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11_SNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_R11Snorm;
             this->actualFormatId = angle::FormatID::EAC_R11_SNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_R11Unorm;
             this->actualFormatId = angle::FormatID::EAC_R11_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC1_R8G8B8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatETC2_RGB8;
             this->actualFormatId = angle::FormatID::ETC1_R8G8B8_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A1_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatETC2_RGB8A1_sRGB;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8A1_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A1_UNORM_BLOCK:
@@ -1482,152 +1126,102 @@
             this->metalFormat    = MTLPixelFormatETC2_RGB8A1;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8A1_UNORM_BLOCK;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_RGBA8_sRGB;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8A8_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_RGBA8;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8A8_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatETC2_RGB8_sRGB;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatETC2_RGB8;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_2BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_2BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_4BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_4BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_2BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_2BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_2BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_2BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_4BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_4BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_4BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_4BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::D16_UNORM:
 
             this->metalFormat    = MTLPixelFormatDepth32Float;
             this->actualFormatId = angle::FormatID::D32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::D24_UNORM_S8_UINT:
 
             this->metalFormat    = MTLPixelFormatDepth32Float_Stencil8;
             this->actualFormatId = angle::FormatID::D32_FLOAT_S8X24_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R4G4B4A4_UNORM:
 
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R5G5B5A1_UNORM:
 
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R5G6B5_UNORM:
@@ -1635,8 +1229,6 @@
             this->metalFormat    = MTLPixelFormatRGBA8Unorm;
             this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
 #    if TARGET_OS_IOS
@@ -1646,16 +1238,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x10_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x10_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x5_UNORM_BLOCK:
@@ -1664,16 +1252,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x6_UNORM_BLOCK:
@@ -1682,16 +1266,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x6_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x6_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x8_UNORM_BLOCK:
@@ -1700,16 +1280,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x8_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x8_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x10_UNORM_BLOCK:
@@ -1718,16 +1294,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x10_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x10_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x12_UNORM_BLOCK:
@@ -1736,16 +1308,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x12_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x12_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x12_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x12_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_4x4_UNORM_BLOCK:
@@ -1754,16 +1322,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_4x4_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_4x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_4x4_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_4x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x4_UNORM_BLOCK:
@@ -1772,16 +1336,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x4_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x4_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x5_UNORM_BLOCK:
@@ -1790,16 +1350,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x5_UNORM_BLOCK:
@@ -1808,16 +1364,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x6_UNORM_BLOCK:
@@ -1826,16 +1378,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x6_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x6_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x5_UNORM_BLOCK:
@@ -1844,16 +1392,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x6_UNORM_BLOCK:
@@ -1862,16 +1406,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x6_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x6_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x8_UNORM_BLOCK:
@@ -1880,16 +1420,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x8_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x8_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
 #    elif TARGET_OS_TV || TARGET_OS_WATCH
@@ -1897,126 +1433,84 @@
 
             this->metalFormat    = MTLPixelFormatASTC_10x10_LDR;
             this->actualFormatId = angle::FormatID::ASTC_10x10_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x5_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x5_LDR;
             this->actualFormatId = angle::FormatID::ASTC_10x5_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x6_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x6_LDR;
             this->actualFormatId = angle::FormatID::ASTC_10x6_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x8_LDR;
             this->actualFormatId = angle::FormatID::ASTC_10x8_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x10_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_12x10_LDR;
             this->actualFormatId = angle::FormatID::ASTC_12x10_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x12_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_12x12_LDR;
             this->actualFormatId = angle::FormatID::ASTC_12x12_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_4x4_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_4x4_LDR;
             this->actualFormatId = angle::FormatID::ASTC_4x4_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x4_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_5x4_LDR;
             this->actualFormatId = angle::FormatID::ASTC_5x4_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x5_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_5x5_LDR;
             this->actualFormatId = angle::FormatID::ASTC_5x5_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x5_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_6x5_LDR;
             this->actualFormatId = angle::FormatID::ASTC_6x5_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x6_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_6x6_LDR;
             this->actualFormatId = angle::FormatID::ASTC_6x6_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x5_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x5_LDR;
             this->actualFormatId = angle::FormatID::ASTC_8x5_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x6_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x6_LDR;
             this->actualFormatId = angle::FormatID::ASTC_8x6_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x8_LDR;
             this->actualFormatId = angle::FormatID::ASTC_8x8_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
 #    endif  // TARGET_OS_IOS
@@ -2025,180 +1519,120 @@
 
             this->metalFormat    = MTLPixelFormatASTC_10x10_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x10_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x6_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x6_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x6_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x8_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x8_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x10_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_12x10_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_12x10_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x12_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_12x12_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_12x12_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_4x4_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_4x4_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_4x4_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x4_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_5x4_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_5x4_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_5x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_5x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_6x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_6x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x6_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_6x6_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_6x6_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_8x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x6_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x6_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_8x6_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x8_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_8x8_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11G11_SNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_RG11Snorm;
             this->actualFormatId = angle::FormatID::EAC_R11G11_SNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11G11_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_RG11Unorm;
             this->actualFormatId = angle::FormatID::EAC_R11G11_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11_SNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_R11Snorm;
             this->actualFormatId = angle::FormatID::EAC_R11_SNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_R11Unorm;
             this->actualFormatId = angle::FormatID::EAC_R11_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC1_R8G8B8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatETC2_RGB8;
             this->actualFormatId = angle::FormatID::ETC1_R8G8B8_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A1_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatETC2_RGB8A1_sRGB;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8A1_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A1_UNORM_BLOCK:
@@ -2206,179 +1640,120 @@
             this->metalFormat    = MTLPixelFormatETC2_RGB8A1;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8A1_UNORM_BLOCK;
             this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_RGBA8_sRGB;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8A8_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatEAC_RGBA8;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8A8_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatETC2_RGB8_sRGB;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatETC2_RGB8;
             this->actualFormatId = angle::FormatID::ETC2_R8G8B8_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_2BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_2BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_4BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_4BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_2BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_2BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_2BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_2BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_4BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_4BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_4BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_4BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R4G4B4A4_UNORM:
 
             this->metalFormat    = MTLPixelFormatABGR4Unorm;
             this->actualFormatId = angle::FormatID::R4G4B4A4_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R5G5B5A1_UNORM:
 
             this->metalFormat    = MTLPixelFormatA1BGR5Unorm;
             this->actualFormatId = angle::FormatID::R5G5B5A1_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R5G6B5_UNORM:
 
             this->metalFormat    = MTLPixelFormatB5G6R5Unorm;
             this->actualFormatId = angle::FormatID::R5G6B5_UNORM;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8_UNORM_SRGB:
 
             this->metalFormat    = MTLPixelFormatRG8Unorm_sRGB;
             this->actualFormatId = angle::FormatID::R8G8_UNORM_SRGB;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8_UNORM_SRGB:
 
             this->metalFormat    = MTLPixelFormatR8Unorm_sRGB;
             this->actualFormatId = angle::FormatID::R8_UNORM_SRGB;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::D16_UNORM:
 
             this->metalFormat    = MTLPixelFormatDepth32Float;
             this->actualFormatId = angle::FormatID::D32_FLOAT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::D24_UNORM_S8_UINT:
 
             this->metalFormat    = MTLPixelFormatDepth32Float_Stencil8;
             this->actualFormatId = angle::FormatID::D32_FLOAT_S8X24_UINT;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
 #    if TARGET_OS_IOS
@@ -2388,16 +1763,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x10_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x10_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x5_UNORM_BLOCK:
@@ -2406,16 +1777,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x6_UNORM_BLOCK:
@@ -2424,16 +1791,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x6_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x6_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x8_UNORM_BLOCK:
@@ -2442,16 +1805,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x8_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x8_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x10_UNORM_BLOCK:
@@ -2460,16 +1819,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x10_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x10_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x12_UNORM_BLOCK:
@@ -2478,16 +1833,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x12_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x12_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x12_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x12_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_4x4_UNORM_BLOCK:
@@ -2496,16 +1847,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_4x4_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_4x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_4x4_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_4x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x4_UNORM_BLOCK:
@@ -2514,16 +1861,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x4_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x4_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x5_UNORM_BLOCK:
@@ -2532,16 +1875,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x5_UNORM_BLOCK:
@@ -2550,16 +1889,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x6_UNORM_BLOCK:
@@ -2568,16 +1903,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x6_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x6_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x5_UNORM_BLOCK:
@@ -2586,16 +1917,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x6_UNORM_BLOCK:
@@ -2604,16 +1931,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x6_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x6_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x8_UNORM_BLOCK:
@@ -2622,16 +1945,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x8_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x8_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
 #    elif TARGET_OS_TV || TARGET_OS_WATCH
@@ -2639,126 +1958,84 @@
 
             this->metalFormat    = MTLPixelFormatASTC_10x10_LDR;
             this->actualFormatId = angle::FormatID::ASTC_10x10_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x5_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x5_LDR;
             this->actualFormatId = angle::FormatID::ASTC_10x5_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x6_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x6_LDR;
             this->actualFormatId = angle::FormatID::ASTC_10x6_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x8_LDR;
             this->actualFormatId = angle::FormatID::ASTC_10x8_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x10_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_12x10_LDR;
             this->actualFormatId = angle::FormatID::ASTC_12x10_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x12_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_12x12_LDR;
             this->actualFormatId = angle::FormatID::ASTC_12x12_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_4x4_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_4x4_LDR;
             this->actualFormatId = angle::FormatID::ASTC_4x4_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x4_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_5x4_LDR;
             this->actualFormatId = angle::FormatID::ASTC_5x4_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x5_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_5x5_LDR;
             this->actualFormatId = angle::FormatID::ASTC_5x5_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x5_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_6x5_LDR;
             this->actualFormatId = angle::FormatID::ASTC_6x5_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x6_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_6x6_LDR;
             this->actualFormatId = angle::FormatID::ASTC_6x6_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x5_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x5_LDR;
             this->actualFormatId = angle::FormatID::ASTC_8x5_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x6_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x6_LDR;
             this->actualFormatId = angle::FormatID::ASTC_8x6_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x8_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x8_LDR;
             this->actualFormatId = angle::FormatID::ASTC_8x8_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
 #    endif  // TARGET_OS_IOS || TARGET_OS_TV
@@ -2768,126 +2045,84 @@
 
             this->metalFormat    = MTLPixelFormatASTC_10x10_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x10_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x6_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x6_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x6_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_10x8_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_10x8_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x10_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_12x10_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_12x10_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x12_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_12x12_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_12x12_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_4x4_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_4x4_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_4x4_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x4_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_5x4_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_5x4_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_5x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_5x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_6x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_6x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x6_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_6x6_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_6x6_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x5_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x5_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_8x5_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x6_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x6_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_8x6_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x8_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatASTC_8x8_sRGB;
             this->actualFormatId = angle::FormatID::ASTC_8x8_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11G11_SNORM_BLOCK:
@@ -2896,16 +2131,12 @@
             {
                 this->metalFormat    = MTLPixelFormatEAC_RG11Snorm;
                 this->actualFormatId = angle::FormatID::EAC_R11G11_SNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatRG16Snorm;
                 this->actualFormatId = angle::FormatID::R16G16_SNORM;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11G11_UNORM_BLOCK:
@@ -2914,16 +2145,12 @@
             {
                 this->metalFormat    = MTLPixelFormatEAC_RG11Unorm;
                 this->actualFormatId = angle::FormatID::EAC_R11G11_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatRG16Unorm;
                 this->actualFormatId = angle::FormatID::R16G16_UNORM;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11_SNORM_BLOCK:
@@ -2932,16 +2159,12 @@
             {
                 this->metalFormat    = MTLPixelFormatEAC_R11Snorm;
                 this->actualFormatId = angle::FormatID::EAC_R11_SNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatR16Snorm;
                 this->actualFormatId = angle::FormatID::R16_SNORM;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::EAC_R11_UNORM_BLOCK:
@@ -2950,16 +2173,12 @@
             {
                 this->metalFormat    = MTLPixelFormatEAC_R11Unorm;
                 this->actualFormatId = angle::FormatID::EAC_R11_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatR16Unorm;
                 this->actualFormatId = angle::FormatID::R16_UNORM;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC1_R8G8B8_UNORM_BLOCK:
@@ -2968,7 +2187,6 @@
             {
                 this->metalFormat    = MTLPixelFormatETC2_RGB8;
                 this->actualFormatId = angle::FormatID::ETC1_R8G8B8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
@@ -2976,8 +2194,6 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
                 this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A1_SRGB_BLOCK:
@@ -2986,16 +2202,12 @@
             {
                 this->metalFormat    = MTLPixelFormatETC2_RGB8A1_sRGB;
                 this->actualFormatId = angle::FormatID::ETC2_R8G8B8A1_SRGB_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatRGBA8Unorm_sRGB;
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM_SRGB;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A1_UNORM_BLOCK:
@@ -3012,8 +2224,6 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
                 this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A8_SRGB_BLOCK:
@@ -3022,16 +2232,12 @@
             {
                 this->metalFormat    = MTLPixelFormatEAC_RGBA8_sRGB;
                 this->actualFormatId = angle::FormatID::ETC2_R8G8B8A8_SRGB_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatRGBA8Unorm_sRGB;
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM_SRGB;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8A8_UNORM_BLOCK:
@@ -3040,16 +2246,12 @@
             {
                 this->metalFormat    = MTLPixelFormatEAC_RGBA8;
                 this->actualFormatId = angle::FormatID::ETC2_R8G8B8A8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatRGBA8Unorm;
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8_SRGB_BLOCK:
@@ -3058,7 +2260,6 @@
             {
                 this->metalFormat    = MTLPixelFormatETC2_RGB8_sRGB;
                 this->actualFormatId = angle::FormatID::ETC2_R8G8B8_SRGB_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
@@ -3066,8 +2267,6 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM_SRGB;
                 this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ETC2_R8G8B8_UNORM_BLOCK:
@@ -3076,7 +2275,6 @@
             {
                 this->metalFormat    = MTLPixelFormatETC2_RGB8;
                 this->actualFormatId = angle::FormatID::ETC2_R8G8B8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
@@ -3084,80 +2282,54 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
                 this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_2BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_2BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_4BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGBA_4BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_2BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_2BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_2BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_2BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_4BPP_UNORM_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_4BPP;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_4BPP_UNORM_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK:
 
             this->metalFormat    = MTLPixelFormatPVRTC_RGB_4BPP_sRGB;
             this->actualFormatId = angle::FormatID::PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R4G4B4A4_UNORM:
@@ -3166,16 +2338,12 @@
             {
                 this->metalFormat    = MTLPixelFormatABGR4Unorm;
                 this->actualFormatId = angle::FormatID::R4G4B4A4_UNORM;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatRGBA8Unorm;
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R5G5B5A1_UNORM:
@@ -3184,16 +2352,12 @@
             {
                 this->metalFormat    = MTLPixelFormatA1BGR5Unorm;
                 this->actualFormatId = angle::FormatID::R5G5B5A1_UNORM;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatRGBA8Unorm;
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R5G6B5_UNORM:
@@ -3202,7 +2366,6 @@
             {
                 this->metalFormat    = MTLPixelFormatB5G6R5Unorm;
                 this->actualFormatId = angle::FormatID::R5G6B5_UNORM;
-                this->initFunction   = nullptr;
             }
             else
             {
@@ -3210,26 +2373,18 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
                 this->initFunction   = Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8G8_UNORM_SRGB:
 
             this->metalFormat    = MTLPixelFormatRG8Unorm_sRGB;
             this->actualFormatId = angle::FormatID::R8G8_UNORM_SRGB;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::R8_UNORM_SRGB:
 
             this->metalFormat    = MTLPixelFormatR8Unorm_sRGB;
             this->actualFormatId = angle::FormatID::R8_UNORM_SRGB;
-            this->initFunction   = nullptr;
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x10_UNORM_BLOCK:
@@ -3238,16 +2393,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x10_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x10_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x5_UNORM_BLOCK:
@@ -3256,16 +2407,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x6_UNORM_BLOCK:
@@ -3274,16 +2421,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x6_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x6_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_10x8_UNORM_BLOCK:
@@ -3292,16 +2435,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x8_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_10x8_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_10x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x10_UNORM_BLOCK:
@@ -3310,16 +2449,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x10_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x10_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x10_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_12x12_UNORM_BLOCK:
@@ -3328,16 +2463,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x12_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x12_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_12x12_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_12x12_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_4x4_UNORM_BLOCK:
@@ -3346,16 +2477,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_4x4_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_4x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_4x4_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_4x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x4_UNORM_BLOCK:
@@ -3364,16 +2491,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x4_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x4_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x4_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_5x5_UNORM_BLOCK:
@@ -3382,16 +2505,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_5x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_5x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x5_UNORM_BLOCK:
@@ -3400,16 +2519,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_6x6_UNORM_BLOCK:
@@ -3418,16 +2533,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x6_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_6x6_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_6x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x5_UNORM_BLOCK:
@@ -3436,16 +2547,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x5_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x5_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x5_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x6_UNORM_BLOCK:
@@ -3454,16 +2561,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x6_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x6_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x6_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
         case angle::FormatID::ASTC_8x8_UNORM_BLOCK:
@@ -3472,16 +2575,12 @@
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x8_HDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
             else
             {
                 this->metalFormat    = MTLPixelFormatASTC_8x8_LDR;
                 this->actualFormatId = angle::FormatID::ASTC_8x8_UNORM_BLOCK;
-                this->initFunction   = nullptr;
             }
-
-            this->swizzled = false;
             break;
 
 #endif  // TARGET_OS_OSX && (__MAC_OS_X_VERSION_MAX_ALLOWED >= 110000))
@@ -3511,7 +2610,6 @@
             this->actualFormatId     = angle::FormatID::R10G10B10A2_SNORM;
             this->vertexLoadFunction = CopyNativeVertexData<GLuint, 1, 1, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R10G10B10A2_UNORM:
@@ -3519,7 +2617,6 @@
             this->actualFormatId     = angle::FormatID::R10G10B10A2_UNORM;
             this->vertexLoadFunction = CopyNativeVertexData<GLuint, 1, 1, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16B16A16_FLOAT:
@@ -3527,7 +2624,6 @@
             this->actualFormatId     = angle::FormatID::R16G16B16A16_FLOAT;
             this->vertexLoadFunction = CopyNativeVertexData<GLhalf, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16B16A16_SINT:
@@ -3535,7 +2631,6 @@
             this->actualFormatId     = angle::FormatID::R16G16B16A16_SINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLshort, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16B16A16_SNORM:
@@ -3543,7 +2638,6 @@
             this->actualFormatId     = angle::FormatID::R16G16B16A16_SNORM;
             this->vertexLoadFunction = CopyNativeVertexData<GLshort, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16B16A16_SSCALED:
@@ -3551,7 +2645,6 @@
             this->actualFormatId     = angle::FormatID::R16G16B16A16_SSCALED;
             this->vertexLoadFunction = CopyNativeVertexData<GLshort, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16B16A16_UINT:
@@ -3559,7 +2652,6 @@
             this->actualFormatId     = angle::FormatID::R16G16B16A16_UINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLushort, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16B16A16_UNORM:
@@ -3567,7 +2659,6 @@
             this->actualFormatId     = angle::FormatID::R16G16B16A16_UNORM;
             this->vertexLoadFunction = CopyNativeVertexData<GLushort, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16B16A16_USCALED:
@@ -3575,7 +2666,6 @@
             this->actualFormatId     = angle::FormatID::R16G16B16A16_USCALED;
             this->vertexLoadFunction = CopyNativeVertexData<GLushort, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16B16_FLOAT:
@@ -3585,7 +2675,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16A16_FLOAT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLhalf, 3, 4, gl::Float16One>;
                 this->defaultAlpha       = gl::Float16One;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3593,7 +2682,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16_FLOAT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLhalf, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3604,7 +2692,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16A16_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 3, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3612,7 +2699,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3623,8 +2709,7 @@
                 this->actualFormatId = angle::FormatID::R16G16B16A16_SNORM;
                 this->vertexLoadFunction =
                     CopyNativeVertexData<GLshort, 3, 4, std::numeric_limits<GLshort>::max()>;
-                this->defaultAlpha     = std::numeric_limits<GLshort>::max();
-                this->actualSameGLType = true;
+                this->defaultAlpha = std::numeric_limits<GLshort>::max();
             }
             else
             {
@@ -3632,7 +2717,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16_SNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3643,7 +2727,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16A16_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 3, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3651,7 +2734,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16_SSCALED;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3662,7 +2744,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16A16_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 3, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3670,7 +2751,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3681,8 +2761,7 @@
                 this->actualFormatId = angle::FormatID::R16G16B16A16_UNORM;
                 this->vertexLoadFunction =
                     CopyNativeVertexData<GLushort, 3, 4, std::numeric_limits<GLushort>::max()>;
-                this->defaultAlpha     = std::numeric_limits<GLushort>::max();
-                this->actualSameGLType = true;
+                this->defaultAlpha = std::numeric_limits<GLushort>::max();
             }
             else
             {
@@ -3690,7 +2769,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16_UNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3701,7 +2779,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16A16_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 3, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3709,7 +2786,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16B16_USCALED;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3718,7 +2794,6 @@
             this->actualFormatId     = angle::FormatID::R16G16_FLOAT;
             this->vertexLoadFunction = CopyNativeVertexData<GLhalf, 2, 2, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16_SINT:
@@ -3726,7 +2801,6 @@
             this->actualFormatId     = angle::FormatID::R16G16_SINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLshort, 2, 2, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16_SNORM:
@@ -3734,7 +2808,6 @@
             this->actualFormatId     = angle::FormatID::R16G16_SNORM;
             this->vertexLoadFunction = CopyNativeVertexData<GLshort, 2, 2, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16_SSCALED:
@@ -3742,7 +2815,6 @@
             this->actualFormatId     = angle::FormatID::R16G16_SSCALED;
             this->vertexLoadFunction = CopyNativeVertexData<GLshort, 2, 2, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16_UINT:
@@ -3750,7 +2822,6 @@
             this->actualFormatId     = angle::FormatID::R16G16_UINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLushort, 2, 2, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16_UNORM:
@@ -3758,7 +2829,6 @@
             this->actualFormatId     = angle::FormatID::R16G16_UNORM;
             this->vertexLoadFunction = CopyNativeVertexData<GLushort, 2, 2, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16G16_USCALED:
@@ -3766,7 +2836,6 @@
             this->actualFormatId     = angle::FormatID::R16G16_USCALED;
             this->vertexLoadFunction = CopyNativeVertexData<GLushort, 2, 2, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R16_FLOAT:
@@ -3776,7 +2845,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16_FLOAT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLhalf, 1, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3784,7 +2852,6 @@
                 this->actualFormatId     = angle::FormatID::R16_FLOAT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLhalf, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3795,7 +2862,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 1, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3803,7 +2869,6 @@
                 this->actualFormatId     = angle::FormatID::R16_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3814,7 +2879,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16_SNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 1, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3822,7 +2886,6 @@
                 this->actualFormatId     = angle::FormatID::R16_SNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3833,7 +2896,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 1, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3841,7 +2903,6 @@
                 this->actualFormatId     = angle::FormatID::R16_SSCALED;
                 this->vertexLoadFunction = CopyNativeVertexData<GLshort, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3852,7 +2913,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 1, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3860,7 +2920,6 @@
                 this->actualFormatId     = angle::FormatID::R16_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3871,7 +2930,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16_UNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 1, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3879,7 +2937,6 @@
                 this->actualFormatId     = angle::FormatID::R16_UNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3890,7 +2947,6 @@
                 this->actualFormatId     = angle::FormatID::R16G16_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 1, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -3898,7 +2954,6 @@
                 this->actualFormatId     = angle::FormatID::R16_USCALED;
                 this->vertexLoadFunction = CopyNativeVertexData<GLushort, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -3907,7 +2962,6 @@
             this->actualFormatId     = angle::FormatID::R32G32B32A32_FLOAT;
             this->vertexLoadFunction = CopyNativeVertexData<GLfloat, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32G32B32A32_SINT:
@@ -3915,7 +2969,6 @@
             this->actualFormatId     = angle::FormatID::R32G32B32A32_SINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLint, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32G32B32A32_UINT:
@@ -3923,7 +2976,6 @@
             this->actualFormatId     = angle::FormatID::R32G32B32A32_UINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLuint, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32G32B32_FLOAT:
@@ -3931,7 +2983,6 @@
             this->actualFormatId     = angle::FormatID::R32G32B32_FLOAT;
             this->vertexLoadFunction = CopyNativeVertexData<GLfloat, 3, 3, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32G32B32_SINT:
@@ -3939,7 +2990,6 @@
             this->actualFormatId     = angle::FormatID::R32G32B32_SINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLint, 3, 3, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32G32B32_UINT:
@@ -3947,7 +2997,6 @@
             this->actualFormatId     = angle::FormatID::R32G32B32_UINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLuint, 3, 3, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32G32_FLOAT:
@@ -3955,7 +3004,6 @@
             this->actualFormatId     = angle::FormatID::R32G32_FLOAT;
             this->vertexLoadFunction = CopyNativeVertexData<GLfloat, 2, 2, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32G32_SINT:
@@ -3963,7 +3011,6 @@
             this->actualFormatId     = angle::FormatID::R32G32_SINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLint, 2, 2, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32G32_UINT:
@@ -3971,7 +3018,6 @@
             this->actualFormatId     = angle::FormatID::R32G32_UINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLuint, 2, 2, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32_FLOAT:
@@ -3979,7 +3025,6 @@
             this->actualFormatId     = angle::FormatID::R32_FLOAT;
             this->vertexLoadFunction = CopyNativeVertexData<GLfloat, 1, 1, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32_SINT:
@@ -3987,7 +3032,6 @@
             this->actualFormatId     = angle::FormatID::R32_SINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLint, 1, 1, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R32_UINT:
@@ -3995,7 +3039,6 @@
             this->actualFormatId     = angle::FormatID::R32_UINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLuint, 1, 1, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R8G8B8A8_SINT:
@@ -4003,7 +3046,6 @@
             this->actualFormatId     = angle::FormatID::R8G8B8A8_SINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R8G8B8A8_SNORM:
@@ -4011,7 +3053,6 @@
             this->actualFormatId     = angle::FormatID::R8G8B8A8_SNORM;
             this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R8G8B8A8_SSCALED:
@@ -4019,7 +3060,6 @@
             this->actualFormatId     = angle::FormatID::R8G8B8A8_SSCALED;
             this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R8G8B8A8_UINT:
@@ -4027,7 +3067,6 @@
             this->actualFormatId     = angle::FormatID::R8G8B8A8_UINT;
             this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R8G8B8A8_UNORM:
@@ -4035,7 +3074,6 @@
             this->actualFormatId     = angle::FormatID::R8G8B8A8_UNORM;
             this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R8G8B8A8_USCALED:
@@ -4043,7 +3081,6 @@
             this->actualFormatId     = angle::FormatID::R8G8B8A8_USCALED;
             this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 4, 4, 0>;
             this->defaultAlpha       = 0;
-            this->actualSameGLType   = true;
             break;
 
         case angle::FormatID::R8G8B8_SINT:
@@ -4053,7 +3090,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 3, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4061,7 +3097,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4072,8 +3107,7 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_SNORM;
                 this->vertexLoadFunction =
                     CopyNativeVertexData<GLbyte, 3, 4, std::numeric_limits<GLbyte>::max()>;
-                this->defaultAlpha     = std::numeric_limits<GLbyte>::max();
-                this->actualSameGLType = true;
+                this->defaultAlpha = std::numeric_limits<GLbyte>::max();
             }
             else
             {
@@ -4081,7 +3115,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8_SNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4092,7 +3125,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 3, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4100,7 +3132,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8_SSCALED;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4111,7 +3142,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 3, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4119,7 +3149,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4130,8 +3159,7 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
                 this->vertexLoadFunction =
                     CopyNativeVertexData<GLubyte, 3, 4, std::numeric_limits<GLubyte>::max()>;
-                this->defaultAlpha     = std::numeric_limits<GLubyte>::max();
-                this->actualSameGLType = true;
+                this->defaultAlpha = std::numeric_limits<GLubyte>::max();
             }
             else
             {
@@ -4139,7 +3167,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8_UNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4150,7 +3177,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 3, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4158,7 +3184,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8_USCALED;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 3, 3, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4169,7 +3194,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 2, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4177,7 +3201,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 2, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4188,8 +3211,7 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_SNORM;
                 this->vertexLoadFunction =
                     CopyNativeVertexData<GLbyte, 2, 4, std::numeric_limits<GLbyte>::max()>;
-                this->defaultAlpha     = std::numeric_limits<GLbyte>::max();
-                this->actualSameGLType = true;
+                this->defaultAlpha = std::numeric_limits<GLbyte>::max();
             }
             else
             {
@@ -4197,7 +3219,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8_SNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 2, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4208,7 +3229,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 2, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4216,7 +3236,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8_SSCALED;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 2, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4227,7 +3246,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 2, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4235,7 +3253,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 2, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4246,8 +3263,7 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
                 this->vertexLoadFunction =
                     CopyNativeVertexData<GLubyte, 2, 4, std::numeric_limits<GLubyte>::max()>;
-                this->defaultAlpha     = std::numeric_limits<GLubyte>::max();
-                this->actualSameGLType = true;
+                this->defaultAlpha = std::numeric_limits<GLubyte>::max();
             }
             else
             {
@@ -4255,7 +3271,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8_UNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 2, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4266,7 +3281,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 2, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4274,7 +3288,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8_USCALED;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 2, 2, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4285,7 +3298,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 1, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4293,7 +3305,6 @@
                 this->actualFormatId     = angle::FormatID::R8_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4304,8 +3315,7 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_SNORM;
                 this->vertexLoadFunction =
                     CopyNativeVertexData<GLbyte, 1, 4, std::numeric_limits<GLbyte>::max()>;
-                this->defaultAlpha     = std::numeric_limits<GLbyte>::max();
-                this->actualSameGLType = true;
+                this->defaultAlpha = std::numeric_limits<GLbyte>::max();
             }
             else
             {
@@ -4313,7 +3323,6 @@
                 this->actualFormatId     = angle::FormatID::R8_SNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4324,7 +3333,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_SINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 1, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4332,7 +3340,6 @@
                 this->actualFormatId     = angle::FormatID::R8_SSCALED;
                 this->vertexLoadFunction = CopyNativeVertexData<GLbyte, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4343,7 +3350,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 1, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4351,7 +3357,6 @@
                 this->actualFormatId     = angle::FormatID::R8_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4362,8 +3367,7 @@
                 this->actualFormatId = angle::FormatID::R8G8B8A8_UNORM;
                 this->vertexLoadFunction =
                     CopyNativeVertexData<GLubyte, 1, 4, std::numeric_limits<GLubyte>::max()>;
-                this->defaultAlpha     = std::numeric_limits<GLubyte>::max();
-                this->actualSameGLType = true;
+                this->defaultAlpha = std::numeric_limits<GLubyte>::max();
             }
             else
             {
@@ -4371,7 +3375,6 @@
                 this->actualFormatId     = angle::FormatID::R8_UNORM;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;
 
@@ -4382,7 +3385,6 @@
                 this->actualFormatId     = angle::FormatID::R8G8B8A8_UINT;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 1, 4, 1>;
                 this->defaultAlpha       = 1;
-                this->actualSameGLType   = true;
             }
             else
             {
@@ -4390,7 +3392,6 @@
                 this->actualFormatId     = angle::FormatID::R8_USCALED;
                 this->vertexLoadFunction = CopyNativeVertexData<GLubyte, 1, 1, 0>;
                 this->defaultAlpha       = 0;
-                this->actualSameGLType   = true;
             }
             break;