diff options
author | Brian Salomon <bsalomon@google.com> | 2018-03-19 18:42:25 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-03-19 18:42:36 +0000 |
commit | be5947c2f38a79b7c709accfb1047d8fd06a0227 (patch) | |
tree | 22d4d6e3f37d2a417656f1d74e9eff507d88b6d9 /tests | |
parent | c9a642edf2d1c7f5380fe829adbb1a692f9969a6 (diff) |
Revert "New read pixels implementation that is simpler but does all conversions on CPU."
This reverts commit c9a642edf2d1c7f5380fe829adbb1a692f9969a6.
Reason for revert: 1010102 gms broke
Original change's description:
> New read pixels implementation that is simpler but does all conversions on CPU.
>
> Change-Id: Ia548cd24a8544b35a233311706faf48de353b7cf
> Reviewed-on: https://skia-review.googlesource.com/109902
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
Change-Id: I7724a6eef79885ba2a32c1ac871e5b2a9a3c0c12
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/115140
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/PackedConfigsTextureTest.cpp | 19 | ||||
-rw-r--r-- | tests/ReadWriteAlphaTest.cpp | 5 | ||||
-rw-r--r-- | tests/SRGBReadWritePixelsTest.cpp | 29 |
3 files changed, 15 insertions, 38 deletions
diff --git a/tests/PackedConfigsTextureTest.cpp b/tests/PackedConfigsTextureTest.cpp index 5f18ef3d57..b1fbc77977 100644 --- a/tests/PackedConfigsTextureTest.cpp +++ b/tests/PackedConfigsTextureTest.cpp @@ -97,7 +97,7 @@ static void check_565(skiatest::Reporter* reporter, } static void run_test(skiatest::Reporter* reporter, GrContext* context, int arraySize, - SkColorType colorType) { + GrColorType colorType) { SkTDArray<uint16_t> controlPixelData; // We will read back into an 8888 buffer since 565/4444 read backs aren't supported SkTDArray<GrColor> readBuffer; @@ -113,24 +113,19 @@ static void run_test(skiatest::Reporter* reporter, GrContext* context, int array kRGBA_8888_SkColorType, kOpaque_SkAlphaType); for (auto origin : { kTopLeft_GrSurfaceOrigin, kBottomLeft_GrSurfaceOrigin }) { - auto proxy = sk_gpu_test::MakeTextureProxyFromData(context, false, DEV_W, DEV_H, - SkColorTypeToGrColorType(colorType), + auto proxy = sk_gpu_test::MakeTextureProxyFromData(context, false, DEV_W, DEV_H, colorType, origin, controlPixelData.begin(), 0); SkASSERT(proxy); sk_sp<GrSurfaceContext> sContext = context->contextPriv().makeWrappedSurfaceContext( std::move(proxy)); - if (!sContext->readPixels(dstInfo, readBuffer.begin(), 0, 0, 0)) { - // We only require this to succeed if the format is renderable. - REPORTER_ASSERT(reporter, !context->colorTypeSupportedAsSurface(colorType)); - return; - } + SkAssertResult(sContext->readPixels(dstInfo, readBuffer.begin(), 0, 0, 0)); - if (kARGB_4444_SkColorType == colorType) { + if (GrColorType::kABGR_4444 == colorType) { check_4444(reporter, controlPixelData, readBuffer); } else { - SkASSERT(kRGB_565_SkColorType == colorType); + SkASSERT(GrColorType::kRGB_565 == colorType); check_565(reporter, controlPixelData, readBuffer); } } @@ -139,11 +134,11 @@ static void run_test(skiatest::Reporter* reporter, GrContext* context, int array static const int CONTROL_ARRAY_SIZE = DEV_W * DEV_H; DEF_GPUTEST_FOR_RENDERING_CONTEXTS(RGBA4444TextureTest, reporter, ctxInfo) { - run_test(reporter, ctxInfo.grContext(), CONTROL_ARRAY_SIZE, kARGB_4444_SkColorType); + run_test(reporter, ctxInfo.grContext(), CONTROL_ARRAY_SIZE, GrColorType::kABGR_4444); } DEF_GPUTEST_FOR_RENDERING_CONTEXTS(RGB565TextureTest, reporter, ctxInfo) { - run_test(reporter, ctxInfo.grContext(), CONTROL_ARRAY_SIZE, kRGB_565_SkColorType); + run_test(reporter, ctxInfo.grContext(), CONTROL_ARRAY_SIZE, GrColorType::kRGB_565); } #endif diff --git a/tests/ReadWriteAlphaTest.cpp b/tests/ReadWriteAlphaTest.cpp index b82c48fd5d..eaad411d5a 100644 --- a/tests/ReadWriteAlphaTest.cpp +++ b/tests/ReadWriteAlphaTest.cpp @@ -99,11 +99,6 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, ctxInfo) { // read the texture back result = sContext->readPixels(ii, readback.get(), rowBytes, 0, 0); - // We don't require reading from kAlpha_8 to be supported. TODO: At least make this work - // when kAlpha_8 is renderable. - if (!result) { - continue; - } REPORTER_ASSERT(reporter, result, "Initial A8 readPixels failed"); // make sure the original & read back versions match diff --git a/tests/SRGBReadWritePixelsTest.cpp b/tests/SRGBReadWritePixelsTest.cpp index 569490cf7a..18ed738787 100644 --- a/tests/SRGBReadWritePixelsTest.cpp +++ b/tests/SRGBReadWritePixelsTest.cpp @@ -139,8 +139,8 @@ void read_and_check_pixels(skiatest::Reporter* reporter, GrSurfaceContext* conte uint32_t read = readData[j * w + i]; if (!checker(orig, read, error)) { - ERRORF(reporter, "Original 0x%08x, read back as 0x%08x in %s at %d, %d).", orig, - read, subtestName, i, j); + ERRORF(reporter, "Expected 0x%08x, read back as 0x%08x in %s at %d, %d).", + orig, read, subtestName, i, j); return; } } @@ -272,20 +272,13 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SRGBReadWritePixels, reporter, ctxInfo) { /////////////////////////////////////////////////////////////////////////////////////////////// // Write sRGB data to a sRGB context - no conversion on the write. - // back to sRGB - no conversion. + // back to sRGB no conversion test_write_read(Encoding::kSRGB, Encoding::kSRGB, Encoding::kSRGB, smallError, check_no_conversion, context, reporter); -#ifdef SK_LEGACY_GPU_PIXEL_OPS // Untagged read from sRGB is treated as a conversion back to linear. TODO: Fail or don't // convert? test_write_read(Encoding::kSRGB, Encoding::kSRGB, Encoding::kUntagged, error, check_srgb_to_linear_conversion, context, reporter); -#else - // Reading back to untagged should be a pass through with no conversion. - test_write_read(Encoding::kSRGB, Encoding::kSRGB, Encoding::kUntagged, error, - check_no_conversion, context, reporter); -#endif - // Converts back to linear test_write_read(Encoding::kSRGB, Encoding::kSRGB, Encoding::kLinear, error, check_srgb_to_linear_conversion, context, reporter); @@ -314,15 +307,9 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SRGBReadWritePixels, reporter, ctxInfo) { // are all the same as the above cases where the original data was untagged. test_write_read(Encoding::kSRGB, Encoding::kLinear, Encoding::kSRGB, error, check_linear_to_srgb_conversion, context, reporter); -#ifdef SK_LEGACY_GPU_PIXEL_OPS // TODO: Fail or don't convert? test_write_read(Encoding::kSRGB, Encoding::kLinear, Encoding::kUntagged, error, check_linear_to_srgb_to_linear_conversion, context, reporter); -#else - // When the dst buffer is untagged there should be no conversion on the read. - test_write_read(Encoding::kSRGB, Encoding::kLinear, Encoding::kUntagged, error, - check_linear_to_srgb_conversion, context, reporter); -#endif test_write_read(Encoding::kSRGB, Encoding::kLinear, Encoding::kLinear, error, check_linear_to_srgb_to_linear_conversion, context, reporter); @@ -330,13 +317,13 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SRGBReadWritePixels, reporter, ctxInfo) { // Write data to an untagged context. The write does no conversion no matter what encoding the // src data has. for (auto writeEncoding : {Encoding::kSRGB, Encoding::kUntagged, Encoding::kLinear}) { - // The read from untagged to sRGB also does no conversion. + // The read from untagged to sRGB also does no conversion. TODO: Should it just fail? test_write_read(Encoding::kUntagged, writeEncoding, Encoding::kSRGB, error, check_no_conversion, context, reporter); // Reading untagged back as untagged should do no conversion. test_write_read(Encoding::kUntagged, writeEncoding, Encoding::kUntagged, error, check_no_conversion, context, reporter); - // Reading untagged back as linear does no conversion. + // Reading untagged back as linear does no conversion. TODO: Should it just fail? test_write_read(Encoding::kUntagged, writeEncoding, Encoding::kLinear, error, check_no_conversion, context, reporter); } @@ -347,18 +334,18 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SRGBReadWritePixels, reporter, ctxInfo) { // converts back to sRGB on read. test_write_read(Encoding::kLinear, Encoding::kSRGB, Encoding::kSRGB, error, check_srgb_to_linear_to_srgb_conversion, context, reporter); - // Reading untagged data from linear currently does no conversion. + // Reading untagged data from linear currently does no conversion. TODO: Should it fail? test_write_read(Encoding::kLinear, Encoding::kSRGB, Encoding::kUntagged, error, check_srgb_to_linear_conversion, context, reporter); // Stays linear when read. test_write_read(Encoding::kLinear, Encoding::kSRGB, Encoding::kLinear, error, check_srgb_to_linear_conversion, context, reporter); -#ifdef SK_LEGACY_GPU_PIXEL_OPS /////////////////////////////////////////////////////////////////////////////////////////////// // Write untagged data to a linear context. Currently does no conversion. TODO: Should this // fail? +#ifdef SK_LEGACY_GPU_PIXEL_OPS // Reading to sRGB does a conversion. test_write_read(Encoding::kLinear, Encoding::kUntagged, Encoding::kSRGB, error, check_linear_to_srgb_conversion, context, reporter); @@ -379,7 +366,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SRGBReadWritePixels, reporter, ctxInfo) { // Reading to sRGB does a conversion. test_write_read(Encoding::kLinear, Encoding::kLinear, Encoding::kSRGB, error, check_linear_to_srgb_conversion, context, reporter); - // Reading to untagged does no conversion. + // Reading to untagged does no conversion. TODO: Should it fail? test_write_read(Encoding::kLinear, Encoding::kLinear, Encoding::kUntagged, error, check_no_conversion, context, reporter); // Stays linear when read. |