fix for uniform view matrix being uploaded but not used
As discussed, I'll follow this up by removing localmatrix/uniform view matrix from the base classe
BUG=skia:
Review URL: https://codereview.chromium.org/920933002
diff --git a/src/gpu/gl/GrGLGeometryProcessor.cpp b/src/gpu/gl/GrGLGeometryProcessor.cpp
index a8d020a..79bcb4c 100644
--- a/src/gpu/gl/GrGLGeometryProcessor.cpp
+++ b/src/gpu/gl/GrGLGeometryProcessor.cpp
@@ -106,24 +106,26 @@
}
}
-void GrGLGeometryProcessor::SetupPosition(GrGLVertexBuilder* vsBuilder,
+void GrGLGeometryProcessor::setupPosition(GrGLGPBuilder* pb,
GrGPArgs* gpArgs,
const char* posName,
- const SkMatrix& mat,
- const char* matName) {
+ const SkMatrix& mat) {
+ GrGLVertexBuilder* vsBuilder = pb->getVertexShaderBuilder();
if (mat.isIdentity()) {
gpArgs->fPositionVar.set(kVec2f_GrSLType, "pos2");
vsBuilder->codeAppendf("vec2 %s = %s;", gpArgs->fPositionVar.c_str(), posName);
} else if (!mat.hasPerspective()) {
+ this->addUniformViewMatrix(pb);
gpArgs->fPositionVar.set(kVec2f_GrSLType, "pos2");
vsBuilder->codeAppendf("vec2 %s = vec2(%s * vec3(%s, 1));",
- gpArgs->fPositionVar.c_str(), matName, posName);
+ gpArgs->fPositionVar.c_str(), this->uViewM(), posName);
} else {
+ this->addUniformViewMatrix(pb);
gpArgs->fPositionVar.set(kVec3f_GrSLType, "pos3");
vsBuilder->codeAppendf("vec3 %s = %s * vec3(%s, 1);",
- gpArgs->fPositionVar.c_str(), matName, posName);
+ gpArgs->fPositionVar.c_str(), this->uViewM(), posName);
}
}