Hide drawBatch on GrDrawTarget from test Methods
TBR=bsalomon@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1574383002
Review URL: https://codereview.chromium.org/1574383002
diff --git a/gm/beziereffects.cpp b/gm/beziereffects.cpp
index 5167b77..2511dec 100644
--- a/gm/beziereffects.cpp
+++ b/gm/beziereffects.cpp
@@ -12,6 +12,7 @@
#if SK_SUPPORT_GPU
+#include "GrDrawContext.h"
#include "GrContext.h"
#include "GrPathUtils.h"
#include "GrTest.h"
@@ -129,6 +130,11 @@
return;
}
+ SkAutoTUnref<GrDrawContext> drawContext(context->drawContext(rt));
+ if (!drawContext) {
+ return;
+ }
+
struct Vertex {
SkPoint fPosition;
float fKLM[4]; // The last value is ignored. The effect expects a vec4f.
@@ -155,20 +161,12 @@
};
for(int edgeType = 0; edgeType < kGrProcessorEdgeTypeCnt; ++edgeType) {
SkAutoTUnref<GrGeometryProcessor> gp;
- { // scope to contain GrTestTarget
- GrTestTarget tt;
- context->getTestTarget(&tt, rt);
- if (nullptr == tt.target()) {
- continue;
- }
- GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType;
- gp.reset(GrCubicEffect::Create(color, SkMatrix::I(), et,
- *tt.target()->caps()));
- if (!gp) {
- continue;
- }
+ GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType;
+ gp.reset(GrCubicEffect::Create(color, SkMatrix::I(), et,
+ *context->caps()));
+ if (!gp) {
+ continue;
}
-
SkScalar x = SkScalarMul(col, w);
SkScalar y = SkScalarMul(row, h);
SkPoint controlPts[] = {
@@ -216,10 +214,6 @@
boundsPaint.setStyle(SkPaint::kStroke_Style);
canvas->drawRect(bounds, boundsPaint);
- GrTestTarget tt;
- context->getTestTarget(&tt, rt);
- SkASSERT(tt.target());
-
GrPipelineBuilder pipelineBuilder;
pipelineBuilder.setXPFactory(
GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref();
@@ -232,7 +226,7 @@
SkAutoTUnref<GrDrawBatch> batch(
BezierCubicOrConicTestBatch::Create(gp, geometry, klmEqs, klmSigns[c]));
- tt.target()->drawBatch(pipelineBuilder, batch);
+ drawContext->internal_drawBatch(pipelineBuilder, batch);
}
++col;
if (numCols == col) {
@@ -279,6 +273,11 @@
return;
}
+ SkAutoTUnref<GrDrawContext> drawContext(context->drawContext(rt));
+ if (!drawContext) {
+ return;
+ }
+
struct Vertex {
SkPoint fPosition;
float fKLM[4]; // The last value is ignored. The effect expects a vec4f.
@@ -305,18 +304,11 @@
SkScalar weight = rand.nextRangeF(0.f, 2.f);
for(int edgeType = 0; edgeType < kGrProcessorEdgeTypeCnt; ++edgeType) {
SkAutoTUnref<GrGeometryProcessor> gp;
- { // scope to contain GrTestTarget
- GrTestTarget tt;
- context->getTestTarget(&tt, rt);
- if (nullptr == tt.target()) {
- continue;
- }
- GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType;
- gp.reset(GrConicEffect::Create(color, SkMatrix::I(), et,
- *tt.target()->caps(), SkMatrix::I(), false));
- if (!gp) {
- continue;
- }
+ GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType;
+ gp.reset(GrConicEffect::Create(color, SkMatrix::I(), et,
+ *context->caps(), SkMatrix::I(), false));
+ if (!gp) {
+ continue;
}
SkScalar x = SkScalarMul(col, w);
@@ -363,10 +355,6 @@
boundsPaint.setStyle(SkPaint::kStroke_Style);
canvas->drawRect(bounds, boundsPaint);
- GrTestTarget tt;
- context->getTestTarget(&tt, rt);
- SkASSERT(tt.target());
-
GrPipelineBuilder pipelineBuilder;
pipelineBuilder.setXPFactory(
GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref();
@@ -379,7 +367,7 @@
SkAutoTUnref<GrDrawBatch> batch(
BezierCubicOrConicTestBatch::Create(gp, geometry, klmEqs, 1.f));
- tt.target()->drawBatch(pipelineBuilder, batch);
+ drawContext->internal_drawBatch(pipelineBuilder, batch);
}
++col;
if (numCols == col) {
@@ -524,6 +512,11 @@
return;
}
+ SkAutoTUnref<GrDrawContext> drawContext(context->drawContext(rt));
+ if (!drawContext) {
+ return;
+ }
+
struct Vertex {
SkPoint fPosition;
float fUV[4]; // The last two values are ignored. The effect expects a vec4f.
@@ -548,18 +541,11 @@
};
for(int edgeType = 0; edgeType < kGrProcessorEdgeTypeCnt; ++edgeType) {
SkAutoTUnref<GrGeometryProcessor> gp;
- { // scope to contain GrTestTarget
- GrTestTarget tt;
- context->getTestTarget(&tt, rt);
- if (nullptr == tt.target()) {
- continue;
- }
- GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType;
- gp.reset(GrQuadEffect::Create(color, SkMatrix::I(), et,
- *tt.target()->caps(), SkMatrix::I(), false));
- if (!gp) {
- continue;
- }
+ GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType;
+ gp.reset(GrQuadEffect::Create(color, SkMatrix::I(), et,
+ *context->caps(), SkMatrix::I(), false));
+ if (!gp) {
+ continue;
}
SkScalar x = SkScalarMul(col, w);
@@ -603,10 +589,6 @@
boundsPaint.setStyle(SkPaint::kStroke_Style);
canvas->drawRect(bounds, boundsPaint);
- GrTestTarget tt;
- context->getTestTarget(&tt, rt);
- SkASSERT(tt.target());
-
GrPipelineBuilder pipelineBuilder;
pipelineBuilder.setXPFactory(
GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref();
@@ -621,7 +603,7 @@
SkAutoTUnref<GrDrawBatch> batch(BezierQuadTestBatch::Create(gp, geometry,
DevToUV));
- tt.target()->drawBatch(pipelineBuilder, batch);
+ drawContext->internal_drawBatch(pipelineBuilder, batch);
}
++col;
if (numCols == col) {