diff options
Diffstat (limited to 'src/gpu/ops/GrNonAAFillRectOp.cpp')
-rw-r--r-- | src/gpu/ops/GrNonAAFillRectOp.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/gpu/ops/GrNonAAFillRectOp.cpp b/src/gpu/ops/GrNonAAFillRectOp.cpp index d4ebedc6e1..20bd599133 100644 --- a/src/gpu/ops/GrNonAAFillRectOp.cpp +++ b/src/gpu/ops/GrNonAAFillRectOp.cpp @@ -181,16 +181,15 @@ private: SkDebugf("Couldn't create GrGeometryProcessor\n"); return; } + SkASSERT(gp->getVertexStride() == + sizeof(GrDefaultGeoProcFactory::PositionColorLocalCoordAttr)); - static constexpr size_t kVertexStride = - sizeof(GrDefaultGeoProcFactory::PositionColorLocalCoordAttr); - SkASSERT(kVertexStride == gp->debugOnly_vertexStride()); - + size_t vertexStride = gp->getVertexStride(); int rectCount = fRects.count(); sk_sp<const GrBuffer> indexBuffer = target->resourceProvider()->refQuadIndexBuffer(); PatternHelper helper(GrPrimitiveType::kTriangles); - void* vertices = helper.init(target, kVertexStride, indexBuffer.get(), kVertsPerRect, + void* vertices = helper.init(target, vertexStride, indexBuffer.get(), kVertsPerRect, kIndicesPerRect, rectCount); if (!vertices || !indexBuffer) { SkDebugf("Could not allocate vertices\n"); @@ -199,8 +198,8 @@ private: for (int i = 0; i < rectCount; i++) { intptr_t verts = - reinterpret_cast<intptr_t>(vertices) + i * kVertsPerRect * kVertexStride; - tesselate(verts, kVertexStride, fRects[i].fColor, &fRects[i].fViewMatrix, + reinterpret_cast<intptr_t>(vertices) + i * kVertsPerRect * vertexStride; + tesselate(verts, vertexStride, fRects[i].fColor, &fRects[i].fViewMatrix, fRects[i].fRect, &fRects[i].fLocalQuad); } helper.recordDraw(target, gp.get(), fHelper.makePipeline(target)); @@ -312,11 +311,13 @@ private: SkDebugf("Couldn't create GrGeometryProcessor\n"); return; } - size_t vertexStride = fHasLocalRect - ? sizeof(GrDefaultGeoProcFactory::PositionColorLocalCoordAttr) - : sizeof(GrDefaultGeoProcFactory::PositionColorAttr); - SkASSERT(vertexStride == gp->debugOnly_vertexStride()); + SkASSERT(fHasLocalRect + ? gp->getVertexStride() == + sizeof(GrDefaultGeoProcFactory::PositionColorLocalCoordAttr) + : gp->getVertexStride() == + sizeof(GrDefaultGeoProcFactory::PositionColorAttr)); + size_t vertexStride = gp->getVertexStride(); int rectCount = fRects.count(); sk_sp<const GrBuffer> indexBuffer = target->resourceProvider()->refQuadIndexBuffer(); |