aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNolan Scobie <nscobie@google.com>2023-09-12 16:53:09 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-09-12 16:53:09 +0000
commitdb2a1e985f2b27ea136e93140478bb47f294a882 (patch)
treeab39b6936995aa03609184265e03326ac57ddc8c
parenteffffc2d44426d14de32c1d7e47c760ec0c8724d (diff)
parente30d6c3f1379224a9152393c7d57e4c996444cbe (diff)
downloadskia-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.cpp63
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,