Revert "Removed made-up kSBGRA pixel config."

This reverts commit ff95f6ca9dbf3d5a7155a38c0a9e4a27edbfaaed.

Reason for revert: Broke command buffer GLBackendAllocationTest??

Original change's description:
> Removed made-up kSBGRA pixel config.
> 
> We made up this pixel config and don't actually use it ourselves so lets
> kill it for simplicity.
> 
> Change-Id: I6ae1c78fe7ada336a2411d295e8836dfeecb2d5c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223979
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com

Change-Id: I62e954495a702c7ad050719d8a1d6c4abcea3f60
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/223990
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/include/private/GrTypesPriv.h b/include/private/GrTypesPriv.h
index c52d927..f46a109 100644
--- a/include/private/GrTypesPriv.h
+++ b/include/private/GrTypesPriv.h
@@ -50,6 +50,7 @@
     kRG_88_GrPixelConfig,
     kBGRA_8888_GrPixelConfig,
     kSRGBA_8888_GrPixelConfig,
+    kSBGRA_8888_GrPixelConfig,
     kRGBA_1010102_GrPixelConfig,
     kRGBA_float_GrPixelConfig,
     kRG_float_GrPixelConfig,
@@ -861,6 +862,7 @@
 static inline GrSRGBEncoded GrPixelConfigIsSRGBEncoded(GrPixelConfig config) {
     switch (config) {
         case kSRGBA_8888_GrPixelConfig:
+        case kSBGRA_8888_GrPixelConfig:
             return GrSRGBEncoded::kYes;
         case kUnknown_GrPixelConfig:
         case kAlpha_8_GrPixelConfig:
@@ -920,6 +922,7 @@
         case kRGB_888X_GrPixelConfig:
         case kBGRA_8888_GrPixelConfig:
         case kSRGBA_8888_GrPixelConfig:
+        case kSBGRA_8888_GrPixelConfig:
         case kRGBA_1010102_GrPixelConfig:
         case kRG_1616_GrPixelConfig:
             return 4;
@@ -968,6 +971,7 @@
         case kRGBA_8888_GrPixelConfig:
         case kBGRA_8888_GrPixelConfig:
         case kSRGBA_8888_GrPixelConfig:
+        case kSBGRA_8888_GrPixelConfig:
         case kRGBA_1010102_GrPixelConfig:
         case kRGBA_half_GrPixelConfig:
         case kRGBA_half_Clamped_GrPixelConfig:
@@ -1000,6 +1004,7 @@
         case kRG_88_GrPixelConfig:
         case kBGRA_8888_GrPixelConfig:
         case kSRGBA_8888_GrPixelConfig:
+        case kSBGRA_8888_GrPixelConfig:
         case kRGBA_1010102_GrPixelConfig:
         case kRGBA_float_GrPixelConfig:
         case kRG_float_GrPixelConfig:
@@ -1034,6 +1039,7 @@
         case kRGBA_8888_GrPixelConfig:
         case kBGRA_8888_GrPixelConfig:
         case kSRGBA_8888_GrPixelConfig:
+        case kSBGRA_8888_GrPixelConfig:
         case kRGBA_1010102_GrPixelConfig:
         case kRGB_ETC1_GrPixelConfig:
         case kR_16_GrPixelConfig:
@@ -1131,6 +1137,7 @@
         case kRG_88_GrPixelConfig:
         case kBGRA_8888_GrPixelConfig:
         case kSRGBA_8888_GrPixelConfig:
+        case kSBGRA_8888_GrPixelConfig:
         case kRGB_ETC1_GrPixelConfig:
             return kLow_GrSLPrecision;
         case kRGBA_float_GrPixelConfig:
@@ -1339,6 +1346,9 @@
         case kSRGBA_8888_GrPixelConfig:
             *srgbEncoded = GrSRGBEncoded::kYes;
             return GrColorType::kRGBA_8888;
+        case kSBGRA_8888_GrPixelConfig:
+            *srgbEncoded = GrSRGBEncoded::kYes;
+            return GrColorType::kBGRA_8888;
         case kRGBA_1010102_GrPixelConfig:
             *srgbEncoded = GrSRGBEncoded::kNo;
             return GrColorType::kRGBA_1010102;
@@ -1432,7 +1442,7 @@
                                                         : kRG_88_GrPixelConfig;
 
         case GrColorType::kBGRA_8888:
-            return (GrSRGBEncoded::kYes == srgbEncoded) ? kUnknown_GrPixelConfig
+            return (GrSRGBEncoded::kYes == srgbEncoded) ? kSBGRA_8888_GrPixelConfig
                                                         : kBGRA_8888_GrPixelConfig;
 
         case GrColorType::kRGBA_1010102:
diff --git a/src/core/SkGpuBlurUtils.cpp b/src/core/SkGpuBlurUtils.cpp
index a9e29ec..df592aa 100644
--- a/src/core/SkGpuBlurUtils.cpp
+++ b/src/core/SkGpuBlurUtils.cpp
@@ -98,8 +98,9 @@
     SkASSERT(kBGRA_8888_GrPixelConfig == config || kRGBA_8888_GrPixelConfig == config ||
              kRGB_888_GrPixelConfig == config || kRGBA_4444_GrPixelConfig == config ||
              kRGB_565_GrPixelConfig == config || kSRGBA_8888_GrPixelConfig == config ||
-             kRGBA_half_GrPixelConfig == config || kAlpha_8_GrPixelConfig == config ||
-             kRGBA_1010102_GrPixelConfig == config || kRGBA_half_Clamped_GrPixelConfig == config);
+             kSBGRA_8888_GrPixelConfig == config || kRGBA_half_GrPixelConfig == config ||
+             kAlpha_8_GrPixelConfig == config || kRGBA_1010102_GrPixelConfig == config ||
+             kRGBA_half_Clamped_GrPixelConfig == config);
 
     return config;
 }
