diff options
author | Nolan Scobie <nscobie@google.com> | 2023-09-12 16:53:09 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-09-12 16:53:09 +0000 |
commit | db2a1e985f2b27ea136e93140478bb47f294a882 (patch) | |
tree | ab39b6936995aa03609184265e03326ac57ddc8c | |
parent | effffc2d44426d14de32c1d7e47c760ec0c8724d (diff) | |
parent | e30d6c3f1379224a9152393c7d57e4c996444cbe (diff) | |
download | skia-db2a1e985f2b27ea136e93140478bb47f294a882.tar.gz |
Parameterize SurfaceContextWritePixels by renderability and origin am: e30d6c3f13
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/skia/+/24664223
Change-Id: Ic698ac22fdd2a28115f282c6890577b1c40d56cf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | tests/ReadWritePixelsGpuTest.cpp | 63 |
1 files changed, 46 insertions, 17 deletions
diff --git a/tests/ReadWritePixelsGpuTest.cpp b/tests/ReadWritePixelsGpuTest.cpp index 0fcff04dea..be85bc39f4 100644 --- a/tests/ReadWritePixelsGpuTest.cpp +++ b/tests/ReadWritePixelsGpuTest.cpp @@ -1117,10 +1117,11 @@ static void gpu_write_pixels_test_driver(skiatest::Reporter* reporter, } } -DEF_GANESH_TEST_FOR_RENDERING_CONTEXTS(SurfaceContextWritePixels, - reporter, - ctxInfo, - CtsEnforcement::kApiLevel_T) { +// Manually parameterized by GrRenderable and GrSurfaceOrigin to reduce per-test run time. +void SurfaceContextWritePixels(GrRenderable renderable, + GrSurfaceOrigin origin, + skiatest::Reporter* reporter, + sk_gpu_test::ContextInfo ctxInfo) { using Surface = std::unique_ptr<skgpu::v1::SurfaceContext>; GrDirectContext* direct = ctxInfo.directContext(); auto writer = std::function<GpuWriteDstFn<Surface>>( @@ -1146,20 +1147,48 @@ DEF_GANESH_TEST_FOR_RENDERING_CONTEXTS(SurfaceContextWritePixels, return result; }); - for (auto renderable : {GrRenderable::kNo, GrRenderable::kYes}) { - for (GrSurfaceOrigin origin : {kTopLeft_GrSurfaceOrigin, kBottomLeft_GrSurfaceOrigin}) { - auto factory = std::function<GpuDstFactory<Surface>>( - [direct, origin, renderable](const SkImageInfo& info) { - return CreateSurfaceContext(direct, - info, - SkBackingFit::kExact, - origin, - renderable); - }); + auto factory = std::function<GpuDstFactory<Surface>>( + [direct, origin, renderable](const SkImageInfo& info) { + return CreateSurfaceContext(direct, + info, + SkBackingFit::kExact, + origin, + renderable); + }); - gpu_write_pixels_test_driver(reporter, factory, writer, reader); - } - } + gpu_write_pixels_test_driver(reporter, factory, writer, reader); +} + +DEF_GANESH_TEST_FOR_RENDERING_CONTEXTS(SurfaceContextWritePixels_NonRenderable_TopLeft, + reporter, + ctxInfo, + CtsEnforcement::kApiLevel_T) { + SurfaceContextWritePixels(GrRenderable::kNo, GrSurfaceOrigin::kTopLeft_GrSurfaceOrigin, + reporter, ctxInfo); +} + +DEF_GANESH_TEST_FOR_RENDERING_CONTEXTS(SurfaceContextWritePixels_NonRenderable_BottomLeft, + reporter, + ctxInfo, + CtsEnforcement::kApiLevel_T) { + SurfaceContextWritePixels(GrRenderable::kNo, GrSurfaceOrigin::kBottomLeft_GrSurfaceOrigin, + reporter, ctxInfo); +} + +DEF_GANESH_TEST_FOR_RENDERING_CONTEXTS(SurfaceContextWritePixels_Renderable_TopLeft, + reporter, + ctxInfo, + CtsEnforcement::kApiLevel_T) { + SurfaceContextWritePixels(GrRenderable::kYes, GrSurfaceOrigin::kTopLeft_GrSurfaceOrigin, + reporter, ctxInfo); +} + +DEF_GANESH_TEST_FOR_RENDERING_CONTEXTS(SurfaceContextWritePixels_Renderable_BottomLeft, + reporter, + ctxInfo, + CtsEnforcement::kApiLevel_T) { + SurfaceContextWritePixels(GrRenderable::kYes, GrSurfaceOrigin::kBottomLeft_GrSurfaceOrigin, + reporter, ctxInfo); } DEF_GANESH_TEST_FOR_RENDERING_CONTEXTS(SurfaceContextWritePixelsMipped, |