diff options
Diffstat (limited to 'tests/RenderTargetContextTest.cpp')
-rw-r--r-- | tests/RenderTargetContextTest.cpp | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/tests/RenderTargetContextTest.cpp b/tests/RenderTargetContextTest.cpp index dbb41851c6..760b258d07 100644 --- a/tests/RenderTargetContextTest.cpp +++ b/tests/RenderTargetContextTest.cpp @@ -20,10 +20,17 @@ static const int kSize = 64; -static sk_sp<GrRenderTargetContext> get_rtc(GrContext* ctx) { - return ctx->makeDeferredRenderTargetContext(SkBackingFit::kExact, - kSize, kSize, - kRGBA_8888_GrPixelConfig, nullptr); +static sk_sp<GrRenderTargetContext> get_rtc(GrContext* ctx, bool wrapped) { + + if (wrapped) { + return ctx->makeRenderTargetContext(SkBackingFit::kExact, + kSize, kSize, + kRGBA_8888_GrPixelConfig, nullptr); + } else { + return ctx->makeDeferredRenderTargetContext(SkBackingFit::kExact, + kSize, kSize, + kRGBA_8888_GrPixelConfig, nullptr); + } } static void check_is_wrapped_status(skiatest::Reporter* reporter, @@ -40,10 +47,16 @@ static void check_is_wrapped_status(skiatest::Reporter* reporter, DEF_GPUTEST_FOR_RENDERING_CONTEXTS(RenderTargetContextTest, reporter, ctxInfo) { GrContext* ctx = ctxInfo.grContext(); + // A wrapped rtCtx's textureProxy is also wrapped + { + sk_sp<GrRenderTargetContext> rtCtx(get_rtc(ctx, true)); + check_is_wrapped_status(reporter, rtCtx.get(), true); + } + // Calling instantiate on a GrRenderTargetContext's textureProxy also instantiates the // GrRenderTargetContext { - sk_sp<GrRenderTargetContext> rtCtx(get_rtc(ctx)); + sk_sp<GrRenderTargetContext> rtCtx(get_rtc(ctx, false)); check_is_wrapped_status(reporter, rtCtx.get(), false); @@ -58,7 +71,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(RenderTargetContextTest, reporter, ctxInfo) { // readPixels switches a deferred rtCtx to wrapped { - sk_sp<GrRenderTargetContext> rtCtx(get_rtc(ctx)); + sk_sp<GrRenderTargetContext> rtCtx(get_rtc(ctx, false)); check_is_wrapped_status(reporter, rtCtx.get(), false); |