diff --git a/src/gpu/GrCaps.cpp b/src/gpu/GrCaps.cpp
index c44933e..25d422a 100644
--- a/src/gpu/GrCaps.cpp
+++ b/src/gpu/GrCaps.cpp
@@ -144,6 +144,7 @@
         case kRG_88_GrPixelConfig: return "RG88";
         case kBGRA_8888_GrPixelConfig: return "BGRA8888";
         case kSRGBA_8888_GrPixelConfig: return "SRGBA8888";
+        case kSBGRA_8888_GrPixelConfig: return "SBGRA8888";
         case kRGBA_1010102_GrPixelConfig: return "RGBA1010102";
         case kRGBA_float_GrPixelConfig: return "RGBAFloat";
         case kRG_float_GrPixelConfig: return "RGFloat";
diff --git a/src/gpu/GrDataUtils.cpp b/src/gpu/GrDataUtils.cpp
index c83a3cf..ae9c7d1 100644
--- a/src/gpu/GrDataUtils.cpp
+++ b/src/gpu/GrDataUtils.cpp
@@ -213,6 +213,12 @@
             sk_memset32((uint32_t *) dest, color, width * height);
             break;
         }
+        case kSBGRA_8888_GrPixelConfig: {
+            GrColor swizzled = GrColorPackRGBA(b, g, r, a);
+
+            sk_memset32((uint32_t *) dest, swizzled, width * height);
+            break;
+        }
         case kRGBA_1010102_GrPixelConfig: {
             uint32_t r10 = SkScalarRoundToInt(colorf.fR * 1023.0f);
             uint32_t g10 = SkScalarRoundToInt(colorf.fG * 1023.0f);
diff --git a/src/gpu/GrRecordingContext.cpp b/src/gpu/GrRecordingContext.cpp
index d596dc6..440e730 100644
--- a/src/gpu/GrRecordingContext.cpp
+++ b/src/gpu/GrRecordingContext.cpp
@@ -272,10 +272,11 @@
             *ct = GrColorType::kRGBA_8888;
             return true;
         case GrColorType::kBGRA_8888:
-            if (*config != kBGRA_8888_GrPixelConfig) {
+            if (*config != kBGRA_8888_GrPixelConfig && *config != kSBGRA_8888_GrPixelConfig) {
                 return false;
             }
-            *config = kRGBA_8888_GrPixelConfig;
+            *config = (*config == kSBGRA_8888_GrPixelConfig) ? kSRGBA_8888_GrPixelConfig
+                                                             : kRGBA_8888_GrPixelConfig;
             *ct = GrColorType::kRGBA_8888;
             return true;
         case GrColorType::kRGBA_1010102:
diff --git a/src/gpu/GrSurfaceContext.cpp b/src/gpu/GrSurfaceContext.cpp
index afc1124..72f38e0 100644
--- a/src/gpu/GrSurfaceContext.cpp
+++ b/src/gpu/GrSurfaceContext.cpp
@@ -98,6 +98,7 @@
         case kRG_88_GrPixelConfig:              return false;
         case kBGRA_8888_GrPixelConfig:          return true;
         case kSRGBA_8888_GrPixelConfig:         return true;
+        case kSBGRA_8888_GrPixelConfig:         return true;
         case kRGBA_1010102_GrPixelConfig:       return true;
         case kRGBA_float_GrPixelConfig:         return true;
         case kRG_float_GrPixelConfig:           return false;
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp
index fcc12ba..34028ae 100644
--- a/src/gpu/SkGr.cpp
+++ b/src/gpu/SkGr.cpp
@@ -307,6 +307,7 @@
             return 2;
         case kUnknown_GrPixelConfig:
         case kSRGBA_8888_GrPixelConfig:
+        case kSBGRA_8888_GrPixelConfig:
         case kRGBA_1010102_GrPixelConfig:
         case kAlpha_half_GrPixelConfig:
         case kAlpha_half_as_Red_GrPixelConfig:
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 1079d65..95d64a8 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -1745,6 +1745,25 @@
     if (texStorageSupported && !disablePerFormatTextureStorageForCommandBufferES2) {
         fConfigTable[kSRGBA_8888_GrPixelConfig].fFlags |= ConfigInfo::kCanUseTexStorage_Flag;
     }
+    // sBGRA is not a "real" thing in OpenGL, but GPUs support it, and on platforms where
+    // kN32 == BGRA, we need some way to work with it. (The default framebuffer on Windows
+    // is in this format, for example).
+    fConfigTable[kSBGRA_8888_GrPixelConfig].fFormats.fBaseInternalFormat = GR_GL_SRGB_ALPHA;
+    fConfigTable[kSBGRA_8888_GrPixelConfig].fFormats.fSizedInternalFormat = GR_GL_SRGB8_ALPHA8;
+    // GL does not do srgb<->rgb conversions when transferring between cpu and gpu. Thus, the
+    // external format is GL_BGRA.
+    fConfigTable[kSBGRA_8888_GrPixelConfig].fFormats.fExternalFormat[kReadPixels_ExternalFormatUsage] =
+        GR_GL_BGRA;
+    fConfigTable[kSBGRA_8888_GrPixelConfig].fFormats.fExternalType = GR_GL_UNSIGNED_BYTE;
+    fConfigTable[kSBGRA_8888_GrPixelConfig].fFormatType = kNormalizedFixedPoint_FormatType;
+    if (fSRGBSupport && GR_IS_GR_GL(standard)) {
+        fConfigTable[kSBGRA_8888_GrPixelConfig].fFlags = ConfigInfo::kTextureable_Flag |
+                                                         srgbRenderFlags;
+    }
+
+    if (texStorageSupported) {
+        fConfigTable[kSBGRA_8888_GrPixelConfig].fFlags |= ConfigInfo::kCanUseTexStorage_Flag;
+    }
 
     fConfigTable[kRGB_565_GrPixelConfig].fFormats.fBaseInternalFormat = GR_GL_RGB;
     if (this->ES2CompatibilitySupport()) {
@@ -2245,6 +2264,19 @@
             fConfigTable[kAlpha_8_as_Alpha_GrPixelConfig].fFormats.fBaseInternalFormat;
     }
 
+    // OpenGL ES 2.0 + GL_EXT_sRGB allows GL_SRGB_ALPHA to be specified as the <format>
+    // param to Tex(Sub)Image. ES 2.0 requires the <internalFormat> and <format> params to match.
+    // Thus, on ES 2.0 we will use GL_SRGB_ALPHA as the <format> param.
+    // On OpenGL and ES 3.0+ GL_SRGB_ALPHA does not work for the <format> param to glTexImage.
+    if (GR_IS_GR_GL_ES(standard) && version == GR_GL_VER(2,0)) {
+        fConfigTable[kSRGBA_8888_GrPixelConfig].fFormats.fExternalFormat[kTexImage_ExternalFormatUsage] =
+            GR_GL_SRGB_ALPHA;
+
+        // Additionally, because we had to "invent" sBGRA, there is no way to make it work
+        // in ES 2.0, because there is no <internalFormat> we can use. So just make that format
+        // unsupported. (If we have no sRGB support at all, this will get overwritten below).
+        fConfigTable[kSBGRA_8888_GrPixelConfig].fFlags = 0;
+    }
     // On ES 2.0 we have to use GL_RGB with glTexImage as the internal/external formats must
     // be the same. Moreover, if we write kRGB_888x data to a texture format on non-ES2 we want to
     // be sure that we write 1 for alpha not whatever happens to be in the client provided the 'x'
@@ -3207,6 +3239,8 @@
                 if (GR_IS_GR_GL_ES(standard) || GR_IS_GR_WEBGL(standard)) {
                     return kBGRA_8888_GrPixelConfig;
                 }
+            } else if (GR_GL_SRGB8_ALPHA8 == format) {
+                return kSBGRA_8888_GrPixelConfig;
             }
             break;
         case kRGBA_1010102_SkColorType:
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
index 84f28ad..1efa4e4 100644
--- a/src/gpu/gl/GrGLGpu.cpp
+++ b/src/gpu/gl/GrGLGpu.cpp
@@ -879,6 +879,7 @@
         case kRGB_888X_GrPixelConfig:
         case kBGRA_8888_GrPixelConfig:
         case kSRGBA_8888_GrPixelConfig:
+        case kSBGRA_8888_GrPixelConfig:
         case kRGBA_1010102_GrPixelConfig:
         case kRGBA_float_GrPixelConfig:
         case kRG_float_GrPixelConfig:
@@ -3948,7 +3949,7 @@
             *config = kGray_8_GrPixelConfig;
             return true;
         case GR_GL_SRGB8_ALPHA8:
-            *config = kSRGBA_8888_GrPixelConfig;
+            *config = kSRGBA_8888_GrPixelConfig; // aliasing kSBGRA_8888 here
             return true;
         case GR_GL_RGB10_A2:
             *config = kRGBA_1010102_GrPixelConfig;
diff --git a/src/gpu/mock/GrMockCaps.h b/src/gpu/mock/GrMockCaps.h
index 678ce1c..936201b 100644
--- a/src/gpu/mock/GrMockCaps.h
+++ b/src/gpu/mock/GrMockCaps.h
@@ -41,7 +41,8 @@
             return false;
         }
 
