diff options
author | 2018-06-18 12:52:47 -0400 | |
---|---|---|
committer | 2018-06-18 17:13:58 +0000 | |
commit | 19c1233c447f625c2522e7ecd0a0adecc629bb2f (patch) | |
tree | 891e06143986ade3aae8d4176ec8b426f70b896f /src/gpu/ops/GrAAHairLinePathRenderer.cpp | |
parent | 146cf3ce7935019ecc63ce9e93450a8c122880d8 (diff) |
Change how vertex/instance attributes are handled in geometry processors.
* No longer register vertex/instance attributes on base class, just counts
* Separate instance and vertex attributes and remove InputRate and offset
* Make attributes constexpr where possible
Change-Id: I1f1d5e772fa177a96d2aeb805aab7b69f35bfae6
Reviewed-on: https://skia-review.googlesource.com/132405
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'src/gpu/ops/GrAAHairLinePathRenderer.cpp')
-rw-r--r-- | src/gpu/ops/GrAAHairLinePathRenderer.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/gpu/ops/GrAAHairLinePathRenderer.cpp b/src/gpu/ops/GrAAHairLinePathRenderer.cpp index b62c14b197..89dedc48a4 100644 --- a/src/gpu/ops/GrAAHairLinePathRenderer.cpp +++ b/src/gpu/ops/GrAAHairLinePathRenderer.cpp @@ -959,18 +959,16 @@ void AAHairlineOp::onPrepareDraws(Target* target) { const GrBuffer* vertexBuffer; int firstVertex; - size_t vertexStride = lineGP->getVertexStride(); + SkASSERT(sizeof(LineVertex) == lineGP->debugOnly_vertexStride()); int vertexCount = kLineSegNumVertices * lineCount; - LineVertex* verts = reinterpret_cast<LineVertex*>( - target->makeVertexSpace(vertexStride, vertexCount, &vertexBuffer, &firstVertex)); + LineVertex* verts = reinterpret_cast<LineVertex*>(target->makeVertexSpace( + sizeof(LineVertex), vertexCount, &vertexBuffer, &firstVertex)); if (!verts|| !linesIndexBuffer) { SkDebugf("Could not allocate vertices\n"); return; } - SkASSERT(lineGP->getVertexStride() == sizeof(LineVertex)); - for (int i = 0; i < lineCount; ++i) { add_line(&lines[2*i], toSrc, this->coverage(), &verts); } @@ -1004,10 +1002,11 @@ void AAHairlineOp::onPrepareDraws(Target* target) { sk_sp<const GrBuffer> quadsIndexBuffer = get_quads_index_buffer(target->resourceProvider()); - size_t vertexStride = sizeof(BezierVertex); + SkASSERT(sizeof(BezierVertex) == quadGP->debugOnly_vertexStride()); + SkASSERT(sizeof(BezierVertex) == conicGP->debugOnly_vertexStride()); int vertexCount = kQuadNumVertices * quadAndConicCount; - void *vertices = target->makeVertexSpace(vertexStride, vertexCount, - &vertexBuffer, &firstVertex); + void* vertices = target->makeVertexSpace(sizeof(BezierVertex), vertexCount, &vertexBuffer, + &firstVertex); if (!vertices || !quadsIndexBuffer) { SkDebugf("Could not allocate vertices\n"); |