diff options
-rw-r--r-- | tests/ReadPixelsTest.cpp | 24 | ||||
-rw-r--r-- | tests/RectangleTextureTest.cpp | 43 |
2 files changed, 35 insertions, 32 deletions
diff --git a/tests/ReadPixelsTest.cpp b/tests/ReadPixelsTest.cpp index 5fa7dd19f4..1550c6d8dd 100644 --- a/tests/ReadPixelsTest.cpp +++ b/tests/ReadPixelsTest.cpp @@ -472,18 +472,18 @@ static void test_readpixels_texture(skiatest::Reporter* reporter, GrTexture* tex } DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadPixels_Texture, reporter, ctxInfo) { // On the GPU we will also try reading back from a non-renderable texture. - for (auto& origin : {kBottomLeft_GrSurfaceOrigin, kTopLeft_GrSurfaceOrigin}) { - SkAutoTUnref<GrTexture> texture; - GrSurfaceDesc desc; - desc.fFlags = kRenderTarget_GrSurfaceFlag; - desc.fWidth = DEV_W; - desc.fHeight = DEV_H; - desc.fConfig = kSkia8888_GrPixelConfig; - desc.fOrigin = origin; - desc.fFlags = kNone_GrSurfaceFlags; - texture.reset(ctxInfo.grContext()->textureProvider()->createTexture(desc, - SkBudgeted::kNo)); - test_readpixels_texture(reporter, texture); + for (auto origin : {kBottomLeft_GrSurfaceOrigin, kTopLeft_GrSurfaceOrigin}) { + for (auto flags : {kNone_GrSurfaceFlags, kRenderTarget_GrSurfaceFlag}) { + GrSurfaceDesc desc; + desc.fFlags = flags; + desc.fWidth = DEV_W; + desc.fHeight = DEV_H; + desc.fConfig = kSkia8888_GrPixelConfig; + desc.fOrigin = origin; + sk_sp<GrTexture> texture(ctxInfo.grContext()->textureProvider()->createTexture(desc, + SkBudgeted::kNo)); + test_readpixels_texture(reporter, texture.get()); + } } } #endif diff --git a/tests/RectangleTextureTest.cpp b/tests/RectangleTextureTest.cpp index 8bdcbb3013..08311e4c6a 100644 --- a/tests/RectangleTextureTest.cpp +++ b/tests/RectangleTextureTest.cpp @@ -54,15 +54,17 @@ static void test_write_pixels(skiatest::Reporter* reporter, GrContext* context, static void test_copy_surface_src(skiatest::Reporter* reporter, GrContext* context, GrTexture* rectangleTexture, uint32_t expectedPixelValues[]) { - GrSurfaceDesc copyDstDesc; - copyDstDesc.fConfig = kRGBA_8888_GrPixelConfig; - copyDstDesc.fWidth = rectangleTexture->width(); - copyDstDesc.fHeight = rectangleTexture->height(); - copyDstDesc.fFlags = kRenderTarget_GrSurfaceFlag; - SkAutoTUnref<GrTexture> dst(context->textureProvider()->createTexture( - copyDstDesc, SkBudgeted::kYes)); - context->copySurface(dst, rectangleTexture); - test_read_pixels(reporter, context, dst, expectedPixelValues); + for (auto flags : {kNone_GrSurfaceFlags, kRenderTarget_GrSurfaceFlag}) { + GrSurfaceDesc copyDstDesc; + copyDstDesc.fConfig = kRGBA_8888_GrPixelConfig; + copyDstDesc.fWidth = rectangleTexture->width(); + copyDstDesc.fHeight = rectangleTexture->height(); + copyDstDesc.fFlags = flags; + SkAutoTUnref<GrTexture> dst(context->textureProvider()->createTexture( + copyDstDesc, SkBudgeted::kYes)); + context->copySurface(dst, rectangleTexture); + test_read_pixels(reporter, context, dst, expectedPixelValues); + } } static void test_copy_surface_dst(skiatest::Reporter* reporter, GrContext* context, @@ -74,17 +76,18 @@ static void test_copy_surface_dst(skiatest::Reporter* reporter, GrContext* conte pixels.get()[y * rectangleTexture->width() + x] = GrColorPackRGBA(y, x, x * y, x *+ y); } } - - GrSurfaceDesc copySrcDesc; - copySrcDesc.fConfig = kRGBA_8888_GrPixelConfig; - copySrcDesc.fWidth = rectangleTexture->width(); - copySrcDesc.fHeight = rectangleTexture->height(); - copySrcDesc.fFlags = kRenderTarget_GrSurfaceFlag; - SkAutoTUnref<GrTexture> src(context->textureProvider()->createTexture( - copySrcDesc, SkBudgeted::kYes, pixels.get(), 0)); - - context->copySurface(rectangleTexture, src); - test_read_pixels(reporter, context, rectangleTexture, pixels.get()); + for (auto flags : {kNone_GrSurfaceFlags, kRenderTarget_GrSurfaceFlag}) { + GrSurfaceDesc copySrcDesc; + copySrcDesc.fConfig = kRGBA_8888_GrPixelConfig; + copySrcDesc.fWidth = rectangleTexture->width(); + copySrcDesc.fHeight = rectangleTexture->height(); + copySrcDesc.fFlags = flags; + SkAutoTUnref<GrTexture> src(context->textureProvider()->createTexture( + copySrcDesc, SkBudgeted::kYes, pixels.get(), 0)); + + context->copySurface(rectangleTexture, src); + test_read_pixels(reporter, context, rectangleTexture, pixels.get()); + } } static void test_clear(skiatest::Reporter* reporter, GrContext* context, |