Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Unified Diff: tests/ClearTest.cpp

Issue 1914883002: Refactor drawContext/RenderTarget creation (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix variable name Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/image/SkImage_Gpu.cpp ('k') | tests/ClipBoundsTest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/ClearTest.cpp
diff --git a/tests/ClearTest.cpp b/tests/ClearTest.cpp
index 1065d940ba84350a626f9f7b38fca1e353f11aa5..7a533ba19c45a4788a5501a8276f7f7a92c28ec6 100644
--- a/tests/ClearTest.cpp
+++ b/tests/ClearTest.cpp
@@ -37,31 +37,18 @@ static bool check_rect(GrDrawContext* dc, const SkIRect& rect, uint32_t expected
return true;
}
-// We only really need the DC, but currently the DC doesn't own the RT so we also ref it, but that
-// could be dropped when DC is a proper owner of its RT.
-static bool reset_dc(sk_sp<GrDrawContext>* dc, SkAutoTUnref<GrSurface>* rtKeepAlive,
- GrContext* context, int w, int h) {
+static bool reset_dc(sk_sp<GrDrawContext>* dc, GrContext* context, int w, int h) {
SkDEBUGCODE(uint32_t oldID = 0;)
if (*dc) {
SkDEBUGCODE(oldID = (*dc)->accessRenderTarget()->getUniqueID();)
- rtKeepAlive->reset(nullptr);
dc->reset(nullptr);
}
context->freeGpuResources();
- GrTextureDesc desc;
- desc.fWidth = w;
- desc.fHeight = h;
- desc.fConfig = kRGBA_8888_GrPixelConfig;
- desc.fFlags = kRenderTarget_GrSurfaceFlag;
+ *dc = context->newDrawContext(GrContext::kTight_BackingFit, w, h, kRGBA_8888_GrPixelConfig);
+
+ SkASSERT((*dc)->accessRenderTarget()->getUniqueID() != oldID);
- rtKeepAlive->reset(context->textureProvider()->createTexture(desc, SkBudgeted::kYes));
- if (!(*rtKeepAlive)) {
- return false;
- }
- GrRenderTarget* rt = (*rtKeepAlive)->asRenderTarget();
- SkASSERT(rt->getUniqueID() != oldID);
- *dc = context->drawContext(sk_ref_sp(rt));
return *dc != nullptr;
}
@@ -72,7 +59,6 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ClearBatch, reporter, ctxInfo) {
SkIRect fullRect = SkIRect::MakeWH(kW, kH);
sk_sp<GrDrawContext> drawContext;
- SkAutoTUnref<GrSurface> rtKeepAlive;
// A rectangle that is inset by one on all sides and the 1-pixel wide rectangles that surround
// it.
@@ -96,7 +82,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ClearBatch, reporter, ctxInfo) {
static const GrColor kColor1 = 0xABCDEF01;
static const GrColor kColor2 = ~kColor1;
- if (!reset_dc(&drawContext, &rtKeepAlive, context, kW, kH)) {
+ if (!reset_dc(&drawContext, context, kW, kH)) {
ERRORF(reporter, "Could not create draw context.");
return;
}
@@ -107,7 +93,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ClearBatch, reporter, ctxInfo) {
failX, failY);
}
- if (!reset_dc(&drawContext, &rtKeepAlive, context, kW, kH)) {
+ if (!reset_dc(&drawContext, context, kW, kH)) {
ERRORF(reporter, "Could not create draw context.");
return;
}
@@ -119,7 +105,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ClearBatch, reporter, ctxInfo) {
failX, failY);
}
- if (!reset_dc(&drawContext, &rtKeepAlive, context, kW, kH)) {
+ if (!reset_dc(&drawContext, context, kW, kH)) {
ERRORF(reporter, "Could not create draw context.");
return;
}
@@ -131,7 +117,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ClearBatch, reporter, ctxInfo) {
failX, failY);
}
- if (!reset_dc(&drawContext, &rtKeepAlive, context, kW, kH)) {
+ if (!reset_dc(&drawContext, context, kW, kH)) {
ERRORF(reporter, "Could not create draw context.");
return;
}
@@ -143,7 +129,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ClearBatch, reporter, ctxInfo) {
failX, failY);
}
- if (!reset_dc(&drawContext, &rtKeepAlive, context, kW, kH)) {
+ if (!reset_dc(&drawContext, context, kW, kH)) {
ERRORF(reporter, "Could not create draw context.");
return;
}
@@ -155,7 +141,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ClearBatch, reporter, ctxInfo) {
failX, failY);
}
- if (!reset_dc(&drawContext, &rtKeepAlive, context, kW, kH)) {
+ if (!reset_dc(&drawContext, context, kW, kH)) {
ERRORF(reporter, "Could not create draw context.");
return;
}
@@ -174,7 +160,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ClearBatch, reporter, ctxInfo) {
failX, failY);
}
- if (!reset_dc(&drawContext, &rtKeepAlive, context, kW, kH)) {
+ if (!reset_dc(&drawContext, context, kW, kH)) {
ERRORF(reporter, "Could not create draw context.");
return;
}
@@ -186,7 +172,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ClearBatch, reporter, ctxInfo) {
failX, failY);
}
- if (!reset_dc(&drawContext, &rtKeepAlive, context, kW, kH)) {
+ if (!reset_dc(&drawContext, context, kW, kH)) {
ERRORF(reporter, "Could not create draw context.");
return;
}
@@ -214,7 +200,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ClearBatch, reporter, ctxInfo) {
failX, failY);
}
- if (!reset_dc(&drawContext, &rtKeepAlive, context, kW, kH)) {
+ if (!reset_dc(&drawContext, context, kW, kH)) {
ERRORF(reporter, "Could not create draw context.");
return;
}
« no previous file with comments | « src/image/SkImage_Gpu.cpp ('k') | tests/ClipBoundsTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698