Index: src/gpu/gl/builders/GrGLProgramBuilder.cpp |
diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.cpp b/src/gpu/gl/builders/GrGLProgramBuilder.cpp |
index dc9393db0739ea04c5acd824c903d2eb8b6f7720..6e09d701b672f5017e82ca00bfee5448043c3066 100644 |
--- a/src/gpu/gl/builders/GrGLProgramBuilder.cpp |
+++ b/src/gpu/gl/builders/GrGLProgramBuilder.cpp |
@@ -260,6 +260,15 @@ void GrGLProgramBuilder::emitAndInstallXferProc(const GrXferProcessor& xp, |
// asks for dst color, then the emit code needs to follow suit |
verify(xp); |
fFS.codeAppend("}"); |
+ |
+ if (this->desc().header().fSwapDstRedAndAlpha) { |
+ fFS.codeAppendf("%s = %s.agbr;", fFS.getPrimaryColorOutputName(), |
+ fFS.getPrimaryColorOutputName()); |
+ if (xp.hasSecondaryOutput()) { |
+ fFS.codeAppendf("%s = %s.agbr;", fFS.getSecondaryColorOutputName(), |
+ fFS.getSecondaryColorOutputName()); |
+ } |
+ } |
} |
void GrGLProgramBuilder::verify(const GrPrimitiveProcessor& gp) { |