diff options
author | robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-04-06 18:06:10 +0000 |
---|---|---|
committer | robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-04-06 18:06:10 +0000 |
commit | 6995068c5ade6e179d2af82caddb0c1cd6f433b6 (patch) | |
tree | 661091dc664281379e0b3ad5bd7132cc81560bf5 /src/gpu/gl/GrGLProgram.cpp | |
parent | 022976554c32b9b1561774553d6c1868c62d9dcf (diff) |
Initial version of R8 support
http://codereview.appspot.com/5967067/
git-svn-id: http://skia.googlecode.com/svn/trunk@3622 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/gpu/gl/GrGLProgram.cpp')
-rw-r--r-- | src/gpu/gl/GrGLProgram.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gpu/gl/GrGLProgram.cpp b/src/gpu/gl/GrGLProgram.cpp index a39b0b91bf..f2776474af 100644 --- a/src/gpu/gl/GrGLProgram.cpp +++ b/src/gpu/gl/GrGLProgram.cpp @@ -1897,11 +1897,17 @@ void GrGLProgram::genStageCode(const GrGLContextInfo& gl, 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) { @@ -1951,6 +1957,8 @@ void GrGLProgram::genStageCode(const GrGLContextInfo& gl, 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(), |