Reduce usage of GrGLShaderBuilder::SamplerMode
http://codereview.appspot.com/6453080/
git-svn-id: http://skia.googlecode.com/svn/trunk@4940 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGLShaderBuilder.cpp b/src/gpu/gl/GrGLShaderBuilder.cpp
index 7171029..fb70556 100644
--- a/src/gpu/gl/GrGLShaderBuilder.cpp
+++ b/src/gpu/gl/GrGLShaderBuilder.cpp
@@ -31,7 +31,6 @@
sampler.append("Proj");
break;
case GrGLShaderBuilder::kExplicitDivide_SamplerMode:
- GrAssert(false); // Not Implemented
break;
}
@@ -120,18 +119,22 @@
}
}
-void GrGLShaderBuilder::setupTextureAccess(SamplerMode samplerMode,
- int stageNum) {
+void GrGLShaderBuilder::setupTextureAccess(int stageNum) {
SkString retval;
- fTexFunc = "texture2D";
- switch (samplerMode) {
+ SamplerMode mode = kDefault_SamplerMode;
+ // FIXME: we aren't currently using Proj.
+ if (fVaryingDims != fCoordDims) {
+ mode = kExplicitDivide_SamplerMode;
+ }
+
+ switch (mode) {
case kDefault_SamplerMode:
GrAssert(fVaryingDims == fCoordDims);
// Do nothing
break;
case kProj_SamplerMode:
- fTexFunc.append("Proj");
+ // Do nothing
break;
case kExplicitDivide_SamplerMode:
retval = "inCoord";
@@ -147,6 +150,7 @@
fSampleCoords = retval;
break;
}
+ fTexFunc = build_sampler_string(mode);
fComplexCoord = false;
}