Re-adding red texture support (by rolling back r3800)
http://code.google.com/p/skia/source/detail?r=3622 - for original review
http://crbug.com/125596 ('M20 windows renderer stability maze') - for issue
git-svn-id: http://skia.googlecode.com/svn/trunk@3802 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGLProgram.cpp b/src/gpu/gl/GrGLProgram.cpp
index cb90ac6..3e1f1d4 100644
--- a/src/gpu/gl/GrGLProgram.cpp
+++ b/src/gpu/gl/GrGLProgram.cpp
@@ -1942,11 +1942,17 @@
const char* swizzle = "";
if (desc.fInConfigFlags & StageDesc::kSwapRAndB_InConfigFlag) {
GrAssert(!(desc.fInConfigFlags & StageDesc::kSmearAlpha_InConfigFlag));
+ GrAssert(!(desc.fInConfigFlags & StageDesc::kSmearRed_InConfigFlag));
swizzle = ".bgra";
} else if (desc.fInConfigFlags & StageDesc::kSmearAlpha_InConfigFlag) {
GrAssert(!(desc.fInConfigFlags & kMulByAlphaMask));
+ GrAssert(!(desc.fInConfigFlags & StageDesc::kSmearRed_InConfigFlag));
swizzle = ".aaaa";
- }
+ } else if (desc.fInConfigFlags & StageDesc::kSmearRed_InConfigFlag) {
+ GrAssert(!(desc.fInConfigFlags & kMulByAlphaMask));
+ GrAssert(!(desc.fInConfigFlags & StageDesc::kSmearAlpha_InConfigFlag));
+ swizzle = ".rrrr";
+ }
GrStringBuilder modulate;
if (NULL != fsInColor) {
@@ -1996,6 +2002,8 @@
GrAssert(GrIsPow2(kMulByAlphaMask & desc.fInConfigFlags));
GrAssert(!(desc.fInConfigFlags &
StageDesc::kSmearAlpha_InConfigFlag));
+ GrAssert(!(desc.fInConfigFlags &
+ StageDesc::kSmearRed_InConfigFlag));
segments->fFSCode.appendf("\t%s = %s(%s, %s)%s;\n",
fsOutColor, texFunc.c_str(),
samplerName, sampleCoords.c_str(),