Index: src/gpu/GrOvalRenderer.cpp |
diff --git a/src/gpu/GrOvalRenderer.cpp b/src/gpu/GrOvalRenderer.cpp |
index a2e365e0db5c5ca5728f0dade1ac68a8fbd3a856..0d3f7b98cb9df4fc7364ddce614774210cf428e7 100644 |
--- a/src/gpu/GrOvalRenderer.cpp |
+++ b/src/gpu/GrOvalRenderer.cpp |
@@ -102,9 +102,12 @@ public: |
vsBuilder->codeAppendf("%s = %s;", vsBuilder->positionCoords(), ce.inPosition()->fName); |
vsBuilder->codeAppendf("%s = %s;", vsBuilder->localCoords(), ce.inPosition()->fName); |
+ // setup uniform viewMatrix |
+ this->setupUniformViewMatrix(pb); |
+ |
// setup position varying |
vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", vsBuilder->glPosition(), |
- vsBuilder->uViewM(), ce.inPosition()->fName); |
+ this->uViewM(), ce.inPosition()->fName); |
GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); |
fsBuilder->codeAppendf("float d = length(%s.xy);", v.fsIn()); |
@@ -132,6 +135,8 @@ public: |
virtual void setData(const GrGLProgramDataManager& pdman, |
const GrPrimitiveProcessor& gp, |
const GrBatchTracker& bt) SK_OVERRIDE { |
+ this->setUniformViewMatrix(pdman, gp.viewMatrix()); |
+ |
const BatchTracker& local = bt.cast<BatchTracker>(); |
if (kUniform_GrGPInput == local.fInputColorType && local.fColor != fColor) { |
GrGLfloat c[4]; |
@@ -278,9 +283,12 @@ public: |
vsBuilder->codeAppendf("%s = %s;", vsBuilder->positionCoords(), ee.inPosition()->fName); |
vsBuilder->codeAppendf("%s = %s;", vsBuilder->localCoords(), ee.inPosition()->fName); |
+ // setup uniform viewMatrix |
+ this->setupUniformViewMatrix(pb); |
+ |
// setup position varying |
vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", vsBuilder->glPosition(), |
- vsBuilder->uViewM(), ee.inPosition()->fName); |
+ this->uViewM(), ee.inPosition()->fName); |
// for outer curve |
GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); |
@@ -323,6 +331,8 @@ public: |
virtual void setData(const GrGLProgramDataManager& pdman, |
const GrPrimitiveProcessor& gp, |
const GrBatchTracker& bt) SK_OVERRIDE { |
+ this->setUniformViewMatrix(pdman, gp.viewMatrix()); |
+ |
const BatchTracker& local = bt.cast<BatchTracker>(); |
if (kUniform_GrGPInput == local.fInputColorType && local.fColor != fColor) { |
GrGLfloat c[4]; |
@@ -475,9 +485,12 @@ public: |
vsBuilder->codeAppendf("%s = %s;", vsBuilder->positionCoords(), ee.inPosition()->fName); |
vsBuilder->codeAppendf("%s = %s;", vsBuilder->localCoords(), ee.inPosition()->fName); |
+ // setup uniform viewMatrix |
+ this->setupUniformViewMatrix(pb); |
+ |
// setup position varying |
vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", vsBuilder->glPosition(), |
- vsBuilder->uViewM(), ee.inPosition()->fName); |
+ this->uViewM(), ee.inPosition()->fName); |
GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); |
SkAssertResult(fsBuilder->enableFeature( |
@@ -535,6 +548,8 @@ public: |
virtual void setData(const GrGLProgramDataManager& pdman, |
const GrPrimitiveProcessor& gp, |
const GrBatchTracker& bt) SK_OVERRIDE { |
+ this->setUniformViewMatrix(pdman, gp.viewMatrix()); |
+ |
const BatchTracker& local = bt.cast<BatchTracker>(); |
if (kUniform_GrGPInput == local.fInputColorType && local.fColor != fColor) { |
GrGLfloat c[4]; |