27#if defined(GRAPHITE_TEST_UTILS)
38 , fTextureProxyView(
std::move(view)) {}
51 device->imageInfo().colorInfo());
78 return CopyAsDraw(recorder, srcImage.
get(), subset, srcColorInfo,
79 budgeted, mipmapped, backingFit);
102 recorder->
priv().
add(std::move(copyTask));
104 if (mipmapped == Mipmapped::kYes) {
106 SKGPU_LOG_W(
"Image::Copy failed to generate mipmaps");
115 if (!fTextureProxyView.
proxy()) {
133 subset, budgeted, mipmapped, backingFit);
137 sk_sp<Image> view = sk_make_sp<Image>(fTextureProxyView,
141 view->linkDevices(
this);
145#if defined(GRAPHITE_TEST_UTILS)
146bool Image::onReadPixelsGraphite(
Recorder* recorder,
154 std::unique_ptr<Recording> recording = recorder->
snap();
158 InsertRecordingInfo
info;
159 info.fRecording = recording.get();
164 fTextureProxyView.
proxy(),
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
#define SKGPU_LOG_W(fmt,...)
static std::unique_ptr< SkEncoder > Make(SkWStream *dst, const SkPixmap *src, const SkYUVAPixmaps *srcYUVA, const SkColorSpace *srcYUVAColorSpace, const SkJpegEncoder::Options &options)
GrImageContextPriv priv()
virtual GrImageContext * context() const
sk_sp< SkImage > makeColorSpace(GrDirectContext *, sk_sp< SkColorSpace >) const override
const SkImageInfo & imageInfo() const
bool isTexturable(const TextureInfo &) const
virtual bool supportsReadPixels(const TextureInfo &textureInfo) const =0
virtual TextureInfo getTextureInfoForSampledCopy(const TextureInfo &textureInfo, Mipmapped mipmapped) const =0
static sk_sp< CopyTextureToTextureTask > Make(sk_sp< TextureProxy > srcProxy, SkIRect srcRect, sk_sp< TextureProxy > dstProxy, SkIPoint dstPoint, int dstLevel=0)
void notifyInUse(Recorder *) const
static sk_sp< Image > CopyAsDraw(Recorder *, const Image_Base *, const SkIRect &subset, const SkColorInfo &dstColorInfo, Budgeted, Mipmapped, SkBackingFit)
Image(TextureProxyView, const SkColorInfo &)
size_t textureSize() const override
sk_sp< SkImage > onReinterpretColorSpace(sk_sp< SkColorSpace >) const override
static sk_sp< Image > Copy(Recorder *, const TextureProxyView &srcView, const SkColorInfo &, const SkIRect &subset, Budgeted, Mipmapped, SkBackingFit)
static sk_sp< Image > WrapDevice(sk_sp< Device > device)
sk_sp< Image > copyImage(Recorder *, const SkIRect &subset, Budgeted, Mipmapped, SkBackingFit) const override
const Caps * caps() const
ResourceProvider * resourceProvider()
std::unique_ptr< Recording > snap()
size_t gpuMemorySize() const
sk_sp< TextureProxy > refProxy() const
TextureProxy * proxy() const
SkISize dimensions() const
static sk_sp< TextureProxy > Make(const Caps *, ResourceProvider *, SkISize dimensions, const TextureInfo &, skgpu::Budgeted)
const TextureInfo & textureInfo() const
const Texture * texture() const
size_t uninstantiatedGpuMemorySize() const
bool GenerateMipmaps(Recorder *recorder, sk_sp< TextureProxy > texture, const SkColorInfo &colorInfo)
SkISize GetApproxSize(SkISize size)
constexpr SkISize size() const
static constexpr SkIRect MakeSize(const SkISize &size)
bool contains(int32_t x, int32_t y) const