76 static const size_t kCacheSize = 1000000;
101 static const size_t kCacheSize = 1000000;
127 const size_t kCacheSize =
image->getSize() + 10;
143 cache->set(key2, filter2.get(),
154 static const size_t kCacheSize = 1000000;
164 cache->set(key1, filter1.get(),
166 cache->set(key2, filter2.get(),
174 cache->purgeByImageFilter(filter1.get());
197 SkSpecialImages::MakeFromRaster(subset, srcBM,
SkSurfaceProps()));
214 fullImg = SkSpecialImages::MakeFromTextureImage(rContext,
full, srcImage, {});
216 fullImg = SkSpecialImages::MakeFromRaster(
full, srcImage, {});
223 subsetImg = SkSpecialImages::MakeFromTextureImage(rContext, subset, srcImage, {});
225 subsetImg = SkSpecialImages::MakeFromRaster(subset, srcImage, {});
251 auto dContext = ctxInfo.directContext();
254 if (!srcView.
proxy()) {
281 srcImage, &readBackBackendTex,
false, &readBackOrigin);
283 if (!GrBackendTexture::TestingOnly_Equals(readBackBackendTex, backendTex)) {
288 if (readBackOrigin != texOrigin) {
289 ERRORF(
reporter,
"origin mismatch %d %d\n", readBackOrigin, texOrigin);
300 auto dContext = ctxInfo.directContext();
303 if (!srcView.
proxy()) {
@ kTopLeft_GrSurfaceOrigin
static const int kFullSize
static const int kSmallerSize
static void test_explicit_purging(skiatest::Reporter *reporter, const sk_sp< SkSpecialImage > &image, const sk_sp< SkSpecialImage > &subset)
static void test_dont_find_if_diff_key(skiatest::Reporter *reporter, const sk_sp< SkSpecialImage > &image, const sk_sp< SkSpecialImage > &subset)
static SkBitmap create_bm()
static void test_image_backed(skiatest::Reporter *reporter, GrRecordingContext *rContext, const sk_sp< SkImage > &srcImage)
static void test_internal_purge(skiatest::Reporter *reporter, const sk_sp< SkSpecialImage > &image)
static GrSurfaceProxyView create_proxy_view(GrRecordingContext *rContext)
static sk_sp< SkImageFilter > make_filter()
static void test_find_existing(skiatest::Reporter *reporter, const sk_sp< SkSpecialImage > &image, const sk_sp< SkSpecialImage > &subset)
@ kPremul_SkAlphaType
pixel components are premultiplied by alpha
@ kRGBA_8888_SkColorType
pixel with 8 bits for red, green, blue, alpha; in 32-bit word
constexpr SkColor SK_ColorTRANSPARENT
constexpr SkColor SK_ColorBLUE
std::tuple< GrSurfaceProxyView, GrColorType > GrMakeUncachedBitmapProxyView(GrRecordingContext *rContext, const SkBitmap &bitmap, skgpu::Mipmapped mipmapped, SkBackingFit fit, skgpu::Budgeted budgeted)
static bool ok(int result)
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
@ kNeedNewImageUniqueID_SpecialImage
#define DEF_SERIAL_TEST(name, reporter)
#define DEF_TEST(name, reporter)
#define REPORTER_ASSERT(r, cond,...)
#define DEF_GANESH_TEST_FOR_RENDERING_CONTEXTS(name, reporter, context_info, ctsEnforcement)
GrSurfaceProxy * proxy() const
virtual bool instantiate(GrResourceProvider *)=0
GrTexture * peekTexture() const
virtual GrBackendTexture getBackendTexture() const =0
void allocPixels(const SkImageInfo &info, size_t rowBytes)
sk_sp< SkImage > asImage() const
void eraseColor(SkColor4f) const
static sk_sp< SkColorFilter > Blend(const SkColor4f &c, sk_sp< SkColorSpace >, SkBlendMode mode)
static void PurgeResourceCache()
static sk_sp< SkImageFilterCache > Get(CreateIfNecessary=CreateIfNecessary::kYes)
static sk_sp< SkImageFilterCache > Create(size_t maxBytes)
static sk_sp< SkImageFilter > ColorFilter(sk_sp< SkColorFilter > cf, sk_sp< SkImageFilter > input, const CropRect &cropRect={})
uint32_t uniqueID() const
static SkMatrix Translate(SkScalar dx, SkScalar dy)
static const SkMatrix & I()
LayerSpace< SkIRect > layerBounds() const
SK_API bool GetBackendTextureFromImage(const SkImage *img, GrBackendTexture *outTexture, bool flushPendingGrContextIO, GrSurfaceOrigin *origin=nullptr)
SK_API sk_sp< SkImage > BorrowTextureFrom(GrRecordingContext *context, const GrBackendTexture &backendTexture, GrSurfaceOrigin origin, SkColorType colorType, SkAlphaType alphaType, sk_sp< SkColorSpace > colorSpace, TextureReleaseProc textureReleaseProc=nullptr, ReleaseContext releaseContext=nullptr)
static constexpr SkIPoint Make(int32_t x, int32_t y)
static constexpr SkIRect MakeWH(int32_t w, int32_t h)
static constexpr SkIRect MakeXYWH(int32_t x, int32_t y, int32_t w, int32_t h)
static SkImageInfo Make(int width, int height, SkColorType ct, SkAlphaType at)