boundsPaint.setStyle(SkPaint::kStroke_Style);
canvas->drawRect(bounds, boundsPaint);
- Vertex verts[4];
+ GrTestTarget tt;
+ context->getTestTarget(&tt);
+ SkASSERT(tt.target());
+
+ GrDrawState* drawState = tt.target()->drawState();
+ drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
+
+ GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, 0);
+ Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices());
+
verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop,
bounds.fRight, bounds.fBottom,
sizeof(Vertex));
verts[v].fKLM[2] = eval_line(verts[v].fPosition, klmEqs + 6, 1.f);
}
- GrTestTarget tt;
- context->getTestTarget(&tt);
- SkASSERT(tt.target());
- GrDrawState* drawState = tt.target()->drawState();
- drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
-
drawState->setGeometryProcessor(gp);
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
- tt.target()->setVertexSourceToArray(verts, 4);
tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuffer());
tt.target()->drawIndexed(kTriangleFan_GrPrimitiveType, 0, 0, 4, 6);
}
boundsPaint.setStyle(SkPaint::kStroke_Style);
canvas->drawRect(bounds, boundsPaint);
- Vertex verts[4];
+ GrTestTarget tt;
+ context->getTestTarget(&tt);
+ SkASSERT(tt.target());
+
+ GrDrawState* drawState = tt.target()->drawState();
+ drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
+
+ GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, 0);
+ Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices());
+
verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop,
bounds.fRight, bounds.fBottom,
sizeof(Vertex));
verts[v].fKLM[2] = eval_line(verts[v].fPosition, klmEqs + 6, 1.f);
}
- GrTestTarget tt;
- context->getTestTarget(&tt);
- SkASSERT(tt.target());
- GrDrawState* drawState = tt.target()->drawState();
- drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
-
drawState->setGeometryProcessor(gp);
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
- tt.target()->setVertexSourceToArray(verts, 4);
tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuffer());
tt.target()->drawIndexed(kTriangleFan_GrPrimitiveType, 0, 0, 4, 6);
}
boundsPaint.setStyle(SkPaint::kStroke_Style);
canvas->drawRect(bounds, boundsPaint);
- Vertex verts[4];
+ GrTestTarget tt;
+ context->getTestTarget(&tt);
+ SkASSERT(tt.target());
+
+ GrDrawState* drawState = tt.target()->drawState();
+ drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
+
+ GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, 0);
+ Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices());
+
verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop,
bounds.fRight, bounds.fBottom,
sizeof(Vertex));
GrPathUtils::QuadUVMatrix DevToUV(pts);
DevToUV.apply<4, sizeof(Vertex), sizeof(SkPoint)>(verts);
- GrTestTarget tt;
- context->getTestTarget(&tt);
- SkASSERT(tt.target());
- GrDrawState* drawState = tt.target()->drawState();
- drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
-
drawState->setGeometryProcessor(gp);
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
- tt.target()->setVertexSourceToArray(verts, 4);
tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuffer());
tt.target()->drawIndexed(kTriangles_GrPrimitiveType, 0, 0, 4, 6);
}
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
- SkPoint verts[4];
+ // TODO hack
+ GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, 0);
+ SkPoint* verts = reinterpret_cast<SkPoint*>(geo.vertices());
+
+ //SkPoint verts[4];
SkRect bounds = p.getBounds();
// Make sure any artifacts around the exterior of path are visible by using overly
// conservative bounding geometry.
bounds.outset(5.f, 5.f);
bounds.toQuad(verts);
- tt.target()->setVertexSourceToArray(verts, 4);
+ //tt.target()->setVertexSourceToArray(verts, 4);
tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuffer());
tt.target()->drawIndexed(kTriangleFan_GrPrimitiveType, 0, 0, 4, 6);
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
- SkPoint verts[4];
+ // TODO hack
+ GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, 0);
+ SkPoint* verts = reinterpret_cast<SkPoint*>(geo.vertices());
+
+ //SkPoint verts[4];
SkRect bounds = rect;
bounds.outset(5.f, 5.f);
bounds.toQuad(verts);
- tt.target()->setVertexSourceToArray(verts, 4);
+ //tt.target()->setVertexSourceToArray(verts, 4);
tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuffer());
tt.target()->drawIndexed(kTriangleFan_GrPrimitiveType, 0, 0, 4, 6);