-        return kSRGBA_8888_GrPixelConfig == *format.getMockFormat();
+        return kSRGBA_8888_GrPixelConfig == *format.getMockFormat() ||
+               kSBGRA_8888_GrPixelConfig == *format.getMockFormat();
     }
 
     bool isFormatTexturable(SkColorType, const GrBackendFormat& format) const override {
diff --git a/src/gpu/mtl/GrMtlCaps.mm b/src/gpu/mtl/GrMtlCaps.mm
index e2dc706..8a4de31 100644
--- a/src/gpu/mtl/GrMtlCaps.mm
+++ b/src/gpu/mtl/GrMtlCaps.mm
@@ -400,6 +400,10 @@
     info = &fConfigTable[kSRGBA_8888_GrPixelConfig];
     info->fFlags = ConfigInfo::kAllFlags;
 
+    // SBGRA_8888 uses BGRA8Unorm_sRGB
+    info = &fConfigTable[kSBGRA_8888_GrPixelConfig];
+    info->fFlags = ConfigInfo::kAllFlags;
+
     // kRGBA_1010102 uses RGB10A2Unorm
     info = &fConfigTable[kRGBA_1010102_GrPixelConfig];
     if (this->isMac() || fFamilyGroup >= 3) {
@@ -521,6 +525,8 @@
         case kBGRA_8888_SkColorType:
             if (MTLPixelFormatBGRA8Unorm == format) {
                 return kBGRA_8888_GrPixelConfig;
+            } else if (MTLPixelFormatBGRA8Unorm_sRGB == format) {
+                return kSBGRA_8888_GrPixelConfig;
             }
             break;
         case kRGBA_1010102_SkColorType:
diff --git a/src/gpu/mtl/GrMtlGpu.mm b/src/gpu/mtl/GrMtlGpu.mm
index c56e1fc..b431acc 100644
--- a/src/gpu/mtl/GrMtlGpu.mm
+++ b/src/gpu/mtl/GrMtlGpu.mm
@@ -720,6 +720,9 @@
         case MTLPixelFormatRGBA8Unorm_sRGB:
             *config = kSRGBA_8888_GrPixelConfig;
             return true;
+        case MTLPixelFormatBGRA8Unorm_sRGB:
+            *config = kSBGRA_8888_GrPixelConfig;
+            return true;
         case MTLPixelFormatRGB10A2Unorm:
             *config = kRGBA_1010102_GrPixelConfig;
             return true;
diff --git a/src/gpu/mtl/GrMtlUtil.mm b/src/gpu/mtl/GrMtlUtil.mm
index 07dfbbe..7caf2f5 100644
--- a/src/gpu/mtl/GrMtlUtil.mm
+++ b/src/gpu/mtl/GrMtlUtil.mm
@@ -49,6 +49,9 @@
         case kSRGBA_8888_GrPixelConfig:
             *format = MTLPixelFormatRGBA8Unorm_sRGB;
             return true;
+        case kSBGRA_8888_GrPixelConfig:
+            *format = MTLPixelFormatBGRA8Unorm_sRGB;
+            return true;
         case kRGBA_1010102_GrPixelConfig:
             *format = MTLPixelFormatRGB10A2Unorm;
             return true;
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp
index 8b904d3..de4fd5a 100644
--- a/src/gpu/vk/GrVkCaps.cpp
+++ b/src/gpu/vk/GrVkCaps.cpp
@@ -97,6 +97,7 @@
         case kRGB_888X_GrPixelConfig:
         case kBGRA_8888_GrPixelConfig:
         case kSRGBA_8888_GrPixelConfig:
+        case kSBGRA_8888_GrPixelConfig:
         case kRGBA_1010102_GrPixelConfig:
         case kRG_1616_GrPixelConfig:
             return 4;
@@ -984,6 +985,8 @@
         case kBGRA_8888_SkColorType:
             if (VK_FORMAT_B8G8R8A8_UNORM == format) {
                 return kBGRA_8888_GrPixelConfig;
+            } else if (VK_FORMAT_B8G8R8A8_SRGB == format) {
+                return kSBGRA_8888_GrPixelConfig;
             }
             break;
         case kRGBA_1010102_SkColorType:
diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp
index 7699ff4..31ddc34 100644
--- a/src/gpu/vk/GrVkGpu.cpp
+++ b/src/gpu/vk/GrVkGpu.cpp
@@ -1838,6 +1838,9 @@
         case VK_FORMAT_R8G8B8A8_SRGB:
             *config = kSRGBA_8888_GrPixelConfig;
             return true;
+        case VK_FORMAT_B8G8R8A8_SRGB:
+            *config = kSBGRA_8888_GrPixelConfig;
+            return true;
         case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
             *config = kRGBA_1010102_GrPixelConfig;
             return true;
diff --git a/src/gpu/vk/GrVkUtil.cpp b/src/gpu/vk/GrVkUtil.cpp
index cf4bd64..cc6778a 100644
--- a/src/gpu/vk/GrVkUtil.cpp
+++ b/src/gpu/vk/GrVkUtil.cpp
@@ -39,6 +39,9 @@
         case kSRGBA_8888_GrPixelConfig:
             *format = VK_FORMAT_R8G8B8A8_SRGB;
             return true;
+        case kSBGRA_8888_GrPixelConfig:
+            *format = VK_FORMAT_B8G8R8A8_SRGB;
+            return true;
         case kRGBA_1010102_GrPixelConfig:
             *format = VK_FORMAT_A2B10G10R10_UNORM_PACK32;
             return true;
@@ -109,6 +112,8 @@
             return kBGRA_8888_GrPixelConfig == config;
         case VK_FORMAT_R8G8B8A8_SRGB:
             return kSRGBA_8888_GrPixelConfig == config;
+        case VK_FORMAT_B8G8R8A8_SRGB:
+            return kSBGRA_8888_GrPixelConfig == config;
         case VK_FORMAT_R8G8B8_UNORM:
             return kRGB_888_GrPixelConfig == config;
         case VK_FORMAT_R8G8_UNORM:
diff --git a/tests/BackendAllocationTest.cpp b/tests/BackendAllocationTest.cpp
index 1d4cdd9..78b726d 100644
--- a/tests/BackendAllocationTest.cpp
+++ b/tests/BackendAllocationTest.cpp
@@ -415,6 +415,8 @@
           kRGBA_8888_GrPixelConfig,         SkColors::kBlue     },
         { kBGRA_8888_SkColorType,           GR_GL_BGRA8,
           kBGRA_8888_GrPixelConfig,         SkColors::kBlue     },
+        { kBGRA_8888_SkColorType,           GR_GL_SRGB8_ALPHA8,
+          kSBGRA_8888_GrPixelConfig,        SkColors::kCyan     },
 
         { kRGBA_1010102_SkColorType,        GR_GL_RGB10_A2,
           // TODO: readback is busted when alpha = 0.5f (perhaps premul vs. unpremul)
@@ -580,6 +582,7 @@
         { kRGB_888x_SkColorType,     VK_FORMAT_R8G8B8_UNORM,             SkColors::kCyan      },
 
         { kBGRA_8888_SkColorType,    VK_FORMAT_B8G8R8A8_UNORM,           SkColors::kBlue      },
+        { kBGRA_8888_SkColorType,    VK_FORMAT_B8G8R8A8_SRGB,            SkColors::kCyan      },
 
         { kRGBA_1010102_SkColorType, VK_FORMAT_A2B10G10R10_UNORM_PACK32, { 0.5f, 0, 0, 1.0f } },
         { kRGB_565_SkColorType,      VK_FORMAT_R5G6B5_UNORM_PACK16,      SkColors::kRed       },
diff --git a/tests/GrSurfaceTest.cpp b/tests/GrSurfaceTest.cpp
index 6dd16bf..c84851e 100644
--- a/tests/GrSurfaceTest.cpp
+++ b/tests/GrSurfaceTest.cpp
@@ -95,6 +95,7 @@
         kRG_88_GrPixelConfig,
         kBGRA_8888_GrPixelConfig,
         kSRGBA_8888_GrPixelConfig,
+        kSBGRA_8888_GrPixelConfig,
         kRGBA_1010102_GrPixelConfig,
         kRGBA_float_GrPixelConfig,
         kRG_float_GrPixelConfig,
diff --git a/tests/MtlBackendAllocationTest.mm b/tests/MtlBackendAllocationTest.mm
index 3a8673f..5c12461 100644
--- a/tests/MtlBackendAllocationTest.mm
+++ b/tests/MtlBackendAllocationTest.mm
@@ -50,6 +50,8 @@
 
         { kBGRA_8888_SkColorType,          MTLPixelFormatBGRA8Unorm,
           kBGRA_8888_GrPixelConfig,        SkColors::kBlue      },
+        { kBGRA_8888_SkColorType,          MTLPixelFormatBGRA8Unorm_sRGB,
+          kSBGRA_8888_GrPixelConfig,       SkColors::kCyan      },
 
         { kRGBA_1010102_SkColorType,       MTLPixelFormatRGB10A2Unorm,
           kRGBA_1010102_GrPixelConfig,     { 0.5f, 0, 0, 1.0f } },