Create DCs instead of textures in SRGBMipMaps test
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2162973002
Review-Url: https://codereview.chromium.org/2162973002
diff --git a/tests/SRGBMipMapTest.cpp b/tests/SRGBMipMapTest.cpp
index 5001a9e..1e62f88 100644
--- a/tests/SRGBMipMapTest.cpp
+++ b/tests/SRGBMipMapTest.cpp
@@ -119,27 +119,18 @@
GrTextureProvider* texProvider = context->textureProvider();
SkAutoTUnref<GrTexture> texture(texProvider->createTexture(desc, SkBudgeted::kNo, texData, 0));
- // Create two surfaces (L32 and S32)
- GrSurfaceDesc l32Desc;
- l32Desc.fFlags = kRenderTarget_GrSurfaceFlag;
- l32Desc.fConfig = kSkia8888_GrPixelConfig;
- l32Desc.fWidth = rtS;
- l32Desc.fHeight = rtS;
-
- GrSurfaceDesc s32Desc = l32Desc;
- s32Desc.fConfig = kSkiaGamma8888_GrPixelConfig;
-
- SkAutoTUnref<GrTexture> l32Texture(texProvider->createTexture(l32Desc, SkBudgeted::kNo));
- SkAutoTUnref<GrTexture> s32Texture(texProvider->createTexture(s32Desc, SkBudgeted::kNo));
-
+ // Create two draw contexts (L32 and S32)
SkSurfaceProps l32Props(SkSurfaceProps::kLegacyFontHost_InitType);
SkSurfaceProps s32Props(SkSurfaceProps::kGammaCorrect_Flag,
SkSurfaceProps::kLegacyFontHost_InitType);
-
- sk_sp<GrDrawContext> l32DrawContext(
- context->drawContext(sk_ref_sp(l32Texture->asRenderTarget()), &l32Props));
- sk_sp<GrDrawContext> s32DrawContext(
- context->drawContext(sk_ref_sp(s32Texture->asRenderTarget()), &s32Props));
+ sk_sp<GrDrawContext> l32DrawContext = context->newDrawContext(SkBackingFit::kExact, rtS, rtS,
+ kSkia8888_GrPixelConfig, 0,
+ kDefault_GrSurfaceOrigin,
+ &l32Props);
+ sk_sp<GrDrawContext> s32DrawContext = context->newDrawContext(SkBackingFit::kExact, rtS, rtS,
+ kSkiaGamma8888_GrPixelConfig, 0,
+ kDefault_GrSurfaceOrigin,
+ &s32Props);
SkRect rect = SkRect::MakeWH(SkIntToScalar(rtS), SkIntToScalar(rtS));
GrNoClip noClip;
@@ -151,16 +142,19 @@
// 1) Draw texture to S32 surface (should generate/use sRGB mips)
paint.setGammaCorrect(true);
s32DrawContext->drawRect(noClip, paint, SkMatrix::I(), rect);
- read_and_check_pixels(reporter, s32Texture, expectedSRGB, error, "first render of sRGB");
+ read_and_check_pixels(reporter, s32DrawContext->asTexture().get(), expectedSRGB, error,
+ "first render of sRGB");
// 2) Draw texture to L32 surface (should generate/use linear mips)
paint.setGammaCorrect(false);
l32DrawContext->drawRect(noClip, paint, SkMatrix::I(), rect);
- read_and_check_pixels(reporter, l32Texture, expectedLinear, error, "re-render as linear");
+ read_and_check_pixels(reporter, l32DrawContext->asTexture().get(), expectedLinear, error,
+ "re-render as linear");
// 3) Go back to sRGB
paint.setGammaCorrect(true);
s32DrawContext->drawRect(noClip, paint, SkMatrix::I(), rect);
- read_and_check_pixels(reporter, s32Texture, expectedSRGB, error, "re-render as sRGB");
+ read_and_check_pixels(reporter, s32DrawContext->asTexture().get(), expectedSRGB, error,
+ "re-render as sRGB");
}
#endif