Loading libs/hwui/Readback.cpp +14 −13 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ #include <SkSamplingOptions.h> #include <SkSurface.h> #include "include/gpu/GpuTypes.h" // from Skia #include <include/gpu/ganesh/SkSurfaceGanesh.h> #include <gui/TraceUtils.h> #include <private/android/AHardwareBufferHelpers.h> #include <shaders/shaders.h> Loading Loading @@ -173,14 +174,14 @@ void Readback::copySurfaceInto(ANativeWindow* window, const std::shared_ptr<Copy SkBitmap skBitmap = request->getDestinationBitmap(srcRect.width(), srcRect.height()); SkBitmap* bitmap = &skBitmap; sk_sp<SkSurface> tmpSurface = SkSurface::MakeRenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, SkSurfaces::RenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, bitmap->info(), 0, kTopLeft_GrSurfaceOrigin, nullptr); // if we can't generate a GPU surface that matches the destination bitmap (e.g. 565) then we // attempt to do the intermediate rendering step in 8888 if (!tmpSurface.get()) { SkImageInfo tmpInfo = bitmap->info().makeColorType(SkColorType::kN32_SkColorType); tmpSurface = SkSurface::MakeRenderTarget(mRenderThread.getGrContext(), tmpSurface = SkSurfaces::RenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, tmpInfo, 0, kTopLeft_GrSurfaceOrigin, nullptr); if (!tmpSurface.get()) { Loading Loading @@ -348,7 +349,7 @@ bool Readback::copyLayerInto(Layer* layer, const SkRect* srcRect, const SkRect* * a scaling issue (b/62262733) that was encountered when sampling from an EGLImage into a * software buffer. */ sk_sp<SkSurface> tmpSurface = SkSurface::MakeRenderTarget(mRenderThread.getGrContext(), sk_sp<SkSurface> tmpSurface = SkSurfaces::RenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, bitmap->info(), 0, Loading @@ -358,7 +359,7 @@ bool Readback::copyLayerInto(Layer* layer, const SkRect* srcRect, const SkRect* // attempt to do the intermediate rendering step in 8888 if (!tmpSurface.get()) { SkImageInfo tmpInfo = bitmap->info().makeColorType(SkColorType::kN32_SkColorType); tmpSurface = SkSurface::MakeRenderTarget(mRenderThread.getGrContext(), tmpSurface = SkSurfaces::RenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, tmpInfo, 0, kTopLeft_GrSurfaceOrigin, nullptr); if (!tmpSurface.get()) { Loading libs/hwui/apex/android_canvas.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -45,9 +45,9 @@ static bool convert(const ANativeWindow_Buffer* buffer, SkImageInfo imageInfo = uirenderer::ANativeWindowToImageInfo(*buffer, cs); size_t rowBytes = buffer->stride * imageInfo.bytesPerPixel(); // If SkSurface::MakeRasterDirect fails then we should as well as we will not be able to // If SkSurfaces::WrapPixels fails then we should as well as we will not be able to // draw into the canvas. sk_sp<SkSurface> surface = SkSurface::MakeRasterDirect(imageInfo, buffer->bits, rowBytes); sk_sp<SkSurface> surface = SkSurfaces::WrapPixels(imageInfo, buffer->bits, rowBytes); if (surface.get() != nullptr) { if (outBitmap) { outBitmap->setInfo(imageInfo, rowBytes); Loading libs/hwui/pipeline/skia/GLFunctorDrawable.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ void GLFunctorDrawable::onDraw(SkCanvas* canvas) { SkImageInfo surfaceInfo = canvas->imageInfo().makeWH(clipBounds.width(), clipBounds.height()); tmpSurface = SkSurface::MakeRenderTarget(directContext, skgpu::Budgeted::kYes, surfaceInfo); SkSurfaces::RenderTarget(directContext, skgpu::Budgeted::kYes, surfaceInfo); tmpSurface->getCanvas()->clear(SK_ColorTRANSPARENT); GrGLFramebufferInfo fboInfo; Loading libs/hwui/pipeline/skia/SkiaOpenGLPipeline.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include "SkiaOpenGLPipeline.h" #include <include/gpu/ganesh/SkSurfaceGanesh.h> #include <GrBackendSurface.h> #include <SkBlendMode.h> #include <SkImageInfo.h> Loading Loading @@ -150,7 +151,7 @@ IRenderPipeline::DrawResult SkiaOpenGLPipeline::draw( surface = getBufferSkSurface(bufferParams); preTransform = bufferParams.getTransform(); } else { surface = SkSurface::MakeFromBackendRenderTarget(mRenderThread.getGrContext(), backendRT, surface = SkSurfaces::WrapBackendRenderTarget(mRenderThread.getGrContext(), backendRT, getSurfaceOrigin(), colorType, mSurfaceColorSpace, &props); preTransform = SkMatrix::I(); Loading libs/hwui/pipeline/skia/SkiaPipeline.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ #include "SkiaPipeline.h" #include <include/android/SkSurfaceAndroid.h> #include <include/gpu/ganesh/SkSurfaceGanesh.h> #include <SkCanvas.h> #include <SkColor.h> #include <SkColorSpace.h> Loading Loading @@ -186,7 +188,7 @@ bool SkiaPipeline::createOrUpdateLayer(RenderNode* node, const DamageAccumulator kPremul_SkAlphaType, getSurfaceColorSpace()); SkSurfaceProps props(0, kUnknown_SkPixelGeometry); SkASSERT(mRenderThread.getGrContext() != nullptr); node->setLayerSurface(SkSurface::MakeRenderTarget(mRenderThread.getGrContext(), node->setLayerSurface(SkSurfaces::RenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, info, 0, this->getSurfaceOrigin(), &props)); if (node->getLayerSurface()) { Loading Loading @@ -620,7 +622,7 @@ sk_sp<SkSurface> SkiaPipeline::getBufferSkSurface( auto bufferColorSpace = bufferParams.getColorSpace(); if (mBufferSurface == nullptr || mBufferColorSpace == nullptr || !SkColorSpace::Equals(mBufferColorSpace.get(), bufferColorSpace.get())) { mBufferSurface = SkSurface::MakeFromAHardwareBuffer( mBufferSurface = SkSurfaces::WrapAndroidHardwareBuffer( mRenderThread.getGrContext(), mHardwareBuffer, kTopLeft_GrSurfaceOrigin, bufferColorSpace, nullptr, true); mBufferColorSpace = bufferColorSpace; Loading Loading
libs/hwui/Readback.cpp +14 −13 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ #include <SkSamplingOptions.h> #include <SkSurface.h> #include "include/gpu/GpuTypes.h" // from Skia #include <include/gpu/ganesh/SkSurfaceGanesh.h> #include <gui/TraceUtils.h> #include <private/android/AHardwareBufferHelpers.h> #include <shaders/shaders.h> Loading Loading @@ -173,14 +174,14 @@ void Readback::copySurfaceInto(ANativeWindow* window, const std::shared_ptr<Copy SkBitmap skBitmap = request->getDestinationBitmap(srcRect.width(), srcRect.height()); SkBitmap* bitmap = &skBitmap; sk_sp<SkSurface> tmpSurface = SkSurface::MakeRenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, SkSurfaces::RenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, bitmap->info(), 0, kTopLeft_GrSurfaceOrigin, nullptr); // if we can't generate a GPU surface that matches the destination bitmap (e.g. 565) then we // attempt to do the intermediate rendering step in 8888 if (!tmpSurface.get()) { SkImageInfo tmpInfo = bitmap->info().makeColorType(SkColorType::kN32_SkColorType); tmpSurface = SkSurface::MakeRenderTarget(mRenderThread.getGrContext(), tmpSurface = SkSurfaces::RenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, tmpInfo, 0, kTopLeft_GrSurfaceOrigin, nullptr); if (!tmpSurface.get()) { Loading Loading @@ -348,7 +349,7 @@ bool Readback::copyLayerInto(Layer* layer, const SkRect* srcRect, const SkRect* * a scaling issue (b/62262733) that was encountered when sampling from an EGLImage into a * software buffer. */ sk_sp<SkSurface> tmpSurface = SkSurface::MakeRenderTarget(mRenderThread.getGrContext(), sk_sp<SkSurface> tmpSurface = SkSurfaces::RenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, bitmap->info(), 0, Loading @@ -358,7 +359,7 @@ bool Readback::copyLayerInto(Layer* layer, const SkRect* srcRect, const SkRect* // attempt to do the intermediate rendering step in 8888 if (!tmpSurface.get()) { SkImageInfo tmpInfo = bitmap->info().makeColorType(SkColorType::kN32_SkColorType); tmpSurface = SkSurface::MakeRenderTarget(mRenderThread.getGrContext(), tmpSurface = SkSurfaces::RenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, tmpInfo, 0, kTopLeft_GrSurfaceOrigin, nullptr); if (!tmpSurface.get()) { Loading
libs/hwui/apex/android_canvas.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -45,9 +45,9 @@ static bool convert(const ANativeWindow_Buffer* buffer, SkImageInfo imageInfo = uirenderer::ANativeWindowToImageInfo(*buffer, cs); size_t rowBytes = buffer->stride * imageInfo.bytesPerPixel(); // If SkSurface::MakeRasterDirect fails then we should as well as we will not be able to // If SkSurfaces::WrapPixels fails then we should as well as we will not be able to // draw into the canvas. sk_sp<SkSurface> surface = SkSurface::MakeRasterDirect(imageInfo, buffer->bits, rowBytes); sk_sp<SkSurface> surface = SkSurfaces::WrapPixels(imageInfo, buffer->bits, rowBytes); if (surface.get() != nullptr) { if (outBitmap) { outBitmap->setInfo(imageInfo, rowBytes); Loading
libs/hwui/pipeline/skia/GLFunctorDrawable.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ void GLFunctorDrawable::onDraw(SkCanvas* canvas) { SkImageInfo surfaceInfo = canvas->imageInfo().makeWH(clipBounds.width(), clipBounds.height()); tmpSurface = SkSurface::MakeRenderTarget(directContext, skgpu::Budgeted::kYes, surfaceInfo); SkSurfaces::RenderTarget(directContext, skgpu::Budgeted::kYes, surfaceInfo); tmpSurface->getCanvas()->clear(SK_ColorTRANSPARENT); GrGLFramebufferInfo fboInfo; Loading
libs/hwui/pipeline/skia/SkiaOpenGLPipeline.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include "SkiaOpenGLPipeline.h" #include <include/gpu/ganesh/SkSurfaceGanesh.h> #include <GrBackendSurface.h> #include <SkBlendMode.h> #include <SkImageInfo.h> Loading Loading @@ -150,7 +151,7 @@ IRenderPipeline::DrawResult SkiaOpenGLPipeline::draw( surface = getBufferSkSurface(bufferParams); preTransform = bufferParams.getTransform(); } else { surface = SkSurface::MakeFromBackendRenderTarget(mRenderThread.getGrContext(), backendRT, surface = SkSurfaces::WrapBackendRenderTarget(mRenderThread.getGrContext(), backendRT, getSurfaceOrigin(), colorType, mSurfaceColorSpace, &props); preTransform = SkMatrix::I(); Loading
libs/hwui/pipeline/skia/SkiaPipeline.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ #include "SkiaPipeline.h" #include <include/android/SkSurfaceAndroid.h> #include <include/gpu/ganesh/SkSurfaceGanesh.h> #include <SkCanvas.h> #include <SkColor.h> #include <SkColorSpace.h> Loading Loading @@ -186,7 +188,7 @@ bool SkiaPipeline::createOrUpdateLayer(RenderNode* node, const DamageAccumulator kPremul_SkAlphaType, getSurfaceColorSpace()); SkSurfaceProps props(0, kUnknown_SkPixelGeometry); SkASSERT(mRenderThread.getGrContext() != nullptr); node->setLayerSurface(SkSurface::MakeRenderTarget(mRenderThread.getGrContext(), node->setLayerSurface(SkSurfaces::RenderTarget(mRenderThread.getGrContext(), skgpu::Budgeted::kYes, info, 0, this->getSurfaceOrigin(), &props)); if (node->getLayerSurface()) { Loading Loading @@ -620,7 +622,7 @@ sk_sp<SkSurface> SkiaPipeline::getBufferSkSurface( auto bufferColorSpace = bufferParams.getColorSpace(); if (mBufferSurface == nullptr || mBufferColorSpace == nullptr || !SkColorSpace::Equals(mBufferColorSpace.get(), bufferColorSpace.get())) { mBufferSurface = SkSurface::MakeFromAHardwareBuffer( mBufferSurface = SkSurfaces::WrapAndroidHardwareBuffer( mRenderThread.getGrContext(), mHardwareBuffer, kTopLeft_GrSurfaceOrigin, bufferColorSpace, nullptr, true); mBufferColorSpace = bufferColorSpace; Loading