Index: src/gpu/effects/GrDitherEffect.cpp |
diff --git a/src/gpu/effects/GrDitherEffect.cpp b/src/gpu/effects/GrDitherEffect.cpp |
index a431897a4eaa2a987bb902f6a0504020bb3ed09b..443df9ed362991b49b78c0c57002dbd65ed0392f 100644 |
--- a/src/gpu/effects/GrDitherEffect.cpp |
+++ b/src/gpu/effects/GrDitherEffect.cpp |
@@ -5,10 +5,10 @@ |
* found in the LICENSE file. |
*/ |
+#include "gl/builders/GrGLProgramBuilder.h" |
#include "GrDitherEffect.h" |
#include "gl/GrGLEffect.h" |
-#include "gl/GrGLShaderBuilder.h" |
#include "gl/GrGLSL.h" |
#include "GrTBackendEffectFactory.h" |
@@ -70,7 +70,7 @@ class GLDitherEffect : public GrGLEffect { |
public: |
GLDitherEffect(const GrBackendEffectFactory&, const GrDrawEffect&); |
- virtual void emitCode(GrGLShaderBuilder* builder, |
+ virtual void emitCode(GrGLProgramBuilder* builder, |
const GrDrawEffect& drawEffect, |
const GrEffectKey& key, |
const char* outputColor, |
@@ -87,13 +87,14 @@ GLDitherEffect::GLDitherEffect(const GrBackendEffectFactory& factory, |
: INHERITED (factory) { |
} |
-void GLDitherEffect::emitCode(GrGLShaderBuilder* builder, |
+void GLDitherEffect::emitCode(GrGLProgramBuilder* builder, |
const GrDrawEffect& drawEffect, |
const GrEffectKey& key, |
const char* outputColor, |
const char* inputColor, |
const TransformedCoordsArray&, |
const TextureSamplerArray& samplers) { |
+ GrGLFragmentShaderBuilder* fsBuilder = builder->getFragmentShaderBuilder(); |
// Generate a random number based on the fragment position. For this |
// random number generator, we use the "GLSL rand" function |
// that seems to be floating around on the internet. It works under |
@@ -103,10 +104,10 @@ void GLDitherEffect::emitCode(GrGLShaderBuilder* builder, |
// For each channel c, add the random offset to the pixel to either bump |
// it up or let it remain constant during quantization. |
- builder->fsCodeAppendf("\t\tfloat r = " |
+ fsBuilder->codeAppendf("\t\tfloat r = " |
"fract(sin(dot(%s.xy ,vec2(12.9898,78.233))) * 43758.5453);\n", |
- builder->fragmentPosition()); |
- builder->fsCodeAppendf("\t\t%s = (1.0/255.0) * vec4(r, r, r, r) + %s;\n", |
+ fsBuilder->fragmentPosition()); |
+ fsBuilder->codeAppendf("\t\t%s = (1.0/255.0) * vec4(r, r, r, r) + %s;\n", |
outputColor, GrGLSLExpr4(inputColor).c_str()); |
} |