aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/ops/GrAAConvexPathRenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/ops/GrAAConvexPathRenderer.cpp')
-rw-r--r--src/gpu/ops/GrAAConvexPathRenderer.cpp42
1 files changed, 20 insertions, 22 deletions
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp
index 566eebd827..3237afeaed 100644
--- a/src/gpu/ops/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp
@@ -576,21 +576,21 @@ public:
GrGLSLVarying v(kHalf4_GrSLType);
varyingHandler->addVarying("QuadEdge", &v);
- vertBuilder->codeAppendf("%s = %s;", v.vsOut(), qe.kInQuadEdge.name());
+ vertBuilder->codeAppendf("%s = %s;", v.vsOut(), qe.fInQuadEdge->name());
// Setup pass through color
- varyingHandler->addPassThroughAttribute(qe.kInColor, args.fOutputColor);
+ varyingHandler->addPassThroughAttribute(qe.fInColor, args.fOutputColor);
GrGLSLFPFragmentBuilder* fragBuilder = args.fFragBuilder;
// Setup position
- this->writeOutputPosition(vertBuilder, gpArgs, qe.kInPosition.name());
+ this->writeOutputPosition(vertBuilder, gpArgs, qe.fInPosition->name());
// emit transforms
this->emitTransforms(vertBuilder,
varyingHandler,
uniformHandler,
- qe.kInPosition.asShaderVar(),
+ qe.fInPosition->asShaderVar(),
qe.fLocalMatrix,
args.fFPCoordTransformHandler);
@@ -646,25 +646,21 @@ private:
: INHERITED(kQuadEdgeEffect_ClassID)
, fLocalMatrix(localMatrix)
, fUsesLocalCoords(usesLocalCoords) {
- this->setVertexAttributeCnt(3);
+ fInPosition = &this->addVertexAttrib("inPosition", kFloat2_GrVertexAttribType);
+ fInColor = &this->addVertexAttrib("inColor", kUByte4_norm_GrVertexAttribType);
+ fInQuadEdge = &this->addVertexAttrib("inQuadEdge", kHalf4_GrVertexAttribType);
}
- const Attribute& onVertexAttribute(int i) const override {
- return IthAttribute(i, kInPosition, kInColor, kInQuadEdge);
- }
- static constexpr Attribute kInPosition = {"inPosition", kFloat2_GrVertexAttribType};
- static constexpr Attribute kInColor = {"inColor", kUByte4_norm_GrVertexAttribType};
- static constexpr Attribute kInQuadEdge = {"inQuadEdge", kHalf4_GrVertexAttribType};
- SkMatrix fLocalMatrix;
- bool fUsesLocalCoords;
+ const Attribute* fInPosition;
+ const Attribute* fInQuadEdge;
+ const Attribute* fInColor;
+ SkMatrix fLocalMatrix;
+ bool fUsesLocalCoords;
GR_DECLARE_GEOMETRY_PROCESSOR_TEST
typedef GrGeometryProcessor INHERITED;
};
-constexpr GrPrimitiveProcessor::Attribute QuadEdgeEffect::kInPosition;
-constexpr GrPrimitiveProcessor::Attribute QuadEdgeEffect::kInColor;
-constexpr GrPrimitiveProcessor::Attribute QuadEdgeEffect::kInQuadEdge;
GR_DEFINE_GEOMETRY_PROCESSOR_TEST(QuadEdgeEffect);
@@ -799,10 +795,12 @@ private:
return;
}
- size_t vertexStride = fHelper.compatibleWithAlphaAsCoverage()
- ? sizeof(GrDefaultGeoProcFactory::PositionColorAttr)
- : sizeof(GrDefaultGeoProcFactory::PositionColorCoverageAttr);
- SkASSERT(vertexStride == gp->debugOnly_vertexStride());
+ size_t vertexStride = gp->getVertexStride();
+
+ SkASSERT(fHelper.compatibleWithAlphaAsCoverage()
+ ? vertexStride == sizeof(GrDefaultGeoProcFactory::PositionColorAttr)
+ : vertexStride ==
+ sizeof(GrDefaultGeoProcFactory::PositionColorCoverageAttr));
GrAAConvexTessellator tess;
@@ -903,9 +901,9 @@ private:
const GrBuffer* vertexBuffer;
int firstVertex;
- SkASSERT(sizeof(QuadVertex) == quadProcessor->debugOnly_vertexStride());
+ size_t vertexStride = quadProcessor->getVertexStride();
QuadVertex* verts = reinterpret_cast<QuadVertex*>(target->makeVertexSpace(
- sizeof(QuadVertex), vertexCount, &vertexBuffer, &firstVertex));
+ vertexStride, vertexCount, &vertexBuffer, &firstVertex));
if (!verts) {
SkDebugf("Could not allocate vertices\n");