Add a class representing texture swizzle.

Store config swizzle GrGLCaps and shader swizzles in GrGLSLCaps.

Remove GrTextureAccess's swizzle and update users of it to swizzle in their shader code.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567733005

Committed: https://skia.googlesource.com/skia/+/1a1efeacf7cc94a8c2977114dfe230fed3efc105

Review URL: https://codereview.chromium.org/1567733005
diff --git a/src/gpu/GrTextureAccess.cpp b/src/gpu/GrTextureAccess.cpp
index 7e1eda6..277c0e3 100644
--- a/src/gpu/GrTextureAccess.cpp
+++ b/src/gpu/GrTextureAccess.cpp
@@ -9,12 +9,7 @@
 #include "GrColor.h"
 #include "GrTexture.h"
 
-GrTextureAccess::GrTextureAccess() {
-#ifdef SK_DEBUG
-    memcpy(fSwizzle, "void", 5);
-    fSwizzleMask = 0xbeeffeed;
-#endif
-}
+GrTextureAccess::GrTextureAccess() {}
 
 GrTextureAccess::GrTextureAccess(GrTexture* texture, const GrTextureParams& params) {
     this->reset(texture, params);
@@ -26,49 +21,12 @@
     this->reset(texture, filterMode, tileXAndY);
 }
 
-GrTextureAccess::GrTextureAccess(GrTexture* texture,
-                                 const char* swizzle,
-                                 const GrTextureParams& params) {
-    this->reset(texture, swizzle, params);
-}
-
-GrTextureAccess::GrTextureAccess(GrTexture* texture,
-                                 const char* swizzle,
-                                 GrTextureParams::FilterMode filterMode,
-                                 SkShader::TileMode tileXAndY) {
-    this->reset(texture, swizzle, filterMode, tileXAndY);
-}
-
-void GrTextureAccess::reset(GrTexture* texture,
-                            const char* swizzle,
-                            const GrTextureParams& params) {
-    SkASSERT(texture);
-    SkASSERT(strlen(swizzle) >= 1 && strlen(swizzle) <= 4);
-
-    fParams = params;
-    fTexture.set(SkRef(texture), kRead_GrIOType);
-    this->setSwizzle(swizzle);
-}
-
-void GrTextureAccess::reset(GrTexture* texture,
-                            const char* swizzle,
-                            GrTextureParams::FilterMode filterMode,
-                            SkShader::TileMode tileXAndY) {
-    SkASSERT(texture);
-    SkASSERT(strlen(swizzle) >= 1 && strlen(swizzle) <= 4);
-
-    fParams.reset(tileXAndY, filterMode);
-    fTexture.set(SkRef(texture), kRead_GrIOType);
-    this->setSwizzle(swizzle);
-}
 
 void GrTextureAccess::reset(GrTexture* texture,
                             const GrTextureParams& params) {
     SkASSERT(texture);
     fTexture.set(SkRef(texture), kRead_GrIOType);
     fParams = params;
-    memcpy(fSwizzle, "rgba", 5);
-    fSwizzleMask = kRGBA_GrColorComponentFlags;
 }
 
 void GrTextureAccess::reset(GrTexture* texture,
@@ -77,31 +35,4 @@
     SkASSERT(texture);
     fTexture.set(SkRef(texture), kRead_GrIOType);
     fParams.reset(tileXAndY, filterMode);
-    memcpy(fSwizzle, "rgba", 5);
-    fSwizzleMask = kRGBA_GrColorComponentFlags;
-}
-
-void GrTextureAccess::setSwizzle(const char* swizzle) {
-    fSwizzleMask = 0;
-    memset(fSwizzle, '\0', 5);
-    for (int i = 0; i < 4 && '\0' != swizzle[i]; ++i) {
-        fSwizzle[i] = swizzle[i];
-        switch (swizzle[i]) {
-            case 'r':
-                fSwizzleMask |= kR_GrColorComponentFlag;
-                break;
-            case 'g':
-                fSwizzleMask |= kG_GrColorComponentFlag;
-                break;
-            case 'b':
-                fSwizzleMask |= kB_GrColorComponentFlag;
-                break;
-            case 'a':
-                fSwizzleMask |= kA_GrColorComponentFlag;
-                break;
-            default:
-                SkFAIL("Unexpected swizzle string character.");
-                break;
-        }
-    }
 }