aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrAAHairLinePathRenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/GrAAHairLinePathRenderer.cpp')
-rw-r--r--src/gpu/GrAAHairLinePathRenderer.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/gpu/GrAAHairLinePathRenderer.cpp b/src/gpu/GrAAHairLinePathRenderer.cpp
index 3ed4488f2b..527c18b36b 100644
--- a/src/gpu/GrAAHairLinePathRenderer.cpp
+++ b/src/gpu/GrAAHairLinePathRenderer.cpp
@@ -500,12 +500,14 @@ void add_line(const SkPoint p[2],
}
-bool GrAAHairLinePathRenderer::createGeom(const SkPath& path,
- const GrVec* translate,
- GrDrawTarget* target,
- GrDrawState::StageMask stageMask,
- int* lineCnt,
- int* quadCnt) {
+bool GrAAHairLinePathRenderer::createGeom(
+ const SkPath& path,
+ const GrVec* translate,
+ GrDrawTarget* target,
+ GrDrawState::StageMask stageMask,
+ int* lineCnt,
+ int* quadCnt,
+ GrDrawTarget::AutoReleaseGeometry* arg) {
const GrDrawState& drawState = target->getDrawState();
int rtHeight = drawState.getRenderTarget()->height();
@@ -542,11 +544,12 @@ bool GrAAHairLinePathRenderer::createGeom(const SkPath& path,
GrAssert(sizeof(Vertex) == GrDrawTarget::VertexSize(layout));
- Vertex* verts;
- if (!target->reserveVertexSpace(layout, vertCnt, (void**)&verts)) {
+ if (!arg->set(target, layout, vertCnt, 0)) {
return false;
}
+ Vertex* verts = reinterpret_cast<Vertex*>(arg->vertices());
+
const GrMatrix* toDevice = NULL;
const GrMatrix* toSrc = NULL;
GrMatrix ivm;
@@ -597,13 +600,14 @@ bool GrAAHairLinePathRenderer::onDrawPath(const SkPath& path,
int lineCnt;
int quadCnt;
-
+ GrDrawTarget::AutoReleaseGeometry arg;
if (!this->createGeom(path,
translate,
target,
stageMask,
&lineCnt,
- &quadCnt)) {
+ &quadCnt,
+ &arg)) {
return false;
}