diff options
author | Kevin Lubick <kjlubick@google.com> | 2023-03-20 10:50:43 +0000 |
---|---|---|
committer | Kevin Lubick <kjlubick@google.com> | 2023-03-20 10:51:08 +0000 |
commit | 5b2cbd717b555792602461e9d6f47b663dfd18c5 (patch) | |
tree | 82e9cb6eec9b8ee19aa4f92b16eec974144c78a7 /tests/SerialProcsTest.cpp | |
parent | f7e520c53ab022d81f91aae5a641bcb600c77167 (diff) | |
download | skia-5b2cbd717b555792602461e9d6f47b663dfd18c5.tar.gz |
Revert "Introduce SkImages namespace; remove Ganesh GPU code from SkImage_Raster"
This reverts commit d21c3f85a2425d7d31ae1a258b920fccd53aed1c.
Reason for revert: Broke Chromium, Android, and G3
Original change's description:
> Introduce SkImages namespace; remove Ganesh GPU code from SkImage_Raster
>
> This is the first of many CLs that aims to split the GPU and CPU
> coupling to SkImage.
>
> Step 1 was to move all SkImage::Make static functions (factories)
> to their own namespace (SkImages), which allows us to define these
> in different header files, which can be optionally exposed via the public API.
>
> * SkImage::MakeBackendTextureFromSkImage -> SkImages::GetBackendTextureFromImage
> * SkImage::MakeCrossContextFromPixmap -> SkImages::CrossContextTextureFromPixmap
> * SkImage::MakeFromAdoptedTexture -> SkImages::AdoptTextureFrom
> * SkImage::MakeFromBitmap -> SkImages::RasterFromBitmap
> * SkImage::MakeFromCompressedTexture -> SkImages::TextureFromCompressedTexture
> * SkImage::MakeFromEncoded -> SkImages::DeferredFromEncodedData
> * SkImage::MakeFromGenerator -> SkImages::DeferredFromGenerator
> * SkImage::MakeFromPicture -> SkImages::DeferredFromPicture
> * SkImage::MakeFromRaster -> SkImages::RasterFromPixmap
> * SkImage::MakeFromTexture -> SkImages::BorrowTextureFrom
> * SkImage::MakeFromYUVAPixmaps -> SkImages::TextureFromYUVAPixmaps
> * SkImage::MakeFromYUVATextures -> SkImages::TextureFromYUVATextures
> * SkImage::MakePromiseTexture -> SkImages::PromiseTextureFrom
> * SkImage::MakePromiseYUVATexture -> SkImages::PromiseTextureFromYUVA
> * SkImage::MakeRasterCopy -> SkImages::RasterFromPixmapCopy
> * SkImage::MakeRasterData -> SkImages::RasterFromData
> * SkImage::MakeRasterFromCompressed -> SkImages::RasterFromCompressedTextureData
> * SkImage::MakeTextureFromCompressed -> SkImages::TextureFromCompressedTextureData
>
> We chose SkImages as the name because it aligns with existing
> "effective namespaces" like `SkShaders` and `SkColorFilters`.
>
> Step 2 was to move the logic requiring the Ganesh GPU backend out of
> SkImage classes (starting with SkImage_Raster as an easy starting point)
> and into files that live under src/gpu/ganesh. The graphite code
> will come later. This involved making SkImage_Raster.h so ganesh
> can see that subclass and exposing a few fields via getters/setters.
>
> I don't think these steps can be easily split into two CLs (sorry).
> I've left backwards compatible code so we can fix up clients
> incrementally (and lock it in via the
> SK_DISABLE_LEGACY_IMAGE_FACTORIES define).
>
> I ran `git clang-format origin/main` after the renaming, and spot
> checked the formatting; seemed fine to me.
>
> Suggested review order:
> - SkImage.h, SkImageGanesh.h, SkImageAndroid.h. Note that SkImage.h
> has all the legacy factories guarded by an #ifdef at the bottom
> for easier deletion in the future.
> - src/image/SkImage_*Factories.cpp to see where the implementation
> of these factories have been moved. We want them in separate files
> to make the modular builds easier in the future.
> - SkImage_Base.cpp, SkImage_Raster.h where things were moved out
> of SkImage.cpp and SkImage_Raster.cpp for better organization.
> - GrImageUtils.cpp/.h to see where the other methods of SkRaster
> that used the GPU code were moved. I hope to follow suit with
> other Images but for now just keep their onAsView etc methods
> in place.
> - Many other changes were mechanical to use the new namespace
> and methods.
>
> Change-Id: Ia345c2f0f1b1a2f65178a857bdd0d6118fee7e58
> Bug: skia:13983
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/648297
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>
Bug: skia:13983
Change-Id: If4d0d5d6286d45e85c4ef2144b3b8d5312889a29
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/658556
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Kevin Lubick <kjlubick@google.com>
Diffstat (limited to 'tests/SerialProcsTest.cpp')
-rw-r--r-- | tests/SerialProcsTest.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/tests/SerialProcsTest.cpp b/tests/SerialProcsTest.cpp index 68364164e7..c2edef2b9e 100644 --- a/tests/SerialProcsTest.cpp +++ b/tests/SerialProcsTest.cpp @@ -53,17 +53,19 @@ DEF_TEST(serial_procs_image, reporter) { [](SkImage* img, void* ctx) { return SkData::MakeWithCString(((State*)ctx)->fStr); }, }; const SkDeserialImageProc dprocs[] = { - [](const void* data, size_t length, void*) -> sk_sp<SkImage> { return nullptr; }, - [](const void* data, size_t length, void*) { - return SkImages::DeferredFromEncodedData(SkData::MakeWithCopy(data, length)); - }, - [](const void* data, size_t length, void* ctx) -> sk_sp<SkImage> { - State* state = (State*)ctx; - if (length != strlen(state->fStr) + 1 || 0 != memcmp(data, state->fStr, length)) { - return nullptr; - } - return sk_ref_sp(state->fImg); - }, + [](const void* data, size_t length, void*) -> sk_sp<SkImage> { + return nullptr; + }, + [](const void* data, size_t length, void*) { + return SkImage::MakeFromEncoded(SkData::MakeWithCopy(data, length)); + }, + [](const void* data, size_t length, void* ctx) -> sk_sp<SkImage> { + State* state = (State*)ctx; + if (length != strlen(state->fStr)+1 || 0 != memcmp(data, state->fStr, length)) { + return nullptr; + } + return sk_ref_sp(state->fImg); + }, }; sk_sp<SkPicture> pic; |