Test factory uses the inorder draw buffer
BUG=skia: Review URL: https://codereview.chromium.org/696353002
This commit is contained in:
parent
9e233b2082
commit
50408adfd2
@ -63,3 +63,6 @@ multipicturedraw_rrectclip_simple
|
||||
multipicturedraw_rrectclip_tiled
|
||||
multipicturedraw_sierpinski_simple
|
||||
multipicturedraw_sierpinski_tiled
|
||||
|
||||
#joshualitt
|
||||
texture_domain_effect
|
||||
|
@ -154,7 +154,16 @@ protected:
|
||||
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));
|
||||
@ -164,17 +173,10 @@ protected:
|
||||
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);
|
||||
}
|
||||
@ -309,7 +311,16 @@ protected:
|
||||
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));
|
||||
@ -319,17 +330,10 @@ protected:
|
||||
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);
|
||||
}
|
||||
@ -495,7 +499,16 @@ protected:
|
||||
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));
|
||||
@ -503,17 +516,10 @@ protected:
|
||||
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);
|
||||
}
|
||||
|
@ -137,14 +137,18 @@ protected:
|
||||
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);
|
||||
|
||||
@ -191,12 +195,16 @@ protected:
|
||||
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);
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
#include "GrTest.h"
|
||||
|
||||
#include "GrGpu.h"
|
||||
#include "GrInOrderDrawBuffer.h"
|
||||
#include "GrResourceCache.h"
|
||||
|
||||
void GrTestTarget::init(GrContext* ctx, GrDrawTarget* target) {
|
||||
@ -28,7 +28,7 @@ void GrContext::getTestTarget(GrTestTarget* tar) {
|
||||
// then disconnects. This would help prevent test writers from mixing using the returned
|
||||
// GrDrawTarget and regular drawing. We could also assert or fail in GrContext drawing methods
|
||||
// until ~GrTestTarget().
|
||||
tar->init(this, fGpu);
|
||||
tar->init(this, fDrawBuffer);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
Loading…
Reference in New Issue
Block a user