Index: src/gpu/gl/GrGLGeometryProcessor.h |
diff --git a/src/gpu/gl/GrGLGeometryProcessor.h b/src/gpu/gl/GrGLGeometryProcessor.h |
index 747d82ab4859f0b76f244562d4ae1a39671eb5d4..88baecf879886d3662752630396463da9df3b393 100644 |
--- a/src/gpu/gl/GrGLGeometryProcessor.h |
+++ b/src/gpu/gl/GrGLGeometryProcessor.h |
@@ -41,7 +41,7 @@ public: |
} |
protected: |
- // A helper for subclasses which don't have an explicit local matrix |
+ // Emit a uniform matrix for each coord transform. |
void emitTransforms(GrGLGPBuilder* gp, |
const GrShaderVar& posVar, |
const char* localCoords, |
@@ -50,6 +50,7 @@ protected: |
this->emitTransforms(gp, posVar, localCoords, SkMatrix::I(), tin, tout); |
} |
+ // Emit pre-transformed coords as a vertex attribute per coord-transform. |
void emitTransforms(GrGLGPBuilder*, |
const GrShaderVar& posVar, |
const char* localCoords, |
@@ -57,6 +58,12 @@ protected: |
const TransformsIn&, |
TransformsOut*); |
+ // caller has emitted transforms via attributes |
+ void emitTransforms(GrGLGPBuilder*, |
+ const char* localCoords, |
+ const TransformsIn& tin, |
+ TransformsOut* tout); |
+ |
struct GrGPArgs { |
// The variable used by a GP to store its position. It can be |
// either a vec2 or a vec3 depending on the presence of perspective. |