aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLProgram.cpp
diff options
context:
space:
mode:
authorGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-04-06 18:06:10 +0000
committerGravatar robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-04-06 18:06:10 +0000
commit6995068c5ade6e179d2af82caddb0c1cd6f433b6 (patch)
tree661091dc664281379e0b3ad5bd7132cc81560bf5 /src/gpu/gl/GrGLProgram.cpp
parent022976554c32b9b1561774553d6c1868c62d9dcf (diff)
Initial version of R8 support
Diffstat (limited to 'src/gpu/gl/GrGLProgram.cpp')
-rw-r--r--src/gpu/gl/GrGLProgram.cpp10
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(),