aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects/GrExtractAlphaFragmentProcessor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/effects/GrExtractAlphaFragmentProcessor.cpp')
-rw-r--r--src/gpu/effects/GrExtractAlphaFragmentProcessor.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gpu/effects/GrExtractAlphaFragmentProcessor.cpp b/src/gpu/effects/GrExtractAlphaFragmentProcessor.cpp
index c5ee9b8571..8f6af65ca7 100644
--- a/src/gpu/effects/GrExtractAlphaFragmentProcessor.cpp
+++ b/src/gpu/effects/GrExtractAlphaFragmentProcessor.cpp
@@ -14,9 +14,13 @@ public:
GLExtractAlphaFragmentProcessor() {}
void emitCode(EmitArgs& args) override {
- GrGLFragmentBuilder* fsBuilder = args.fBuilder->getFragmentShaderBuilder();
- fsBuilder->codeAppendf("vec4 alpha4 = %s.aaaa;", args.fInputColor);
- this->emitChild(0, "alpha4", args.fOutputColor, args);
+ if (args.fInputColor) {
+ GrGLFragmentBuilder* fsBuilder = args.fBuilder->getFragmentShaderBuilder();
+ fsBuilder->codeAppendf("vec4 alpha4 = %s.aaaa;", args.fInputColor);
+ this->emitChild(0, "alpha4", args.fOutputColor, args);
+ } else {
+ this->emitChild(0, nullptr, args.fOutputColor, args);
+ }
}
private: