Roll back http://code.google.com/p/skia/source/detail?r=3622 to deal with http://crbug.com/125596 ('M20 windows renderer stability maze')

git-svn-id: http://skia.googlecode.com/svn/trunk@3800 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGpuGLShaders.cpp b/src/gpu/gl/GrGpuGLShaders.cpp
index 1fcfbbe..88c81ab 100644
--- a/src/gpu/gl/GrGpuGLShaders.cpp
+++ b/src/gpu/gl/GrGpuGLShaders.cpp
@@ -181,7 +181,6 @@
         StageDesc::kMulRGBByAlpha_RoundUp_InConfigFlag,
         StageDesc::kMulRGBByAlpha_RoundDown_InConfigFlag,
         StageDesc::kSmearAlpha_InConfigFlag,
-        StageDesc::kSmearRed_InConfigFlag,
     };
     GrGLProgram program;
     ProgramDesc& pdesc = program.fProgramDesc;
@@ -277,7 +276,6 @@
             static const uint32_t kMulByAlphaMask =
                 StageDesc::kMulRGBByAlpha_RoundUp_InConfigFlag |
                 StageDesc::kMulRGBByAlpha_RoundDown_InConfigFlag;
-
             switch (stage.fFetchMode) {
                 case StageDesc::kSingle_FetchMode:
                     stage.fKernelWidth = 0;
@@ -1172,17 +1170,9 @@
             if (!this->glCaps().textureSwizzleSupport()) {
                 if (GrPixelConfigIsAlphaOnly(texture->config())) {
                     // if we don't have texture swizzle support then
-                    // the shader must smear the single channel after
-                    // reading the texture
-                    if (this->glCaps().textureRedSupport()) {
-                        // we can use R8 textures so use kSmearRed
-                        stage.fInConfigFlags |= 
-                                        StageDesc::kSmearRed_InConfigFlag;
-                    } else {
-                        // we can use A8 textures so use kSmearAlpha
-                        stage.fInConfigFlags |= 
-                                        StageDesc::kSmearAlpha_InConfigFlag;
-                    }
+                    // the shader must do an alpha smear after reading
+                    // the texture
+                    stage.fInConfigFlags |= StageDesc::kSmearAlpha_InConfigFlag;
                 } else if (sampler.swapsRAndB()) {
                     stage.fInConfigFlags |= StageDesc::kSwapRAndB_InConfigFlag;
                 }