Capture ES3 MSAA blit restrictions using BlitFramebufferSupport not MSFBOType.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3416

Change-Id: I2baeb954bceb9d92e43e585320ae5fda1b996641
Reviewed-on: https://skia-review.googlesource.com/3416
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 7d1bea3..c2e8f11 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -930,12 +930,9 @@
             fMSFBOType = kES_IMG_MsToTexture_MSFBOType;
         } else if (fUsesMixedSamples) {
             fMSFBOType = kMixedSamples_MSFBOType;
-        } else if (ctxInfo.version() >= GR_GL_VER(3,0)) {
-            fMSFBOType = GrGLCaps::kES_3_0_MSFBOType;
-        } else if (ctxInfo.hasExtension("GL_CHROMIUM_framebuffer_multisample")) {
-            // chrome's extension is equivalent to the EXT msaa
-            // and fbo_blit extensions.
-            fMSFBOType = kDesktop_EXT_MSFBOType;
+        } else if (ctxInfo.version() >= GR_GL_VER(3,0) ||
+                   ctxInfo.hasExtension("GL_CHROMIUM_framebuffer_multisample")) {
+            fMSFBOType = kStandard_MSFBOType;
         } else if (ctxInfo.hasExtension("GL_APPLE_framebuffer_multisample")) {
             fMSFBOType = kES_Apple_MSFBOType;
         }
@@ -953,13 +950,13 @@
         if (fUsesMixedSamples) {
             fMSFBOType = kMixedSamples_MSFBOType;
             fBlitFramebufferSupport = kFull_BlitFramebufferSupport;
-        } else if ((ctxInfo.version() >= GR_GL_VER(3,0)) ||
-            ctxInfo.hasExtension("GL_ARB_framebuffer_object")) {
-            fMSFBOType = GrGLCaps::kDesktop_ARB_MSFBOType;
+        } else if (ctxInfo.version() >= GR_GL_VER(3,0) ||
+                   ctxInfo.hasExtension("GL_ARB_framebuffer_object")) {
+            fMSFBOType = kStandard_MSFBOType;
             fBlitFramebufferSupport = kFull_BlitFramebufferSupport;
         } else if (ctxInfo.hasExtension("GL_EXT_framebuffer_multisample") &&
                    ctxInfo.hasExtension("GL_EXT_framebuffer_blit")) {
-            fMSFBOType = GrGLCaps::kDesktop_EXT_MSFBOType;
+            fMSFBOType = kEXT_MSFBOType;
             fBlitFramebufferSupport = kFull_BlitFramebufferSupport;
         }
     }
@@ -1082,22 +1079,20 @@
 
     static const char* kMSFBOExtStr[] = {
         "None",
-        "ARB",
         "EXT",
-        "ES 3.0",
+        "Standard",
         "Apple",
         "IMG MS To Texture",
         "EXT MS To Texture",
         "MixedSamples",
     };
     GR_STATIC_ASSERT(0 == kNone_MSFBOType);
-    GR_STATIC_ASSERT(1 == kDesktop_ARB_MSFBOType);
-    GR_STATIC_ASSERT(2 == kDesktop_EXT_MSFBOType);
-    GR_STATIC_ASSERT(3 == kES_3_0_MSFBOType);
-    GR_STATIC_ASSERT(4 == kES_Apple_MSFBOType);
-    GR_STATIC_ASSERT(5 == kES_IMG_MsToTexture_MSFBOType);
-    GR_STATIC_ASSERT(6 == kES_EXT_MsToTexture_MSFBOType);
-    GR_STATIC_ASSERT(7 == kMixedSamples_MSFBOType);
+    GR_STATIC_ASSERT(1 == kEXT_MSFBOType);
+    GR_STATIC_ASSERT(2 == kStandard_MSFBOType);
+    GR_STATIC_ASSERT(3 == kES_Apple_MSFBOType);
+    GR_STATIC_ASSERT(4 == kES_IMG_MsToTexture_MSFBOType);
+    GR_STATIC_ASSERT(5 == kES_EXT_MsToTexture_MSFBOType);
+    GR_STATIC_ASSERT(6 == kMixedSamples_MSFBOType);
     GR_STATIC_ASSERT(SK_ARRAY_COUNT(kMSFBOExtStr) == kLast_MSFBOType + 1);
 
     static const char* kInvalidateFBTypeStr[] = {
@@ -1635,9 +1630,8 @@
     fConfigTable[kAlpha_8_GrPixelConfig].fFormatType = kNormalizedFixedPoint_FormatType;
     fConfigTable[kAlpha_8_GrPixelConfig].fFlags = ConfigInfo::kTextureable_Flag;
     if (this->textureRedSupport() ||
-        (kDesktop_ARB_MSFBOType == this->msFBOType() &&
-         ctxInfo.renderer() != kOSMesa_GrGLRenderer)) {
-        // desktop ARB extension/3.0+ supports ALPHA8 as renderable.
+        (kStandard_MSFBOType == this->msFBOType() && ctxInfo.renderer() != kOSMesa_GrGLRenderer)) {
+        // OpenGL 3.0+ (and GL_ARB_framebuffer_object) supports ALPHA8 as renderable.
         // However, osmesa fails if it used even when GL_ARB_framebuffer_object is present.
         // Core profile removes ALPHA8 support, but we should have chosen R8 in that case.
         fConfigTable[kAlpha_8_GrPixelConfig].fFlags |= allRenderFlags;