aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/ops/GrAAHairLinePathRenderer.cpp
diff options
context:
space:
mode:
authorGravatar Chris Dalton <csmartdalton@google.com>2017-05-26 15:17:19 -0600
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-30 16:02:36 +0000
commit114a3c0b2b26c84b9d0907a99fd8ab7938631246 (patch)
treea243fad112a79f3375ae98f0c916db63d9cdc9c0 /src/gpu/ops/GrAAHairLinePathRenderer.cpp
parent8cc933104b0e965c4226c91701cee7586587409f (diff)
Fix glDrawRangeElements
Adds explicit min/max index value fields to GrMesh. This eliminates the previous assumption that the index values were within the range [0..vertexCount-1]. In the pattern case we still maintain this assumption. Updates GrMesh to hide its fields and handle its new complexity using a "helper" interface instead. Adds a unit test for GrMesh. Bug: skia: Change-Id: Ia23de72d510f8827cee56072b727fb70a6e46b8d Reviewed-on: https://skia-review.googlesource.com/17964 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'src/gpu/ops/GrAAHairLinePathRenderer.cpp')
-rw-r--r--src/gpu/ops/GrAAHairLinePathRenderer.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/gpu/ops/GrAAHairLinePathRenderer.cpp b/src/gpu/ops/GrAAHairLinePathRenderer.cpp
index 5618fd1b8e..26d58f4a95 100644
--- a/src/gpu/ops/GrAAHairLinePathRenderer.cpp
+++ b/src/gpu/ops/GrAAHairLinePathRenderer.cpp
@@ -861,9 +861,9 @@ void AAHairlineOp::onPrepareDraws(Target* target) const {
}
GrMesh mesh(kTriangles_GrPrimitiveType);
- mesh.setIndexedPatterned(linesIndexBuffer.get(), kIdxsPerLineSeg,
+ mesh.setIndexedPatterned(linesIndexBuffer.get(), kIdxsPerLineSeg, kLineSegNumVertices,
lineCount, kLineSegsNumInIdxBuffer);
- mesh.setVertices(vertexBuffer, kLineSegNumVertices, firstVertex);
+ mesh.setVertexData(vertexBuffer, firstVertex);
target->draw(lineGP.get(), this->pipeline(), mesh);
}
@@ -918,18 +918,18 @@ void AAHairlineOp::onPrepareDraws(Target* target) const {
if (quadCount > 0) {
GrMesh mesh(kTriangles_GrPrimitiveType);
- mesh.setIndexedPatterned(quadsIndexBuffer.get(), kIdxsPerQuad, quadCount,
- kQuadsNumInIdxBuffer);
- mesh.setVertices(vertexBuffer, kQuadNumVertices, firstVertex);
+ mesh.setIndexedPatterned(quadsIndexBuffer.get(), kIdxsPerQuad, kQuadNumVertices,
+ quadCount, kQuadsNumInIdxBuffer);
+ mesh.setVertexData(vertexBuffer, firstVertex);
target->draw(quadGP.get(), this->pipeline(), mesh);
firstVertex += quadCount * kQuadNumVertices;
}
if (conicCount > 0) {
GrMesh mesh(kTriangles_GrPrimitiveType);
- mesh.setIndexedPatterned(quadsIndexBuffer.get(), kIdxsPerQuad, conicCount,
- kQuadsNumInIdxBuffer);
- mesh.setVertices(vertexBuffer, kQuadNumVertices, firstVertex);
+ mesh.setIndexedPatterned(quadsIndexBuffer.get(), kIdxsPerQuad, kQuadNumVertices,
+ conicCount, kQuadsNumInIdxBuffer);
+ mesh.setVertexData(vertexBuffer, firstVertex);
target->draw(conicGP.get(), this->pipeline(), mesh);
}
}