aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrPathProcessor.cpp
diff options
context:
space:
mode:
authorGravatar egdaniel <egdaniel@google.com>2015-11-20 14:01:22 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-11-20 14:01:22 -0800
commit0eafe79f42e3c675f3c504aed4a41abf511df2b7 (patch)
tree564912e8c811c3eb1bff5fd18131e9015b4a9fd6 /src/gpu/GrPathProcessor.cpp
parenta7006d45217d128a94fa53cb4b827cca79bc7049 (diff)
Create GrGLSLVaryingHandler class for program building
Diffstat (limited to 'src/gpu/GrPathProcessor.cpp')
-rw-r--r--src/gpu/GrPathProcessor.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/gpu/GrPathProcessor.cpp b/src/gpu/GrPathProcessor.cpp
index 0e856520d4..f52ef489ee 100644
--- a/src/gpu/GrPathProcessor.cpp
+++ b/src/gpu/GrPathProcessor.cpp
@@ -12,6 +12,7 @@
#include "glsl/GrGLSLFragmentShaderBuilder.h"
#include "glsl/GrGLSLProcessorTypes.h"
#include "glsl/GrGLSLProgramBuilder.h"
+#include "glsl/GrGLSLVarying.h"
class GrGLPathProcessor : public GrGLSLPrimitiveProcessor {
public:
@@ -30,7 +31,7 @@ public:
const GrPathProcessor& pathProc = args.fGP.cast<GrPathProcessor>();
// emit transforms
- this->emitTransforms(args.fPB, args.fTransformsIn, args.fTransformsOut);
+ this->emitTransforms(args.fVaryingHandler, args.fTransformsIn, args.fTransformsOut);
// Setup uniform color
if (pathProc.opts().readsColor()) {
@@ -49,7 +50,9 @@ public:
}
}
- void emitTransforms(GrGLSLGPBuilder* pb, const TransformsIn& tin, TransformsOut* tout) {
+ void emitTransforms(GrGLSLVaryingHandler* varyingHandler,
+ 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++) {
@@ -63,8 +66,10 @@ public:
SkString strVaryingName("MatrixCoord");
strVaryingName.appendf("_%i_%i", i, t);
GrGLSLVertToFrag v(varyingType);
+ GrGLVaryingHandler* glVaryingHandler = (GrGLVaryingHandler*) varyingHandler;
fInstalledTransforms[i][t].fHandle =
- pb->addSeparableVarying(strVaryingName.c_str(), &v).toIndex();
+ glVaryingHandler->addPathProcessingVarying(strVaryingName.c_str(),
+ &v).toIndex();
fInstalledTransforms[i][t].fType = varyingType;
SkNEW_APPEND_TO_TARRAY(&(*tout)[i], GrGLSLTransformedCoords,