#include "include/core/SkBitmap.h"
#include "include/core/SkCanvas.h"
#include "include/core/SkColorSpace.h"
#include "include/core/SkImage.h"
#include "include/core/SkSurface.h"
#include "include/core/SkYUVAInfo.h"
#include "include/core/SkYUVAPixmaps.h"
#include "include/gpu/GpuTypes.h"
#include "include/gpu/graphite/BackendTexture.h"
#include "include/gpu/graphite/Image.h"
#include "include/gpu/graphite/Recorder.h"
#include "include/gpu/graphite/Surface.h"
#include "include/gpu/graphite/YUVABackendTextures.h"
#include "include/private/base/SkMutex.h"
#include "src/core/SkImageFilterTypes.h"
#include "src/core/SkImageFilter_Base.h"
#include "src/gpu/RefCntedCallback.h"
#include "src/gpu/graphite/Caps.h"
#include "src/gpu/graphite/Image_Base_Graphite.h"
#include "src/gpu/graphite/Image_Graphite.h"
#include "src/gpu/graphite/Image_YUVA_Graphite.h"
#include "src/gpu/graphite/Log.h"
#include "src/gpu/graphite/RecorderPriv.h"
#include "src/gpu/graphite/ResourceProvider.h"
#include "src/gpu/graphite/Surface_Graphite.h"
#include "src/gpu/graphite/Texture.h"
#include "src/gpu/graphite/TextureProxy.h"
#include "src/gpu/graphite/TextureProxyView.h"
#include "src/gpu/graphite/TextureUtils.h"
#include "src/image/SkImage_Base.h"
#include "src/image/SkImage_Lazy.h"
#include "src/image/SkImage_Picture.h"
#include "src/image/SkImage_Raster.h"
#include <string>
namespace SkImages {
usingnamespaceskgpu::graphite;
static bool validate_backend_texture(const skgpu::graphite::Caps* caps,
const skgpu::graphite::BackendTexture& texture,
const SkColorInfo& info) { … }
sk_sp<SkImage> WrapTexture(Recorder* recorder,
const BackendTexture& backendTex,
SkColorType ct,
SkAlphaType at,
sk_sp<SkColorSpace> cs,
skgpu::Origin origin,
GenerateMipmapsFromBase genMipmaps,
TextureReleaseProc releaseP,
ReleaseContext releaseC,
std::string_view label) { … }
sk_sp<SkImage> WrapTexture(Recorder* recorder,
const BackendTexture& backendTex,
SkColorType ct,
SkAlphaType at,
sk_sp<SkColorSpace> cs,
skgpu::Origin origin,
TextureReleaseProc releaseP,
ReleaseContext releaseC,
std::string_view label) { … }
sk_sp<SkImage> WrapTexture(Recorder* recorder,
const BackendTexture& backendTex,
SkColorType ct,
SkAlphaType at,
sk_sp<SkColorSpace> cs,
TextureReleaseProc releaseP,
ReleaseContext releaseC,
std::string_view label) { … }
sk_sp<SkImage> PromiseTextureFrom(Recorder* recorder,
SkISize dimensions,
const TextureInfo& textureInfo,
const SkColorInfo& colorInfo,
skgpu::Origin origin,
Volatile isVolatile,
GraphitePromiseTextureFulfillProc fulfillProc,
GraphitePromiseImageReleaseProc imageReleaseProc,
GraphitePromiseTextureReleaseProc textureReleaseProc,
GraphitePromiseImageContext imageContext,
std::string_view label) { … }
sk_sp<SkImage> PromiseTextureFrom(Recorder* recorder,
SkISize dimensions,
const TextureInfo& textureInfo,
const SkColorInfo& colorInfo,
Volatile isVolatile,
GraphitePromiseTextureFulfillProc fulfillProc,
GraphitePromiseImageReleaseProc imageReleaseProc,
GraphitePromiseTextureReleaseProc textureReleaseProc,
GraphitePromiseImageContext imageContext) { … }
sk_sp<SkImage> PromiseTextureFromYUVA(skgpu::graphite::Recorder* recorder,
const YUVABackendTextureInfo& backendTextureInfo,
sk_sp<SkColorSpace> imageColorSpace,
skgpu::graphite::Volatile isVolatile,
GraphitePromiseTextureFulfillProc fulfillProc,
GraphitePromiseImageReleaseProc imageReleaseProc,
GraphitePromiseTextureReleaseProc textureReleaseProc,
GraphitePromiseImageContext imageContext,
GraphitePromiseTextureFulfillContext planeContexts[],
std::string_view label) { … }
sk_sp<SkImage> SubsetTextureFrom(skgpu::graphite::Recorder* recorder,
const SkImage* img,
const SkIRect& subset,
SkImage::RequiredProperties props) { … }
sk_sp<SkImage> MakeWithFilter(skgpu::graphite::Recorder* recorder,
sk_sp<SkImage> src,
const SkImageFilter* filter,
const SkIRect& subset,
const SkIRect& clipBounds,
SkIRect* outSubset,
SkIPoint* offset) { … }
static sk_sp<SkImage> generate_picture_texture(skgpu::graphite::Recorder* recorder,
const SkImage_Picture* img,
const SkImageInfo& info,
SkImage::RequiredProperties requiredProps) { … }
static sk_sp<SkImage> make_texture_image_from_lazy(skgpu::graphite::Recorder* recorder,
const SkImage_Lazy* img,
SkImage::RequiredProperties requiredProps) { … }
sk_sp<SkImage> TextureFromImage(skgpu::graphite::Recorder* recorder,
const SkImage* image,
SkImage::RequiredProperties requiredProps) { … }
sk_sp<SkImage> TextureFromYUVAPixmaps(Recorder* recorder,
const SkYUVAPixmaps& pixmaps,
SkImage::RequiredProperties requiredProps,
bool limitToMaxTextureSize,
sk_sp<SkColorSpace> imageColorSpace,
std::string_view label) { … }
sk_sp<SkImage> TextureFromYUVATextures(Recorder* recorder,
const YUVABackendTextures& yuvaTextures,
sk_sp<SkColorSpace> imageColorSpace,
TextureReleaseProc releaseP,
ReleaseContext releaseC,
std::string_view label) { … }
sk_sp<SkImage> TextureFromYUVAImages(Recorder* recorder,
const SkYUVAInfo& yuvaInfo,
SkSpan<const sk_sp<SkImage>> images,
sk_sp<SkColorSpace> imageColorSpace) { … }
}