diff options
author | 2023-03-17 19:55:58 +0000 | |
---|---|---|
committer | 2023-03-27 15:03:59 +0000 | |
commit | dd8b2ea5a60fc0106e530d0e047a44de89b0cb4a (patch) | |
tree | c30a55a82b239184546ee78467695792dc3f6c72 | |
parent | f8827b1ad06818d3c984388a6e2a56e0a0549cf4 (diff) |
Migrate SkImage static methods to SkImages namespace
Will need to land after
https://skia-review.googlesource.com/c/skia/+/648297
lands and rolls
Change-Id: Ie2ecb8f74dd52fcdd35e7cf9c311e8ed94781a07
Bug: skbug.com/13983
-rw-r--r-- | libs/hwui/AutoBackendTextureRelease.cpp | 8 | ||||
-rw-r--r-- | libs/hwui/HardwareBitmapUploader.cpp | 4 | ||||
-rw-r--r-- | libs/hwui/Readback.cpp | 4 | ||||
-rw-r--r-- | libs/hwui/hwui/Bitmap.cpp | 8 | ||||
-rw-r--r-- | libs/hwui/jni/android_graphics_HardwareRenderer.cpp | 4 | ||||
-rw-r--r-- | libs/hwui/pipeline/skia/VkInteropFunctorDrawable.cpp | 2 | ||||
-rw-r--r-- | libs/hwui/tests/unit/AutoBackendTextureReleaseTests.cpp | 2 | ||||
-rw-r--r-- | libs/hwui/tests/unit/DeferredLayerUpdaterTests.cpp | 2 |
8 files changed, 22 insertions, 12 deletions
diff --git a/libs/hwui/AutoBackendTextureRelease.cpp b/libs/hwui/AutoBackendTextureRelease.cpp index b656b6ac8204..ab85995d26c1 100644 --- a/libs/hwui/AutoBackendTextureRelease.cpp +++ b/libs/hwui/AutoBackendTextureRelease.cpp @@ -16,6 +16,8 @@ #include "AutoBackendTextureRelease.h" +#include <SkImage.h> +#include <include/gpu/ganesh/SkImageGanesh.h> #include "renderthread/RenderThread.h" #include "utils/Color.h" #include "utils/PaintUtils.h" @@ -83,10 +85,10 @@ void AutoBackendTextureRelease::makeImage(AHardwareBuffer* buffer, AHardwareBuffer_describe(buffer, &desc); SkColorType colorType = GrAHardwareBufferUtils::GetSkColorTypeFromBufferFormat(desc.format); // The following ref will be counteracted by Skia calling releaseProc, either during - // MakeFromTexture if there is a failure, or later when SkImage is discarded. It must - // be called before MakeFromTexture, otherwise Skia may remove HWUI's ref on failure. + // BorrowTextureFrom if there is a failure, or later when SkImage is discarded. It must + // be called before BorrowTextureFrom, otherwise Skia may remove HWUI's ref on failure. ref(); - mImage = SkImage::MakeFromTexture( + mImage = SkImages::BorrowTextureFrom( context, mBackendTexture, kTopLeft_GrSurfaceOrigin, colorType, kPremul_SkAlphaType, uirenderer::DataSpaceToColorSpace(dataspace), releaseProc, this); } diff --git a/libs/hwui/HardwareBitmapUploader.cpp b/libs/hwui/HardwareBitmapUploader.cpp index b7e99994355c..19a1dfa91539 100644 --- a/libs/hwui/HardwareBitmapUploader.cpp +++ b/libs/hwui/HardwareBitmapUploader.cpp @@ -25,6 +25,7 @@ #include <SkBitmap.h> #include <SkCanvas.h> #include <SkImage.h> +#include <SkImageAndroid.h> #include <SkImageInfo.h> #include <SkRefCnt.h> #include <gui/TraceUtils.h> @@ -262,7 +263,8 @@ private: } sk_sp<SkImage> image = - SkImage::MakeFromAHardwareBufferWithData(mGrContext.get(), bitmap.pixmap(), ahb); + SkImages::TextureFromAHardwareBufferWithData(mGrContext.get(), bitmap.pixmap(), + ahb); mGrContext->submit(true); uploadSucceeded = (image.get() != nullptr); diff --git a/libs/hwui/Readback.cpp b/libs/hwui/Readback.cpp index 045de35c1d97..377b5bbc523e 100644 --- a/libs/hwui/Readback.cpp +++ b/libs/hwui/Readback.cpp @@ -21,6 +21,7 @@ #include <SkCanvas.h> #include <SkColorSpace.h> #include <SkImage.h> +#include <SkImageAndroid.h> #include <SkImageInfo.h> #include <SkMatrix.h> #include <SkPaint.h> @@ -108,7 +109,8 @@ void Readback::copySurfaceInto(ANativeWindow* window, const std::shared_ptr<Copy sk_sp<SkColorSpace> colorSpace = DataSpaceToColorSpace(static_cast<android_dataspace>(dataspace)); sk_sp<SkImage> image = - SkImage::MakeFromAHardwareBuffer(sourceBuffer.get(), kPremul_SkAlphaType, colorSpace); + SkImages::DeferredFromAHardwareBuffer(sourceBuffer.get(), kPremul_SkAlphaType, + colorSpace); if (!image.get()) { return request->onCopyFinished(CopyResult::UnknownError); diff --git a/libs/hwui/hwui/Bitmap.cpp b/libs/hwui/hwui/Bitmap.cpp index 9b97d0a2bf3e..f46d3ae5d60a 100644 --- a/libs/hwui/hwui/Bitmap.cpp +++ b/libs/hwui/hwui/Bitmap.cpp @@ -39,8 +39,9 @@ #include <SkColor.h> #include <SkEncodedImageFormat.h> #include <SkHighContrastFilter.h> -#include <SkImageEncoder.h> +#include <SkImage.h> #include <SkImageAndroid.h> +#include <SkImageEncoder.h> #include <SkImagePriv.h> #include <SkJpegGainmapEncoder.h> #include <SkPixmap.h> @@ -264,7 +265,8 @@ Bitmap::Bitmap(AHardwareBuffer* buffer, const SkImageInfo& info, size_t rowBytes mPixelStorage.hardware.buffer = buffer; AHardwareBuffer_acquire(buffer); setImmutable(); // HW bitmaps are always immutable - mImage = SkImage::MakeFromAHardwareBuffer(buffer, mInfo.alphaType(), mInfo.refColorSpace()); + mImage = SkImages::DeferredFromAHardwareBuffer(buffer, mInfo.alphaType(), + mInfo.refColorSpace()); } #endif @@ -373,7 +375,7 @@ sk_sp<SkImage> Bitmap::makeImage() { // TODO: refactor Bitmap to not derive from SkPixelRef, which would allow caching here. #ifdef __ANDROID__ // pinnable images are only supported with the Ganesh GPU backend compiled in. - image = sk_image_factory::MakePinnableFromRasterBitmap(skiaBitmap); + image = SkImages::PinnableRasterFromBitmap(skiaBitmap); #else image = SkMakeImageFromRasterBitmap(skiaBitmap, kNever_SkCopyPixelsMode); #endif diff --git a/libs/hwui/jni/android_graphics_HardwareRenderer.cpp b/libs/hwui/jni/android_graphics_HardwareRenderer.cpp index bc14460ce328..de5c86a6e6bf 100644 --- a/libs/hwui/jni/android_graphics_HardwareRenderer.cpp +++ b/libs/hwui/jni/android_graphics_HardwareRenderer.cpp @@ -473,7 +473,7 @@ public: // actually cross thread boundaries here, make a copy so it's immutable proper if (bitmap && !bitmap->isImmutable()) { ATRACE_NAME("Copying mutable bitmap"); - return SkImage::MakeFromBitmap(*bitmap); + return SkImages::RasterFromBitmap(*bitmap); } if (img->isTextureBacked()) { ATRACE_NAME("Readback of texture image"); @@ -493,7 +493,7 @@ public: return sk_ref_sp(img); } bm.setImmutable(); - return sk_image_factory::MakePinnableFromRasterBitmap(bm); + return SkImages::PinnableRasterFromBitmap(bm); } return sk_ref_sp(img); } diff --git a/libs/hwui/pipeline/skia/VkInteropFunctorDrawable.cpp b/libs/hwui/pipeline/skia/VkInteropFunctorDrawable.cpp index e168a7b9459a..4f7448062d6f 100644 --- a/libs/hwui/pipeline/skia/VkInteropFunctorDrawable.cpp +++ b/libs/hwui/pipeline/skia/VkInteropFunctorDrawable.cpp @@ -34,6 +34,8 @@ #include "utils/TimeUtils.h" #include <SkBlendMode.h> +#include <SkImage.h> +#include <SkImageAndroid.h> namespace android { namespace uirenderer { diff --git a/libs/hwui/tests/unit/AutoBackendTextureReleaseTests.cpp b/libs/hwui/tests/unit/AutoBackendTextureReleaseTests.cpp index 138b3efd10ed..b8b3f0aa5229 100644 --- a/libs/hwui/tests/unit/AutoBackendTextureReleaseTests.cpp +++ b/libs/hwui/tests/unit/AutoBackendTextureReleaseTests.cpp @@ -46,7 +46,7 @@ RENDERTHREAD_TEST(AutoBackendTextureRelease, makeImage_invalid) { EXPECT_EQ(1, TestUtils::getUsageCount(textureRelease)); - // SkImage::MakeFromTexture should fail if given null GrDirectContext. + // SkImages::BorrowTextureFrom should fail if given null GrDirectContext. textureRelease->makeImage(buffer, HAL_DATASPACE_UNKNOWN, /*context = */ nullptr); EXPECT_EQ(1, TestUtils::getUsageCount(textureRelease)); diff --git a/libs/hwui/tests/unit/DeferredLayerUpdaterTests.cpp b/libs/hwui/tests/unit/DeferredLayerUpdaterTests.cpp index 0c389bfe8b71..cfa18ae01b4f 100644 --- a/libs/hwui/tests/unit/DeferredLayerUpdaterTests.cpp +++ b/libs/hwui/tests/unit/DeferredLayerUpdaterTests.cpp @@ -40,7 +40,7 @@ RENDERTHREAD_TEST(DeferredLayerUpdater, updateLayer) { // push the deferred updates to the layer SkBitmap bitmap; bitmap.allocN32Pixels(16, 16); - sk_sp<SkImage> layerImage = SkImage::MakeFromBitmap(bitmap); + sk_sp<SkImage> layerImage = SkImages::RasterFromBitmap(bitmap); layerUpdater->updateLayer(true, layerImage, 0, SkRect::MakeEmpty()); // the backing layer should now have all the properties applied. |