commit | 52e1ab9fe1cfad7b9849caa54e6195b1fd8763bd | [log] [tgz] |
---|---|---|
author | Madeleine Barowsky <mbarowsky@chromium.org> | Tue Feb 12 15:16:21 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Feb 12 15:16:21 2019 |
tree | 462895bf44d67d4dbe2eaa78cf9b4f32278c88cf | |
parent | 4f0f1d582d5abd46d8195e86c022754ed8505589 [diff] |
Adapt GpuImageDecodeCacheTest test suite to exercise YUV decoding This change parameterizes GpuImageDecodeCacheTest by an additional bool for YUV decoding, instantiates two separate TEST_CASEs for in-process rasterization and OOPR (not yet supported for YUV), and uses testing::Combine to concisely generate test parameter tuples. We also add GL_EXT_texture_rg to FakeGPUImageDecodeTestGLES2Interface extension_string_ for the planar textures used by MakeFromYUVTextures. We modify image byte size calculations in AlreadyBudgetedImagesAreNotAtRaster and ImageBudgetingBySize to be correct for YUV images. We also replace calls to CreateDiscardablePaintImage with CreatePaintImageInternal, which respects the do_yuv_decode_ parameter. Certain existing tests do not make sense for YUV decoding and are skipped with GTEST_SKIP. Each skipped test has a comment about whether later YUV implementation would allow use of the test (decoding to scale) or if it is simply incompatible (bitmap images). Tests with an asterisk (*) will be modified for YUV in a followup CL. Tests "large" images that trigger software fallback expect that decoding falls back to the RGB path because YUV is currently only implemented for GPU-raster. Skipped tests are: - NonLazyImageUploadNoScale - NonLazyImageUploadTaskHasNoDeps - NonLazyImageUploadTaskCancelled - NonLazyImageLargeImageColorConverted - NonLazyImageUploadDownscaled - DecodeToScale - DecodeToScaleNoneQuality - BasicMips* - MipsAddedSubsequentDraw* - GetDecodedImageForDrawMipUsageChange* Finally, this change adds a straightforward PaintImage YUV 420 decoding unit test. Bug: 900672 Change-Id: Ia3cb7fc44bb7ce9df24db0ce083c8a7fac5990f6 Reviewed-on: https://chromium-review.googlesource.com/c/1450220 Reviewed-by: Eric Karl <ericrk@chromium.org> Reviewed-by: Khushal <khushalsagar@chromium.org> Commit-Queue: Madeleine Barowsky <mbarowsky@chromium.org> Cr-Commit-Position: refs/heads/master@{#631223}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .