Index: src/effects/gradients/SkTwoPointRadialGradient.cpp |
diff --git a/src/effects/gradients/SkTwoPointRadialGradient.cpp b/src/effects/gradients/SkTwoPointRadialGradient.cpp |
index 754a53261b722df5658c9f171bc14814ca1bc55b..bb5ec04bfd978d25fef7d6c4c725e5a2369172bb 100644 |
--- a/src/effects/gradients/SkTwoPointRadialGradient.cpp |
+++ b/src/effects/gradients/SkTwoPointRadialGradient.cpp |
@@ -398,7 +398,7 @@ void SkTwoPointRadialGradient::init() { |
#if SK_SUPPORT_GPU |
#include "GrTBackendEffectFactory.h" |
-#include "gl/GrGLShaderBuilder.h" |
+#include "gl/builders/GrGLProgramBuilder.h" |
#include "SkGr.h" |
// For brevity |
@@ -411,7 +411,7 @@ public: |
GrGLRadial2Gradient(const GrBackendEffectFactory& factory, const GrDrawEffect&); |
virtual ~GrGLRadial2Gradient() { } |
- virtual void emitCode(GrGLShaderBuilder*, |
+ virtual void emitCode(GrGLProgramBuilder*, |
const GrDrawEffect&, |
const GrEffectKey&, |
const char* outputColor, |
@@ -567,7 +567,7 @@ GrGLRadial2Gradient::GrGLRadial2Gradient(const GrBackendEffectFactory& factory, |
fIsDegenerate = data.isDegenerate(); |
} |
-void GrGLRadial2Gradient::emitCode(GrGLShaderBuilder* builder, |
+void GrGLRadial2Gradient::emitCode(GrGLProgramBuilder* builder, |
const GrDrawEffect& drawEffect, |
const GrEffectKey& key, |
const char* outputColor, |
@@ -576,7 +576,7 @@ void GrGLRadial2Gradient::emitCode(GrGLShaderBuilder* builder, |
const TextureSamplerArray& samplers) { |
uint32_t baseKey = key.get32(0); |
this->emitUniforms(builder, baseKey); |
- fParamUni = builder->addUniformArray(GrGLShaderBuilder::kFragment_Visibility, |
+ fParamUni = builder->addUniformArray(GrGLProgramBuilder::kFragment_Visibility, |
kFloat_GrSLType, "Radial2FSParams", 6); |
SkString cName("c"); |
@@ -596,12 +596,13 @@ void GrGLRadial2Gradient::emitCode(GrGLShaderBuilder* builder, |
builder->getUniformVariable(fParamUni).appendArrayAccess(4, &p4); |
builder->getUniformVariable(fParamUni).appendArrayAccess(5, &p5); |
+ GrGLFragmentShaderBuilder* fsBuilder = builder->getFragmentShaderBuilder(); |
// We interpolate the linear component in coords[1]. |
SkASSERT(coords[0].type() == coords[1].type()); |
const char* coords2D; |
SkString bVar; |
if (kVec3f_GrSLType == coords[0].type()) { |
- builder->fsCodeAppendf("\tvec3 interpolants = vec3(%s.xy, %s.x) / %s.z;\n", |
+ fsBuilder->codeAppendf("\tvec3 interpolants = vec3(%s.xy, %s.x) / %s.z;\n", |
coords[0].c_str(), coords[1].c_str(), coords[0].c_str()); |
coords2D = "interpolants.xy"; |
bVar = "interpolants.z"; |
@@ -611,7 +612,7 @@ void GrGLRadial2Gradient::emitCode(GrGLShaderBuilder* builder, |
} |
// c = (x^2)+(y^2) - params[4] |
- builder->fsCodeAppendf("\tfloat %s = dot(%s, %s) - %s;\n", |
+ fsBuilder->codeAppendf("\tfloat %s = dot(%s, %s) - %s;\n", |
cName.c_str(), coords2D, coords2D, p4.c_str()); |
// If we aren't degenerate, emit some extra code, and accept a slightly |
@@ -619,13 +620,13 @@ void GrGLRadial2Gradient::emitCode(GrGLShaderBuilder* builder, |
if (!fIsDegenerate) { |
// ac4 = 4.0 * params[0] * c |
- builder->fsCodeAppendf("\tfloat %s = %s * 4.0 * %s;\n", |
+ fsBuilder->codeAppendf("\tfloat %s = %s * 4.0 * %s;\n", |
ac4Name.c_str(), p0.c_str(), |
cName.c_str()); |
// root = sqrt(b^2-4ac) |
// (abs to avoid exception due to fp precision) |
- builder->fsCodeAppendf("\tfloat %s = sqrt(abs(%s*%s - %s));\n", |
+ fsBuilder->codeAppendf("\tfloat %s = sqrt(abs(%s*%s - %s));\n", |
rootName.c_str(), bVar.c_str(), bVar.c_str(), |
ac4Name.c_str()); |