Chromium Code Reviews| Index: src/gpu/GrOvalRenderer.cpp |
| diff --git a/src/gpu/GrOvalRenderer.cpp b/src/gpu/GrOvalRenderer.cpp |
| index 4575287d05c3de1fe074818a23ffe9c5e34896b2..a3a1099e639c92582afe26c9562ace7cbd7d2af1 100644 |
| --- a/src/gpu/GrOvalRenderer.cpp |
| +++ b/src/gpu/GrOvalRenderer.cpp |
| @@ -100,6 +100,11 @@ public: |
| GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();; |
| vsBuilder->codeAppendf("%s = %s;", v.vsOut(), circleEffect.inCircleEdge().c_str()); |
| + // setup position varying |
| + vsBuilder->codeAppendf("vec3 pos3 = %s * vec3(%s, 1);", args.fGP.uViewM(), |
| + args.fGP.inPosition()); |
| + vsBuilder->transformPositionToDeviceSpace("pos3"); |
|
bsalomon
2014/11/07 14:44:03
This name is a bit confusing. I'd expect it to tak
|
| + |
| GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); |
| fsBuilder->codeAppendf("float d = length(%s.xy);", v.fsIn()); |
| fsBuilder->codeAppendf("float edgeAlpha = clamp(%s.z - d, 0.0, 1.0);", v.fsIn()); |
| @@ -219,6 +224,11 @@ public: |
| vsBuilder->codeAppendf("%s = %s;", ellipseRadii.vsOut(), |
| ellipseEffect.inEllipseRadii().c_str()); |
| + // setup position varying |
| + vsBuilder->codeAppendf("vec3 pos3 = %s * vec3(%s, 1);", args.fGP.uViewM(), |
| + args.fGP.inPosition()); |
| + vsBuilder->transformPositionToDeviceSpace("pos3"); |
| + |
| // for outer curve |
| GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); |
| fsBuilder->codeAppendf("vec2 scaledOffset = %s*%s.xy;", ellipseOffsets.fsIn(), |
| @@ -365,6 +375,11 @@ public: |
| vsBuilder->codeAppendf("%s = %s;", offsets1.vsOut(), |
| ellipseEffect.inEllipseOffsets1().c_str()); |
| + // setup position varying |
| + vsBuilder->codeAppendf("vec3 pos3 = %s * vec3(%s, 1);", args.fGP.uViewM(), |
| + args.fGP.inPosition()); |
| + vsBuilder->transformPositionToDeviceSpace("pos3"); |
| + |
| GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); |
| SkAssertResult(fsBuilder->enableFeature( |
| GrGLFragmentShaderBuilder::kStandardDerivatives_GLSLFeature)); |