Index: src/gpu/gl/GrGLPathProcessor.cpp |
diff --git a/src/gpu/gl/GrGLPathProcessor.cpp b/src/gpu/gl/GrGLPathProcessor.cpp |
deleted file mode 100644 |
index d313d0c4e548f6b1b238b0ffa00c3bf22347ab97..0000000000000000000000000000000000000000 |
--- a/src/gpu/gl/GrGLPathProcessor.cpp |
+++ /dev/null |
@@ -1,107 +0,0 @@ |
-/* |
- * Copyright 2013 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#include "GrGLPathProcessor.h" |
- |
-#include "GrPathProcessor.h" |
-#include "GrGLGpu.h" |
-#include "GrGLPathRendering.h" |
- |
-GrGLPathProcessor::GrGLPathProcessor() |
- : fColor(GrColor_ILLEGAL) {} |
- |
-void GrGLPathProcessor::emitCode(EmitArgs& args) { |
- GrGLGPBuilder* pb = args.fPB; |
- GrGLFragmentBuilder* fs = args.fPB->getFragmentShaderBuilder(); |
- const GrPathProcessor& pathProc = args.fGP.cast<GrPathProcessor>(); |
- |
- // emit transforms |
- this->emitTransforms(args.fPB, args.fTransformsIn, args.fTransformsOut); |
- |
- // Setup uniform color |
- if (pathProc.opts().readsColor()) { |
- const char* stagedLocalVarName; |
- fColorUniform = pb->addUniform(GrGLProgramBuilder::kFragment_Visibility, |
- kVec4f_GrSLType, |
- kDefault_GrSLPrecision, |
- "Color", |
- &stagedLocalVarName); |
- fs->codeAppendf("%s = %s;", args.fOutputColor, stagedLocalVarName); |
- } |
- |
- // setup constant solid coverage |
- if (pathProc.opts().readsCoverage()) { |
- fs->codeAppendf("%s = vec4(1);", args.fOutputCoverage); |
- } |
-} |
- |
-void GrGLPathProcessor::GenKey(const GrPathProcessor& pathProc, |
- const GrGLSLCaps&, |
- GrProcessorKeyBuilder* b) { |
- b->add32(SkToInt(pathProc.opts().readsColor()) | |
- SkToInt(pathProc.opts().readsCoverage()) << 16); |
-} |
- |
-void GrGLPathProcessor::setData(const GrGLProgramDataManager& pdman, |
- const GrPrimitiveProcessor& primProc) { |
- const GrPathProcessor& pathProc = primProc.cast<GrPathProcessor>(); |
- if (pathProc.opts().readsColor() && pathProc.color() != fColor) { |
- GrGLfloat c[4]; |
- GrColorToRGBAFloat(pathProc.color(), c); |
- pdman.set4fv(fColorUniform, 1, c); |
- fColor = pathProc.color(); |
- } |
-} |
- |
-void GrGLPathProcessor::emitTransforms(GrGLGPBuilder* pb, const TransformsIn& tin, |
- TransformsOut* tout) { |
- tout->push_back_n(tin.count()); |
- fInstalledTransforms.push_back_n(tin.count()); |
- for (int i = 0; i < tin.count(); i++) { |
- const ProcCoords& coordTransforms = tin[i]; |
- fInstalledTransforms[i].push_back_n(coordTransforms.count()); |
- for (int t = 0; t < coordTransforms.count(); t++) { |
- GrSLType varyingType = |
- coordTransforms[t]->getMatrix().hasPerspective() ? kVec3f_GrSLType : |
- kVec2f_GrSLType; |
- |
- SkString strVaryingName("MatrixCoord"); |
- strVaryingName.appendf("_%i_%i", i, t); |
- GrGLVertToFrag v(varyingType); |
- fInstalledTransforms[i][t].fHandle = |
- pb->addSeparableVarying(strVaryingName.c_str(), &v).toIndex(); |
- fInstalledTransforms[i][t].fType = varyingType; |
- |
- SkNEW_APPEND_TO_TARRAY(&(*tout)[i], GrGLProcessor::TransformedCoords, |
- (SkString(v.fsIn()), varyingType)); |
- } |
- } |
-} |
- |
-void GrGLPathProcessor::setTransformData( |
- const GrPrimitiveProcessor& primProc, |
- const GrGLProgramDataManager& pdman, |
- int index, |
- const SkTArray<const GrCoordTransform*, true>& coordTransforms) { |
- const GrPathProcessor& pathProc = primProc.cast<GrPathProcessor>(); |
- SkSTArray<2, Transform, true>& transforms = fInstalledTransforms[index]; |
- int numTransforms = transforms.count(); |
- for (int t = 0; t < numTransforms; ++t) { |
- SkASSERT(transforms[t].fHandle.isValid()); |
- const SkMatrix& transform = GetTransformMatrix(pathProc.localMatrix(), |
- *coordTransforms[t]); |
- if (transforms[t].fCurrentValue.cheapEqualTo(transform)) { |
- continue; |
- } |
- transforms[t].fCurrentValue = transform; |
- |
- SkASSERT(transforms[t].fType == kVec2f_GrSLType || |
- transforms[t].fType == kVec3f_GrSLType); |
- unsigned components = transforms[t].fType == kVec2f_GrSLType ? 2 : 3; |
- pdman.setPathFragmentInputTransform(transforms[t].fHandle, components, transform); |
- } |
-} |