From bd500f09ce5b1ca464431d693f9ec5da60a59230 Mon Sep 17 00:00:00 2001 From: bsalomon Date: Thu, 25 Feb 2016 06:52:12 -0800 Subject: [PATCH] Revert of Move Budgeted enum out of SkSurface, use in GrTextureProvider (patchset #6 id:100001 of https://codereview.chromium.org/1728093005/ ) Reason for revert: Need workaround for chrome to build Original issue's description: > Move Budgeted enum out of SkSurface, use in GrTextureProvider > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1728093005 > DOCS_PREVIEW= https://skia.org/?cl=1728093005 > > Committed: https://skia.googlesource.com/skia/+/57599fe6c0336feaeeeb9b1996e77b70219b483c TBR=reed@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1734043002 --- bench/nanobench.cpp | 2 +- cmake/example.cpp | 2 +- dm/DMGpuSupport.h | 2 +- experimental/fiddle/fiddle_main.cpp | 2 +- gm/bleed.cpp | 4 ++-- gm/dftext.cpp | 2 +- gm/discard.cpp | 2 +- gm/image.cpp | 6 +++--- gm/image_pict.cpp | 6 +++--- gm/image_shader.cpp | 2 +- gm/imagetoyuvplanes.cpp | 2 +- gm/surface.cpp | 2 +- gm/texdata.cpp | 2 +- gm/textblobmixedsizes.cpp | 2 +- gm/xfermodes3.cpp | 2 +- include/core/SkSurface.h | 22 +++++++++++++++++----- include/core/SkTypes.h | 11 ----------- include/gpu/GrTextureProvider.h | 6 +++--- site/user/api/canvas.md | 2 +- src/core/SkCanvas.cpp | 3 +-- src/core/SkImageCacherator.cpp | 2 +- src/core/SkPictureImageGenerator.cpp | 3 ++- src/effects/GrCircleBlurFragmentProcessor.cpp | 2 +- src/effects/SkBlurMaskFilter.cpp | 4 ++-- src/effects/SkColorCubeFilter.cpp | 2 +- src/gpu/GrContext.cpp | 3 +-- src/gpu/GrGpu.cpp | 7 +++---- src/gpu/GrGpu.h | 2 +- src/gpu/GrGpuResource.cpp | 2 +- src/gpu/GrGpuResourceCacheAccess.h | 2 +- src/gpu/GrGpuResourcePriv.h | 4 ++-- src/gpu/GrLayerAtlas.cpp | 2 +- src/gpu/GrLayerCache.cpp | 2 +- src/gpu/GrResourceCache.cpp | 16 ++++++++-------- src/gpu/GrResourceCache.h | 2 +- src/gpu/GrTest.cpp | 4 ++-- src/gpu/GrTextureParamsAdjuster.cpp | 3 +-- src/gpu/GrTextureProvider.cpp | 6 +++--- src/gpu/GrYUVProvider.cpp | 5 ++--- src/gpu/SkGpuDevice.cpp | 15 +++++++++------ src/gpu/SkGpuDevice.h | 4 ++-- src/gpu/SkGr.cpp | 6 +++--- src/gpu/SkGrPixelRef.cpp | 2 +- src/gpu/effects/GrConfigConversionEffect.cpp | 9 +++------ src/gpu/effects/GrTextureStripAtlas.cpp | 3 +-- src/gpu/gl/GrGLGpu.cpp | 2 +- src/image/SkImage.cpp | 5 +++-- src/image/SkImagePriv.h | 2 +- src/image/SkImage_Gpu.cpp | 21 ++++++++++++--------- src/image/SkImage_Gpu.h | 8 ++++---- src/image/SkSurface.cpp | 8 ++++---- src/image/SkSurface_Base.h | 6 +++--- src/image/SkSurface_Gpu.cpp | 10 +++++----- src/image/SkSurface_Gpu.h | 2 +- src/image/SkSurface_Raster.cpp | 6 +++--- src/utils/SkImageGeneratorUtils.cpp | 2 +- tests/BitmapCopyTest.cpp | 2 +- tests/BlurTest.cpp | 2 +- tests/ClearTest.cpp | 2 +- tests/ClipBoundsTest.cpp | 2 +- tests/CopySurfaceTest.cpp | 4 ++-- tests/EGLImageTest.cpp | 3 +-- tests/FloatingPointTextureTest.cpp | 2 +- tests/GLProgramsTest.cpp | 8 ++++---- tests/GpuDrawPathTest.cpp | 2 +- tests/GrSurfaceTest.cpp | 5 ++--- tests/GrTextureMipMapInvalidationTest.cpp | 6 ++---- tests/ImageFilterCacheTest.cpp | 2 +- tests/ImageFilterTest.cpp | 10 +++++----- tests/ImageIsOpaqueTest.cpp | 4 ++-- tests/ImageNewShaderTest.cpp | 8 ++++---- tests/ImageTest.cpp | 4 ++-- tests/PremulAlphaRoundTripTest.cpp | 2 +- tests/ReadPixelsTest.cpp | 8 ++++---- tests/ReadWriteAlphaTest.cpp | 4 ++-- tests/RecordReplaceDrawTest.cpp | 3 +-- tests/RectangleTextureTest.cpp | 7 +++---- tests/ResourceCacheTest.cpp | 25 ++++++++++++------------- tests/SRGBReadWritePixelsTest.cpp | 5 ++--- tests/SpecialImageTest.cpp | 2 +- tests/SurfaceTest.cpp | 24 ++++++++++++++---------- tests/TextBlobCacheTest.cpp | 2 +- tests/TextureStorageAllocator.cpp | 4 ++-- tests/WritePixelsTest.cpp | 3 +-- tools/VisualBench/WrappedBenchmark.h | 2 +- tools/kilobench/kilobench.cpp | 2 +- tools/skiaserve/skiaserve.cpp | 2 +- 87 files changed, 212 insertions(+), 217 deletions(-) diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp index c463d6a..c7cc3f0 100644 --- a/bench/nanobench.cpp +++ b/bench/nanobench.cpp @@ -185,7 +185,7 @@ struct GPUTarget : public Target { SkSurfaceProps props(flags, SkSurfaceProps::kLegacyFontHost_InitType); this->surface.reset(SkSurface::NewRenderTarget(gGrFactory->get(this->config.ctxType, this->config.ctxOptions), - SkBudgeted::kNo, info, + SkSurface::kNo_Budgeted, info, this->config.samples, &props)); this->gl = gGrFactory->getContextInfo(this->config.ctxType, this->config.ctxOptions).fGLContext; diff --git a/cmake/example.cpp b/cmake/example.cpp index 247deaf..2fc91d5 100644 --- a/cmake/example.cpp +++ b/cmake/example.cpp @@ -54,7 +54,7 @@ static std::shared_ptr create_opengl_surface(int w, int h) { std::cout << "Using opengl surface" << std::endl; std::shared_ptr grContext = adopt(GrContext::Create(kOpenGL_GrBackend, 0)); return adopt(SkSurface::NewRenderTarget(grContext.get(), - SkBudgeted::kNo, + SkSurface::kNo_Budgeted, SkImageInfo::MakeN32Premul(w,h))); } diff --git a/dm/DMGpuSupport.h b/dm/DMGpuSupport.h index 50d271b..4af4d13 100644 --- a/dm/DMGpuSupport.h +++ b/dm/DMGpuSupport.h @@ -36,7 +36,7 @@ static inline SkSurface* NewGpuSurface(GrContextFactory* grFactory, bool useDIText) { uint32_t flags = useDIText ? SkSurfaceProps::kUseDeviceIndependentFonts_Flag : 0; SkSurfaceProps props(flags, SkSurfaceProps::kLegacyFontHost_InitType); - return SkSurface::NewRenderTarget(grFactory->get(type, options), SkBudgeted::kNo, + return SkSurface::NewRenderTarget(grFactory->get(type, options), SkSurface::kNo_Budgeted, info, samples, &props); } diff --git a/experimental/fiddle/fiddle_main.cpp b/experimental/fiddle/fiddle_main.cpp index 8c5d021..eb41b51 100644 --- a/experimental/fiddle/fiddle_main.cpp +++ b/experimental/fiddle/fiddle_main.cpp @@ -112,7 +112,7 @@ int main() { SkAutoTUnref surface( SkSurface::NewRenderTarget( grContext, - SkBudgeted::kNo, + SkSurface::kNo_Budgeted, SkImageInfo::MakeN32Premul(options.size))); if (!surface) { fputs("Unable to get render surface.\n", stderr); diff --git a/gm/bleed.cpp b/gm/bleed.cpp index 1a96fdb..85ae2f4 100644 --- a/gm/bleed.cpp +++ b/gm/bleed.cpp @@ -236,8 +236,8 @@ bool make_oversized_texture_bitmap(GrContext* ctx, TestPixels* result, int width desc.fConfig = config; desc.fWidth = width + kXPad; desc.fHeight = height + kYPad; - SkAutoTUnref texture(ctx->textureProvider()->createTexture( - desc, SkBudgeted::kYes, pixels.get(), rowBytes)); + SkAutoTUnref texture(ctx->textureProvider()->createTexture(desc, true, pixels.get(), + rowBytes)); if (!texture) { return false; diff --git a/gm/dftext.cpp b/gm/dftext.cpp index cccca38..78b1598 100644 --- a/gm/dftext.cpp +++ b/gm/dftext.cpp @@ -51,7 +51,7 @@ protected: SkImageInfo info = SkImageInfo::MakeN32Premul(onISize()); SkSurfaceProps props(SkSurfaceProps::kUseDeviceIndependentFonts_Flag, SkSurfaceProps::kLegacyFontHost_InitType); - SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkBudgeted::kNo, + SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkSurface::kNo_Budgeted, info, 0, &props)); SkCanvas* canvas = surface.get() ? surface->getCanvas() : inputCanvas; // init our new canvas with the old canvas's matrix diff --git a/gm/discard.cpp b/gm/discard.cpp index 6f64b9c..85ef382 100644 --- a/gm/discard.cpp +++ b/gm/discard.cpp @@ -45,7 +45,7 @@ protected: size.fWidth /= 10; size.fHeight /= 10; SkImageInfo info = SkImageInfo::MakeN32Premul(size); - SkSurface* surface = SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info); + SkSurface* surface = SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info); if (nullptr == surface) { return; diff --git a/gm/image.cpp b/gm/image.cpp index 2ddda8f..e79968a 100644 --- a/gm/image.cpp +++ b/gm/image.cpp @@ -177,7 +177,7 @@ protected: #if SK_SUPPORT_GPU surf2.reset(SkSurface::NewRenderTarget(canvas->getGrContext(), - SkBudgeted::kNo, info)); + SkSurface::kNo_Budgeted, info)); #endif test_surface(canvas, surf0, true); @@ -262,7 +262,7 @@ static SkImage* make_codec(const SkImageInfo& info, GrContext*, void (*draw)(SkC static SkImage* make_gpu(const SkImageInfo& info, GrContext* ctx, void (*draw)(SkCanvas*)) { if (!ctx) { return nullptr; } - SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkBudgeted::kNo, info)); + SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkSurface::kNo_Budgeted, info)); draw(surface->getCanvas()); return surface->newImageSnapshot(); } @@ -487,7 +487,7 @@ DEF_SIMPLE_GM(new_texture_image, canvas, 225, 60) { // Create a texture image [context, render_image]() -> SkImage* { SkAutoTUnref surface( - SkSurface::NewRenderTarget(context, SkBudgeted::kYes, + SkSurface::NewRenderTarget(context, SkSurface::kYes_Budgeted, SkImageInfo::MakeN32Premul(kSize, kSize))); if (!surface) { return nullptr; diff --git a/gm/image_pict.cpp b/gm/image_pict.cpp index 968ecda..a62ffa0 100644 --- a/gm/image_pict.cpp +++ b/gm/image_pict.cpp @@ -211,7 +211,7 @@ public: : SkImageGenerator(info) , fCtx(SkRef(ctx)) { - SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkBudgeted::kNo, + SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkSurface::kNo_Budgeted, info, 0)); surface->getCanvas()->clear(0); surface->getCanvas()->translate(-100, -100); @@ -233,7 +233,7 @@ protected: desc.fWidth = subset->width(); desc.fHeight = subset->height(); - GrTexture* dst = fCtx->textureProvider()->createTexture(desc, SkBudgeted::kNo); + GrTexture* dst = fCtx->textureProvider()->createTexture(desc, false); fCtx->copySurface(dst, fTexture, *subset, SkIPoint::Make(0, 0)); return dst; } @@ -326,7 +326,7 @@ protected: // No API to draw a GrTexture directly, so we cheat and create a private image subclass SkAutoTUnref image(new SkImage_Gpu(cache->info().width(), cache->info().height(), cache->uniqueID(), kPremul_SkAlphaType, texture, - SkBudgeted::kNo)); + SkSurface::kNo_Budgeted)); canvas->drawImage(image, x, y); #endif } diff --git a/gm/image_shader.cpp b/gm/image_shader.cpp index 084bb95..0552c24 100644 --- a/gm/image_shader.cpp +++ b/gm/image_shader.cpp @@ -37,7 +37,7 @@ static SkImage* make_texture(GrContext* ctx, const SkPicture* pic, const SkImage if (!ctx) { return nullptr; } - SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkBudgeted::kNo, + SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkSurface::kNo_Budgeted, info, 0)); surface->getCanvas()->clear(0); surface->getCanvas()->drawPicture(pic); diff --git a/gm/imagetoyuvplanes.cpp b/gm/imagetoyuvplanes.cpp index 09b3dbb..4883a68 100644 --- a/gm/imagetoyuvplanes.cpp +++ b/gm/imagetoyuvplanes.cpp @@ -16,7 +16,7 @@ static SkImage* create_image(GrContext* context, int width, int height) { SkAutoTUnref surface; SkImageInfo info = SkImageInfo::MakeN32Premul(width, height); if (context) { - surface.reset(SkSurface::NewRenderTarget(context, SkBudgeted::kYes, info, 0)); + surface.reset(SkSurface::NewRenderTarget(context, SkSurface::kYes_Budgeted, info, 0)); } else { surface.reset(SkSurface::NewRaster(info)); } diff --git a/gm/surface.cpp b/gm/surface.cpp index c3eaf9e..8c7c118 100644 --- a/gm/surface.cpp +++ b/gm/surface.cpp @@ -33,7 +33,7 @@ static SkSurface* make_surface(GrContext* ctx, const SkImageInfo& info, SkPixelG SkSurfaceProps props(flags, geo); if (ctx) { - return SkSurface::NewRenderTarget(ctx, SkBudgeted::kNo, info, 0, &props); + return SkSurface::NewRenderTarget(ctx, SkSurface::kNo_Budgeted, info, 0, &props); } else { return SkSurface::NewRaster(info, &props); } diff --git a/gm/texdata.cpp b/gm/texdata.cpp index 4b484cc..c89ce73 100644 --- a/gm/texdata.cpp +++ b/gm/texdata.cpp @@ -70,7 +70,7 @@ DEF_SIMPLE_GM_BG(texdata, canvas, 2 * S, 2 * S, SK_ColorBLACK) { desc.fWidth = 2 * S; desc.fHeight = 2 * S; GrTexture* texture = ctx->textureProvider()->createTexture( - desc, SkBudgeted::kNo, gTextureData.get(), 0); + desc, false, gTextureData.get(), 0); if (!texture) { return; diff --git a/gm/textblobmixedsizes.cpp b/gm/textblobmixedsizes.cpp index 330d33f..782a85d 100644 --- a/gm/textblobmixedsizes.cpp +++ b/gm/textblobmixedsizes.cpp @@ -99,7 +99,7 @@ protected: SkImageInfo info = SkImageInfo::MakeN32Premul(onISize()); SkSurfaceProps props(SkSurfaceProps::kUseDeviceIndependentFonts_Flag, SkSurfaceProps::kLegacyFontHost_InitType); - surface.reset(SkSurface::NewRenderTarget(ctx, SkBudgeted::kNo, info, 0, + surface.reset(SkSurface::NewRenderTarget(ctx, SkSurface::kNo_Budgeted, info, 0, &props)); canvas = surface.get() ? surface->getCanvas() : inputCanvas; // init our new canvas with the old canvas's matrix diff --git a/gm/xfermodes3.cpp b/gm/xfermodes3.cpp index 8c24bf7..f59e80f 100644 --- a/gm/xfermodes3.cpp +++ b/gm/xfermodes3.cpp @@ -128,7 +128,7 @@ private: SkImageInfo baseInfo = baseCanvas->imageInfo(); SkImageInfo info = SkImageInfo::Make(w, h, baseInfo.colorType(), baseInfo.alphaType(), baseInfo.profileType()); - return SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info, 0, nullptr); + return SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info, 0, nullptr); #else return nullptr; #endif diff --git a/include/core/SkSurface.h b/include/core/SkSurface.h index 7a03529..975c80e 100644 --- a/include/core/SkSurface.h +++ b/include/core/SkSurface.h @@ -31,6 +31,18 @@ class GrRenderTarget; class SK_API SkSurface : public SkRefCnt { public: /** + * Indicates whether a new surface or image should count against a cache budget. Currently this + * is only used by the GPU backend (sw-raster surfaces and images are never counted against the + * resource cache budget.) + */ + enum Budgeted { + /** The surface or image does not count against the cache budget. */ + kNo_Budgeted, + /** The surface or image counts against the cache budget. */ + kYes_Budgeted + }; + + /** * Create a new surface, using the specified pixels/rowbytes as its * backend. * @@ -123,10 +135,10 @@ public: * additional textures. */ static SkSurface* NewRenderTarget( - GrContext*, SkBudgeted, const SkImageInfo&, int sampleCount, - const SkSurfaceProps* = NULL, GrTextureStorageAllocator = GrTextureStorageAllocator()); + GrContext*, Budgeted, const SkImageInfo&, int sampleCount, const SkSurfaceProps* = NULL, + GrTextureStorageAllocator = GrTextureStorageAllocator()); - static SkSurface* NewRenderTarget(GrContext* gr, SkBudgeted b, const SkImageInfo& info) { + static SkSurface* NewRenderTarget(GrContext* gr, Budgeted b, const SkImageInfo& info) { return NewRenderTarget(gr, b, info, 0); } @@ -232,7 +244,7 @@ public: * parameter controls whether it counts against the resource budget * (currently for the gpu backend only). */ - SkImage* newImageSnapshot(SkBudgeted = SkBudgeted::kYes); + SkImage* newImageSnapshot(Budgeted = kYes_Budgeted); /** * In rare instances a client may want a unique copy of the SkSurface's contents in an image @@ -244,7 +256,7 @@ public: kNo_ForceUnique, kYes_ForceUnique }; - SkImage* newImageSnapshot(SkBudgeted, ForceUnique); + SkImage* newImageSnapshot(Budgeted, ForceUnique); /** * Though the caller could get a snapshot image explicitly, and draw that, diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h index 756eae8..4592168 100644 --- a/include/core/SkTypes.h +++ b/include/core/SkTypes.h @@ -439,17 +439,6 @@ template static inline const T& SkTPin(const T& value, const T& min return SkTMax(SkTMin(value, max), min); } - -/////////////////////////////////////////////////////////////////////////////// - -/** - * Indicates whether an allocation should count against a cache budget. - */ -enum class SkBudgeted : bool { - kNo = false, - kYes = true -}; - /////////////////////////////////////////////////////////////////////////////// /** Use to combine multiple bits in a bitmask in a type safe way. diff --git a/include/gpu/GrTextureProvider.h b/include/gpu/GrTextureProvider.h index e75589e..3fa359d 100644 --- a/include/gpu/GrTextureProvider.h +++ b/include/gpu/GrTextureProvider.h @@ -29,11 +29,11 @@ public: * implies tightly packed rows. For compressed pixel configs, this * field is ignored. */ - GrTexture* createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted, const void* srcData, + GrTexture* createTexture(const GrSurfaceDesc& desc, bool budgeted, const void* srcData, size_t rowBytes); /** Shortcut for creating a texture with no initial data to upload. */ - GrTexture* createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted) { + GrTexture* createTexture(const GrSurfaceDesc& desc, bool budgeted) { return this->createTexture(desc, budgeted, NULL, 0); } @@ -73,7 +73,7 @@ public: if (kApprox_ScratchTexMatch == match) { return this->createApproxTexture(desc); } else { - return this->createTexture(desc, SkBudgeted::kYes); + return this->createTexture(desc, true); } } diff --git a/site/user/api/canvas.md b/site/user/api/canvas.md index cf9992d..bb29652 100644 --- a/site/user/api/canvas.md +++ b/site/user/api/canvas.md @@ -90,7 +90,7 @@ example, we use a `GrContextFactory` to create a context. GrContext* context = grFactory.get(GrContextFactory::kNative_GLContextType); SkImageInfo info = SkImageInfo:: MakeN32Premul(width, height); SkAutoTUnref gpuSurface( - SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info)); + SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info)); if (!gpuSurface) { SkDebugf("SkSurface::NewRenderTarget returned null\n"); return; diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index a628105..f0476cd 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -1146,8 +1146,7 @@ static void draw_filter_into_device(SkBaseDevice* src, const SkImageFilter* filt // TODO: we should actually only copy the portion of the source needed to apply the image // filter GrContext* context = srcRT->getContext(); - SkAutoTUnref tex(context->textureProvider()->createTexture(srcRT->desc(), - SkBudgeted::kYes)); + SkAutoTUnref tex(context->textureProvider()->createTexture(srcRT->desc(), true)); context->copySurface(tex, srcRT); diff --git a/src/core/SkImageCacherator.cpp b/src/core/SkImageCacherator.cpp index 155eb82..dc831d7 100644 --- a/src/core/SkImageCacherator.cpp +++ b/src/core/SkImageCacherator.cpp @@ -203,7 +203,7 @@ static GrTexture* load_compressed_into_texture(GrContext* ctx, SkData* data, GrS } desc.fConfig = config; - return ctx->textureProvider()->createTexture(desc, SkBudgeted::kYes, rawStart, 0); + return ctx->textureProvider()->createTexture(desc, true, rawStart, 0); } class Generator_GrYUVProvider : public GrYUVProvider { diff --git a/src/core/SkPictureImageGenerator.cpp b/src/core/SkPictureImageGenerator.cpp index db192a3..398c6eb 100644 --- a/src/core/SkPictureImageGenerator.cpp +++ b/src/core/SkPictureImageGenerator.cpp @@ -138,7 +138,8 @@ GrTexture* SkPictureImageGenerator::onGenerateTexture(GrContext* ctx, const SkIR // // TODO: respect the usage, by possibly creating a different (pow2) surface // - SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkBudgeted::kYes, + SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, + SkSurface::kYes_Budgeted, surfaceInfo)); if (!surface.get()) { return nullptr; diff --git a/src/effects/GrCircleBlurFragmentProcessor.cpp b/src/effects/GrCircleBlurFragmentProcessor.cpp index 50fbbac..39e3947 100644 --- a/src/effects/GrCircleBlurFragmentProcessor.cpp +++ b/src/effects/GrCircleBlurFragmentProcessor.cpp @@ -247,7 +247,7 @@ GrTexture* GrCircleBlurFragmentProcessor::CreateCircleBlurProfileTexture( if (!blurProfile) { SkAutoTDeleteArray profile(create_profile(halfWH, sigma)); - blurProfile = textureProvider->createTexture(texDesc, SkBudgeted::kYes, profile.get(), 0); + blurProfile = textureProvider->createTexture(texDesc, true, profile.get(), 0); if (blurProfile) { textureProvider->assignUniqueKeyToTexture(key, blurProfile); } diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp index 1be030b..6679e8a 100644 --- a/src/effects/SkBlurMaskFilter.cpp +++ b/src/effects/SkBlurMaskFilter.cpp @@ -794,7 +794,7 @@ GrTexture* GrRectBlurEffect::CreateBlurProfileTexture(GrTextureProvider* texture if (!blurProfile) { SkAutoTDeleteArray profile(SkBlurMask::ComputeBlurProfile(sigma)); - blurProfile = textureProvider->createTexture(texDesc, SkBudgeted::kYes, profile.get(), 0); + blurProfile = textureProvider->createTexture(texDesc, true, profile.get(), 0); if (blurProfile) { textureProvider->assignUniqueKeyToTexture(key, blurProfile); } @@ -999,7 +999,7 @@ const GrFragmentProcessor* GrRRectBlurEffect::Create(GrTextureProvider* texProvi texDesc.fConfig = kAlpha_8_GrPixelConfig; blurNinePatchTexture.reset( - texProvider->createTexture(texDesc, SkBudgeted::kYes , blurredMask.fImage, 0)); + texProvider->createTexture(texDesc, true, blurredMask.fImage, 0)); SkMask::FreeImage(blurredMask.fImage); if (!blurNinePatchTexture) { return nullptr; diff --git a/src/effects/SkColorCubeFilter.cpp b/src/effects/SkColorCubeFilter.cpp index 1d2f839..4ddbc0c 100644 --- a/src/effects/SkColorCubeFilter.cpp +++ b/src/effects/SkColorCubeFilter.cpp @@ -315,7 +315,7 @@ const GrFragmentProcessor* SkColorCubeFilter::asFragmentProcessor(GrContext* con context->textureProvider()->findAndRefTextureByUniqueKey(key)); if (!textureCube) { textureCube.reset(context->textureProvider()->createTexture( - desc, SkBudgeted::kYes, fCubeData->data(), 0)); + desc, true, fCubeData->data(), 0)); if (textureCube) { context->textureProvider()->assignUniqueKeyToTexture(key, textureCube); } else { diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp index 8844f1a..2174b85 100644 --- a/src/gpu/GrContext.cpp +++ b/src/gpu/GrContext.cpp @@ -423,8 +423,7 @@ bool GrContext::readSurfacePixels(GrSurface* src, } SkAutoTUnref temp; if (tempDrawInfo.fUseExactScratch) { - temp.reset(this->textureProvider()->createTexture(tempDrawInfo.fTempSurfaceDesc, - SkBudgeted::kYes)); + temp.reset(this->textureProvider()->createTexture(tempDrawInfo.fTempSurfaceDesc, true)); } else { temp.reset(this->textureProvider()->createApproxTexture(tempDrawInfo.fTempSurfaceDesc)); } diff --git a/src/gpu/GrGpu.cpp b/src/gpu/GrGpu.cpp index 8548e54..4fcd4d5 100644 --- a/src/gpu/GrGpu.cpp +++ b/src/gpu/GrGpu.cpp @@ -88,7 +88,7 @@ static GrSurfaceOrigin resolve_origin(GrSurfaceOrigin origin, bool renderTarget) } } -GrTexture* GrGpu::createTexture(const GrSurfaceDesc& origDesc, SkBudgeted budgeted, +GrTexture* GrGpu::createTexture(const GrSurfaceDesc& origDesc, bool budgeted, const void* srcData, size_t rowBytes) { GrSurfaceDesc desc = origDesc; @@ -120,9 +120,8 @@ GrTexture* GrGpu::createTexture(const GrSurfaceDesc& origDesc, SkBudgeted budget } } - GrGpuResource::LifeCycle lifeCycle = SkBudgeted::kYes == budgeted ? - GrGpuResource::kCached_LifeCycle : - GrGpuResource::kUncached_LifeCycle; + GrGpuResource::LifeCycle lifeCycle = budgeted ? GrGpuResource::kCached_LifeCycle : + GrGpuResource::kUncached_LifeCycle; desc.fSampleCnt = SkTMin(desc.fSampleCnt, this->caps()->maxSampleCount()); // Attempt to catch un- or wrongly initialized sample counts; diff --git a/src/gpu/GrGpu.h b/src/gpu/GrGpu.h index 0fef7a2..fd134ea 100644 --- a/src/gpu/GrGpu.h +++ b/src/gpu/GrGpu.h @@ -93,7 +93,7 @@ public: * * @return The texture object if successful, otherwise nullptr. */ - GrTexture* createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted, + GrTexture* createTexture(const GrSurfaceDesc& desc, bool budgeted, const void* srcData, size_t rowBytes); /** diff --git a/src/gpu/GrGpuResource.cpp b/src/gpu/GrGpuResource.cpp index 98cea1c..a227fd2 100644 --- a/src/gpu/GrGpuResource.cpp +++ b/src/gpu/GrGpuResource.cpp @@ -119,7 +119,7 @@ void GrGpuResource::setUniqueKey(const GrUniqueKey& key) { SkASSERT(key.isValid()); // Wrapped and uncached resources can never have a unique key. - if (SkBudgeted::kNo == this->resourcePriv().isBudgeted()) { + if (!this->resourcePriv().isBudgeted()) { return; } diff --git a/src/gpu/GrGpuResourceCacheAccess.h b/src/gpu/GrGpuResourceCacheAccess.h index 70fe085..8c27242 100644 --- a/src/gpu/GrGpuResourceCacheAccess.h +++ b/src/gpu/GrGpuResourceCacheAccess.h @@ -27,7 +27,7 @@ private: */ bool isScratch() const { return !fResource->getUniqueKey().isValid() && fResource->fScratchKey.isValid() && - SkBudgeted::kYes == fResource->resourcePriv().isBudgeted(); + fResource->resourcePriv().isBudgeted(); } /** diff --git a/src/gpu/GrGpuResourcePriv.h b/src/gpu/GrGpuResourcePriv.h index 62dc850..5324dcc 100644 --- a/src/gpu/GrGpuResourcePriv.h +++ b/src/gpu/GrGpuResourcePriv.h @@ -44,10 +44,10 @@ public: /** * Does the resource count against the resource budget? */ - SkBudgeted isBudgeted() const { + bool isBudgeted() const { bool ret = GrGpuResource::kCached_LifeCycle == fResource->fLifeCycle; SkASSERT(ret || !fResource->getUniqueKey().isValid()); - return SkBudgeted(ret); + return ret; } /** diff --git a/src/gpu/GrLayerAtlas.cpp b/src/gpu/GrLayerAtlas.cpp index df8215a..9beb509 100644 --- a/src/gpu/GrLayerAtlas.cpp +++ b/src/gpu/GrLayerAtlas.cpp @@ -66,7 +66,7 @@ void GrLayerAtlas::createBackingTexture() { desc.fHeight = fBackingTextureSize.height(); desc.fConfig = fPixelConfig; - fTexture.reset(fTexProvider->createTexture(desc, SkBudgeted::kYes, nullptr, 0)); + fTexture.reset(fTexProvider->createTexture(desc, true, nullptr, 0)); fTexture->resourcePriv().setUniqueKey(get_layer_atlas_key()); } diff --git a/src/gpu/GrLayerCache.cpp b/src/gpu/GrLayerCache.cpp index c2facbb..105ee04 100644 --- a/src/gpu/GrLayerCache.cpp +++ b/src/gpu/GrLayerCache.cpp @@ -255,7 +255,7 @@ bool GrLayerCache::lock(GrCachedLayer* layer, const GrSurfaceDesc& desc, bool* n // TODO: make the test for exact match depend on the image filters themselves SkAutoTUnref tex; if (layer->fFilter) { - tex.reset(fContext->textureProvider()->createTexture(desc, SkBudgeted::kYes)); + tex.reset(fContext->textureProvider()->createTexture(desc, true)); } else { tex.reset(fContext->textureProvider()->createApproxTexture(desc)); } diff --git a/src/gpu/GrResourceCache.cpp b/src/gpu/GrResourceCache.cpp index 005b6c4..4a0c9b2 100644 --- a/src/gpu/GrResourceCache.cpp +++ b/src/gpu/GrResourceCache.cpp @@ -136,7 +136,7 @@ void GrResourceCache::insertResource(GrGpuResource* resource) { fHighWaterCount = SkTMax(this->getResourceCount(), fHighWaterCount); fHighWaterBytes = SkTMax(fBytes, fHighWaterBytes); #endif - if (SkBudgeted::kYes == resource->resourcePriv().isBudgeted()) { + if (resource->resourcePriv().isBudgeted()) { ++fBudgetedCount; fBudgetedBytes += size; TRACE_COUNTER2(TRACE_DISABLED_BY_DEFAULT("skia.gpu.cache"), "skia budget", "used", @@ -167,7 +167,7 @@ void GrResourceCache::removeResource(GrGpuResource* resource) { size_t size = resource->gpuMemorySize(); SkDEBUGCODE(--fCount;) fBytes -= size; - if (SkBudgeted::kYes == resource->resourcePriv().isBudgeted()) { + if (resource->resourcePriv().isBudgeted()) { --fBudgetedCount; fBudgetedBytes -= size; TRACE_COUNTER2(TRACE_DISABLED_BY_DEFAULT("skia.gpu.cache"), "skia budget", "used", @@ -375,7 +375,7 @@ void GrResourceCache::notifyCntReachedZero(GrGpuResource* resource, uint32_t fla this->removeFromNonpurgeableArray(resource); fPurgeableQueue.insert(resource); - if (SkBudgeted::kNo == resource->resourcePriv().isBudgeted()) { + if (!resource->resourcePriv().isBudgeted()) { // Check whether this resource could still be used as a scratch resource. if (!resource->cacheAccess().isExternal() && resource->resourcePriv().getScratchKey().isValid()) { @@ -414,7 +414,7 @@ void GrResourceCache::didChangeGpuMemorySize(const GrGpuResource* resource, size #if GR_CACHE_STATS fHighWaterBytes = SkTMax(fBytes, fHighWaterBytes); #endif - if (SkBudgeted::kYes == resource->resourcePriv().isBudgeted()) { + if (resource->resourcePriv().isBudgeted()) { fBudgetedBytes += delta; TRACE_COUNTER2(TRACE_DISABLED_BY_DEFAULT("skia.gpu.cache"), "skia budget", "used", fBudgetedBytes, "free", fMaxBytes - fBudgetedBytes); @@ -433,7 +433,7 @@ void GrResourceCache::didChangeBudgetStatus(GrGpuResource* resource) { size_t size = resource->gpuMemorySize(); - if (SkBudgeted::kYes == resource->resourcePriv().isBudgeted()) { + if (resource->resourcePriv().isBudgeted()) { ++fBudgetedCount; fBudgetedBytes += size; #if GR_CACHE_STATS @@ -664,7 +664,7 @@ void GrResourceCache::validate() const { SkASSERT(fScratchMap->countForKey(resource->resourcePriv().getScratchKey())); SkASSERT(!resource->cacheAccess().isExternal()); } else if (resource->resourcePriv().getScratchKey().isValid()) { - SkASSERT(SkBudgeted::kNo == resource->resourcePriv().isBudgeted() || + SkASSERT(!resource->resourcePriv().isBudgeted() || resource->getUniqueKey().isValid()); ++fCouldBeScratch; SkASSERT(fScratchMap->countForKey(resource->resourcePriv().getScratchKey())); @@ -675,10 +675,10 @@ void GrResourceCache::validate() const { ++fContent; SkASSERT(fUniqueHash->find(uniqueKey) == resource); SkASSERT(!resource->cacheAccess().isExternal()); - SkASSERT(SkBudgeted::kYes == resource->resourcePriv().isBudgeted()); + SkASSERT(resource->resourcePriv().isBudgeted()); } - if (SkBudgeted::kYes == resource->resourcePriv().isBudgeted()) { + if (resource->resourcePriv().isBudgeted()) { ++fBudgetedCount; fBudgetedBytes += resource->gpuMemorySize(); } diff --git a/src/gpu/GrResourceCache.h b/src/gpu/GrResourceCache.h index 8321289..adbfb79 100644 --- a/src/gpu/GrResourceCache.h +++ b/src/gpu/GrResourceCache.h @@ -220,7 +220,7 @@ public: if (resource->cacheAccess().isAdopted()) { ++fAdopted; } - if (SkBudgeted::kNo == resource->resourcePriv().isBudgeted()) { + if (!resource->resourcePriv().isBudgeted()) { fUnbudgetedSize += resource->gpuMemorySize(); } } diff --git a/src/gpu/GrTest.cpp b/src/gpu/GrTest.cpp index dc14016..f082a86 100644 --- a/src/gpu/GrTest.cpp +++ b/src/gpu/GrTest.cpp @@ -74,8 +74,8 @@ void GrContext::getTestTarget(GrTestTarget* tar, GrRenderTarget* rt) { desc.fConfig = kRGBA_8888_GrPixelConfig; desc.fSampleCnt = 0; - SkAutoTUnref texture(this->textureProvider()->createTexture( - desc, SkBudgeted::kNo, nullptr, 0)); + SkAutoTUnref texture(this->textureProvider()->createTexture(desc, false, + nullptr, 0)); if (nullptr == texture) { return; } diff --git a/src/gpu/GrTextureParamsAdjuster.cpp b/src/gpu/GrTextureParamsAdjuster.cpp index a78987c..fd17d2a 100644 --- a/src/gpu/GrTextureParamsAdjuster.cpp +++ b/src/gpu/GrTextureParamsAdjuster.cpp @@ -63,8 +63,7 @@ static GrTexture* copy_on_gpu(GrTexture* inputTexture, const SkIRect* subset, } } - SkAutoTUnref copy(context->textureProvider()->createTexture(rtDesc, - SkBudgeted::kYes)); + SkAutoTUnref copy(context->textureProvider()->createTexture(rtDesc, true)); if (!copy) { return nullptr; } diff --git a/src/gpu/GrTextureProvider.cpp b/src/gpu/GrTextureProvider.cpp index 01c8a8e..7d720eb 100644 --- a/src/gpu/GrTextureProvider.cpp +++ b/src/gpu/GrTextureProvider.cpp @@ -29,7 +29,7 @@ GrTextureProvider::GrTextureProvider(GrGpu* gpu, GrResourceCache* cache, GrSingl { } -GrTexture* GrTextureProvider::createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted, +GrTexture* GrTextureProvider::createTexture(const GrSurfaceDesc& desc, bool budgeted, const void* srcData, size_t rowBytes) { ASSERT_SINGLE_OWNER if (this->isAbandoned()) { @@ -46,7 +46,7 @@ GrTexture* GrTextureProvider::createTexture(const GrSurfaceDesc& desc, SkBudgete if (GrTexture* texture = this->refScratchTexture(desc, kFlags)) { if (!srcData || texture->writePixels(0, 0, desc.fWidth, desc.fHeight, desc.fConfig, srcData, rowBytes)) { - if (SkBudgeted::kNo == budgeted) { + if (!budgeted) { texture->resourcePriv().makeUnbudgeted(); } return texture; @@ -117,7 +117,7 @@ GrTexture* GrTextureProvider::refScratchTexture(const GrSurfaceDesc& inDesc, } if (!(kNoCreate_ScratchTextureFlag & flags)) { - return fGpu->createTexture(*desc, SkBudgeted::kYes, nullptr, 0); + return fGpu->createTexture(*desc, true, nullptr, 0); } return nullptr; diff --git a/src/gpu/GrYUVProvider.cpp b/src/gpu/GrYUVProvider.cpp index f889641..844849a 100644 --- a/src/gpu/GrYUVProvider.cpp +++ b/src/gpu/GrYUVProvider.cpp @@ -98,7 +98,7 @@ GrTexture* GrYUVProvider::refAsTexture(GrContext* ctx, const GrSurfaceDesc& desc bool needsExactTexture = (yuvDesc.fWidth != yuvInfo.fSize[0].fWidth) || (yuvDesc.fHeight != yuvInfo.fSize[0].fHeight); if (needsExactTexture) { - yuvTextures[i].reset(ctx->textureProvider()->createTexture(yuvDesc, SkBudgeted::kYes)); + yuvTextures[i].reset(ctx->textureProvider()->createTexture(yuvDesc, true)); } else { yuvTextures[i].reset(ctx->textureProvider()->createApproxTexture(yuvDesc)); } @@ -112,8 +112,7 @@ GrTexture* GrYUVProvider::refAsTexture(GrContext* ctx, const GrSurfaceDesc& desc GrSurfaceDesc rtDesc = desc; rtDesc.fFlags = rtDesc.fFlags | kRenderTarget_GrSurfaceFlag; - SkAutoTUnref result(ctx->textureProvider()->createTexture(rtDesc, SkBudgeted::kYes, - nullptr, 0)); + SkAutoTUnref result(ctx->textureProvider()->createTexture(rtDesc, true, nullptr, 0)); if (!result) { return nullptr; } diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp index cf613a9..0b44a42 100644 --- a/src/gpu/SkGpuDevice.cpp +++ b/src/gpu/SkGpuDevice.cpp @@ -147,7 +147,7 @@ SkGpuDevice* SkGpuDevice::Create(GrRenderTarget* rt, int width, int height, return new SkGpuDevice(rt, width, height, props, flags); } -SkGpuDevice* SkGpuDevice::Create(GrContext* context, SkBudgeted budgeted, +SkGpuDevice* SkGpuDevice::Create(GrContext* context, SkSurface::Budgeted budgeted, const SkImageInfo& info, int sampleCount, const SkSurfaceProps* props, InitContents init, GrTextureStorageAllocator customAllocator) { @@ -185,7 +185,7 @@ SkGpuDevice::SkGpuDevice(GrRenderTarget* rt, int width, int height, } GrRenderTarget* SkGpuDevice::CreateRenderTarget( - GrContext* context, SkBudgeted budgeted, const SkImageInfo& origInfo, + GrContext* context, SkSurface::Budgeted budgeted, const SkImageInfo& origInfo, int sampleCount, GrTextureStorageAllocator textureStorageAllocator) { if (kUnknown_SkColorType == origInfo.colorType() || origInfo.width() < 0 || origInfo.height() < 0) { @@ -216,7 +216,8 @@ GrRenderTarget* SkGpuDevice::CreateRenderTarget( desc.fConfig = SkImageInfo2GrPixelConfig(info); desc.fSampleCnt = sampleCount; desc.fTextureStorageAllocator = textureStorageAllocator; - GrTexture* texture = context->textureProvider()->createTexture(desc, budgeted, nullptr, 0); + GrTexture* texture = context->textureProvider()->createTexture( + desc, SkToBool(budgeted), nullptr, 0); if (nullptr == texture) { return nullptr; } @@ -320,7 +321,9 @@ void SkGpuDevice::clearAll() { void SkGpuDevice::replaceRenderTarget(bool shouldRetainContent) { ASSERT_SINGLE_OWNER - SkBudgeted budgeted = fRenderTarget->resourcePriv().isBudgeted(); + SkSurface::Budgeted budgeted = + fRenderTarget->resourcePriv().isBudgeted() ? SkSurface::kYes_Budgeted + : SkSurface::kNo_Budgeted; SkAutoTUnref newRT(CreateRenderTarget( this->context(), budgeted, this->imageInfo(), fRenderTarget->desc().fSampleCnt, @@ -1781,7 +1784,7 @@ SkBaseDevice* SkGpuDevice::onCreateDevice(const CreateInfo& cinfo, const SkPaint if (kNever_TileUsage == cinfo.fTileUsage) { texture.reset(fContext->textureProvider()->createApproxTexture(desc)); } else { - texture.reset(fContext->textureProvider()->createTexture(desc, SkBudgeted::kYes)); + texture.reset(fContext->textureProvider()->createTexture(desc, true)); } if (texture) { @@ -1799,7 +1802,7 @@ SkBaseDevice* SkGpuDevice::onCreateDevice(const CreateInfo& cinfo, const SkPaint SkSurface* SkGpuDevice::newSurface(const SkImageInfo& info, const SkSurfaceProps& props) { ASSERT_SINGLE_OWNER // TODO: Change the signature of newSurface to take a budgeted parameter. - static const SkBudgeted kBudgeted = SkBudgeted::kNo; + static const SkSurface::Budgeted kBudgeted = SkSurface::kNo_Budgeted; return SkSurface::NewRenderTarget(fContext, kBudgeted, info, fRenderTarget->desc().fSampleCnt, &props); } diff --git a/src/gpu/SkGpuDevice.h b/src/gpu/SkGpuDevice.h index 8fae408..ec3e158 100644 --- a/src/gpu/SkGpuDevice.h +++ b/src/gpu/SkGpuDevice.h @@ -52,7 +52,7 @@ public: * sampleCount. The Budgeted param controls whether the device's backing store counts against * the resource cache budget. On failure, returns nullptr. */ - static SkGpuDevice* Create(GrContext*, SkBudgeted, const SkImageInfo&, + static SkGpuDevice* Create(GrContext*, SkSurface::Budgeted, const SkImageInfo&, int sampleCount, const SkSurfaceProps*, InitContents, GrTextureStorageAllocator = GrTextureStorageAllocator()); @@ -256,7 +256,7 @@ private: bool drawDashLine(const SkPoint pts[2], const SkPaint& paint); - static GrRenderTarget* CreateRenderTarget(GrContext*, SkBudgeted, const SkImageInfo&, + static GrRenderTarget* CreateRenderTarget(GrContext*, SkSurface::Budgeted, const SkImageInfo&, int sampleCount, GrTextureStorageAllocator); friend class GrAtlasTextContext; diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp index 85f36d9..df65e45 100644 --- a/src/gpu/SkGr.cpp +++ b/src/gpu/SkGr.cpp @@ -212,7 +212,7 @@ static GrTexture* load_etc1_texture(GrContext* ctx, const SkBitmap &bm, GrSurfac return nullptr; } - return ctx->textureProvider()->createTexture(desc, SkBudgeted::kYes, startOfTexData, 0); + return ctx->textureProvider()->createTexture(desc, true, startOfTexData, 0); } GrTexture* GrUploadBitmapToTexture(GrContext* ctx, const SkBitmap& bmp) { @@ -233,7 +233,7 @@ GrTexture* GrUploadBitmapToTexture(GrContext* ctx, const SkBitmap& bmp) { // our compressed data will be trimmed, so pass width() for its // "rowBytes", since they are the same now. - return ctx->textureProvider()->createTexture(desc, SkBudgeted::kYes, storage.get(), + return ctx->textureProvider()->createTexture(desc, true, storage.get(), bitmap->width()); } else { bmp.copyTo(&tmpBitmap, kN32_SkColorType); @@ -265,7 +265,7 @@ GrTexture* GrUploadBitmapToTexture(GrContext* ctx, const SkBitmap& bmp) { return nullptr; } - return ctx->textureProvider()->createTexture(desc, SkBudgeted::kYes, bitmap->getPixels(), + return ctx->textureProvider()->createTexture(desc, true, bitmap->getPixels(), bitmap->rowBytes()); } diff --git a/src/gpu/SkGrPixelRef.cpp b/src/gpu/SkGrPixelRef.cpp index 6b75e63..e48cbf5 100644 --- a/src/gpu/SkGrPixelRef.cpp +++ b/src/gpu/SkGrPixelRef.cpp @@ -78,7 +78,7 @@ static SkGrPixelRef* copy_to_new_texture_pixelref(GrTexture* texture, SkColorTyp desc.fConfig = SkImageInfo2GrPixelConfig(dstCT, kPremul_SkAlphaType, dstPT); desc.fTextureStorageAllocator = texture->desc().fTextureStorageAllocator; - GrTexture* dst = context->textureProvider()->createTexture(desc, SkBudgeted::kNo, nullptr, 0); + GrTexture* dst = context->textureProvider()->createTexture(desc, false, nullptr, 0); if (nullptr == dst) { return nullptr; } diff --git a/src/gpu/effects/GrConfigConversionEffect.cpp b/src/gpu/effects/GrConfigConversionEffect.cpp index 2725e56..4e168cd 100644 --- a/src/gpu/effects/GrConfigConversionEffect.cpp +++ b/src/gpu/effects/GrConfigConversionEffect.cpp @@ -176,19 +176,16 @@ void GrConfigConversionEffect::TestForPreservingPMConversions(GrContext* context desc.fHeight = 256; desc.fConfig = kRGBA_8888_GrPixelConfig; - SkAutoTUnref readTex(context->textureProvider()->createTexture( - desc, SkBudgeted::kYes, nullptr, 0)); + SkAutoTUnref readTex(context->textureProvider()->createTexture(desc, true, nullptr, 0)); if (!readTex.get()) { return; } - SkAutoTUnref tempTex(context->textureProvider()->createTexture( - desc, SkBudgeted::kYes, nullptr, 0)); + SkAutoTUnref tempTex(context->textureProvider()->createTexture(desc, true, nullptr, 0)); if (!tempTex.get()) { return; } desc.fFlags = kNone_GrSurfaceFlags; - SkAutoTUnref dataTex(context->textureProvider()->createTexture( - desc, SkBudgeted::kYes, data, 0)); + SkAutoTUnref dataTex(context->textureProvider()->createTexture(desc, true, data, 0)); if (!dataTex.get()) { return; } diff --git a/src/gpu/effects/GrTextureStripAtlas.cpp b/src/gpu/effects/GrTextureStripAtlas.cpp index 01d2679..39bc389 100644 --- a/src/gpu/effects/GrTextureStripAtlas.cpp +++ b/src/gpu/effects/GrTextureStripAtlas.cpp @@ -203,8 +203,7 @@ void GrTextureStripAtlas::lockTexture() { fTexture = fDesc.fContext->textureProvider()->findAndRefTextureByUniqueKey(key); if (nullptr == fTexture) { - fTexture = fDesc.fContext->textureProvider()->createTexture(texDesc, SkBudgeted::kYes, - nullptr, 0); + fTexture = fDesc.fContext->textureProvider()->createTexture(texDesc, true, nullptr, 0); if (!fTexture) { return; } diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp index 8e6fbad..1070f53 100644 --- a/src/gpu/gl/GrGLGpu.cpp +++ b/src/gpu/gl/GrGLGpu.cpp @@ -2197,7 +2197,7 @@ bool GrGLGpu::readPixelsSupported(GrPixelConfig rtConfig, GrPixelConfig readConf desc.fConfig = rtConfig; desc.fWidth = desc.fHeight = 16; desc.fFlags = kRenderTarget_GrSurfaceFlag; - SkAutoTUnref temp(this->createTexture(desc, SkBudgeted::kNo, nullptr, 0)); + SkAutoTUnref temp(this->createTexture(desc, false, nullptr, 0)); if (!temp) { return false; } diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp index 5521b6e..e6ea9bd 100644 --- a/src/image/SkImage.cpp +++ b/src/image/SkImage.cpp @@ -288,7 +288,8 @@ SkImage* SkImage::NewFromBitmap(const SkBitmap& bm) { if (GrTexture* tex = pr->getTexture()) { SkAutoTUnref unrefCopy; if (!bm.isImmutable()) { - tex = GrDeepCopyTexture(tex, SkBudgeted::kNo); + const bool notBudgeted = false; + tex = GrDeepCopyTexture(tex, notBudgeted); if (nullptr == tex) { return nullptr; } @@ -296,7 +297,7 @@ SkImage* SkImage::NewFromBitmap(const SkBitmap& bm) { } const SkImageInfo info = bm.info(); return new SkImage_Gpu(info.width(), info.height(), bm.getGenerationID(), info.alphaType(), - tex, SkBudgeted::kNo); + tex, SkSurface::kNo_Budgeted); } #endif diff --git a/src/image/SkImagePriv.h b/src/image/SkImagePriv.h index acd0beb..7518bbe 100644 --- a/src/image/SkImagePriv.h +++ b/src/image/SkImagePriv.h @@ -56,6 +56,6 @@ extern void SkTextureImageApplyBudgetedDecision(SkImage* textureImage); // surface needs to perform a copy-on-write extern void SkTextureImageSetTexture(SkImage* image, GrTexture* texture); -GrTexture* GrDeepCopyTexture(GrTexture* src, SkBudgeted); +GrTexture* GrDeepCopyTexture(GrTexture* src, bool isBudgeted); #endif diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp index e28a31d..c502fc0 100644 --- a/src/image/SkImage_Gpu.cpp +++ b/src/image/SkImage_Gpu.cpp @@ -20,7 +20,7 @@ #include "SkPixelRef.h" SkImage_Gpu::SkImage_Gpu(int w, int h, uint32_t uniqueID, SkAlphaType at, GrTexture* tex, - SkBudgeted budgeted) + SkSurface::Budgeted budgeted) : INHERITED(w, h, uniqueID) , fTexture(SkRef(tex)) , fAlphaType(at) @@ -140,7 +140,8 @@ SkImage* SkImage_Gpu::onNewSubset(const SkIRect& subset) const { desc.fWidth = subset.width(); desc.fHeight = subset.height(); - GrTexture* subTx = ctx->textureProvider()->createTexture(desc, fBudgeted); + GrTexture* subTx = ctx->textureProvider()->createTexture(desc, + SkSurface::kYes_Budgeted == fBudgeted); if (!subTx) { return nullptr; } @@ -166,7 +167,7 @@ static SkImage* new_wrapped_texture_common(GrContext* ctx, const GrBackendTextur tex->setRelease(releaseProc, releaseCtx); } - const SkBudgeted budgeted = SkBudgeted::kNo; + const SkSurface::Budgeted budgeted = SkSurface::kNo_Budgeted; return new SkImage_Gpu(desc.fWidth, desc.fHeight, kNeedNewImageUniqueID, at, tex, budgeted); } @@ -192,20 +193,22 @@ SkImage* SkImage::NewFromTextureCopy(GrContext* ctx, const GrBackendTextureDesc& return nullptr; } - SkAutoTUnref dst(GrDeepCopyTexture(src, SkBudgeted::kYes)); + const bool isBudgeted = true; + SkAutoTUnref dst(GrDeepCopyTexture(src, isBudgeted)); if (!dst) { return nullptr; } + const SkSurface::Budgeted budgeted = SkSurface::kYes_Budgeted; return new SkImage_Gpu(desc.fWidth, desc.fHeight, kNeedNewImageUniqueID, at, dst, - SkBudgeted::kYes); + budgeted); } SkImage* SkImage::NewFromYUVTexturesCopy(GrContext* ctx , SkYUVColorSpace colorSpace, const GrBackendObject yuvTextureHandles[3], const SkISize yuvSizes[3], GrSurfaceOrigin origin) { - const SkBudgeted budgeted = SkBudgeted::kYes; + const SkSurface::Budgeted budgeted = SkSurface::kYes_Budgeted; if (yuvSizes[0].fWidth <= 0 || yuvSizes[0].fHeight <= 0 || yuvSizes[1].fWidth <= 0 || yuvSizes[1].fHeight <= 0 || @@ -256,7 +259,7 @@ SkImage* SkImage::NewFromYUVTexturesCopy(GrContext* ctx , SkYUVColorSpace colorS dstDesc.fConfig = kRGBA_8888_GrPixelConfig; dstDesc.fSampleCnt = 0; - SkAutoTUnref dst(ctx->textureProvider()->createTexture(dstDesc, SkBudgeted::kYes)); + SkAutoTUnref dst(ctx->textureProvider()->createTexture(dstDesc, true)); if (!dst) { return nullptr; } @@ -285,7 +288,7 @@ static SkImage* create_image_from_maker(GrTextureMaker* maker, SkAlphaType at, u return nullptr; } return new SkImage_Gpu(texture->width(), texture->height(), id, at, texture, - SkBudgeted::kNo); + SkSurface::kNo_Budgeted); } SkImage* SkImage::newTextureImage(GrContext *context) const { @@ -312,7 +315,7 @@ SkImage* SkImage::newTextureImage(GrContext *context) const { /////////////////////////////////////////////////////////////////////////////////////////////////// -GrTexture* GrDeepCopyTexture(GrTexture* src, SkBudgeted budgeted) { +GrTexture* GrDeepCopyTexture(GrTexture* src, bool budgeted) { GrContext* ctx = src->getContext(); GrSurfaceDesc desc = src->desc(); diff --git a/src/image/SkImage_Gpu.h b/src/image/SkImage_Gpu.h index d4640d4..a36c8eb 100644 --- a/src/image/SkImage_Gpu.h +++ b/src/image/SkImage_Gpu.h @@ -22,13 +22,13 @@ public: * An "image" can be a subset/window into a larger texture, so we explicit take the * width and height. */ - SkImage_Gpu(int w, int h, uint32_t uniqueID, SkAlphaType, GrTexture*, SkBudgeted); + SkImage_Gpu(int w, int h, uint32_t uniqueID, SkAlphaType, GrTexture*, SkSurface::Budgeted); ~SkImage_Gpu() override; void applyBudgetDecision() const { GrTexture* tex = this->getTexture(); SkASSERT(tex); - if (SkBudgeted::kYes == fBudgeted) { + if (fBudgeted) { tex->resourcePriv().makeBudgeted(); } else { tex->resourcePriv().makeUnbudgeted(); @@ -45,7 +45,7 @@ public: int srcX, int srcY, CachingHint) const override; SkSurface* onNewSurface(const SkImageInfo& info) const override { - return SkSurface::NewRenderTarget(fTexture->getContext(), SkBudgeted::kNo, info); + return SkSurface::NewRenderTarget(fTexture->getContext(), SkSurface::kNo_Budgeted, info); } bool asBitmapForImageFilters(SkBitmap* bitmap) const override; @@ -53,7 +53,7 @@ public: private: SkAutoTUnref fTexture; const SkAlphaType fAlphaType; - const SkBudgeted fBudgeted; + const SkSurface::Budgeted fBudgeted; mutable SkAtomic fAddedRasterVersionToCache; diff --git a/src/image/SkSurface.cpp b/src/image/SkSurface.cpp index b018ef9..4fc9045 100644 --- a/src/image/SkSurface.cpp +++ b/src/image/SkSurface.cpp @@ -79,7 +79,7 @@ SkSurface_Base::~SkSurface_Base() { } void SkSurface_Base::onDraw(SkCanvas* canvas, SkScalar x, SkScalar y, const SkPaint* paint) { - SkImage* image = this->newImageSnapshot(SkBudgeted::kYes); + SkImage* image = this->newImageSnapshot(kYes_Budgeted); if (image) { canvas->drawImage(image, x, y, paint); image->unref(); @@ -163,12 +163,12 @@ SkCanvas* SkSurface::getCanvas() { return asSB(this)->getCachedCanvas(); } -SkImage* SkSurface::newImageSnapshot(SkBudgeted budgeted) { +SkImage* SkSurface::newImageSnapshot(Budgeted budgeted) { // the caller will call unref() to balance this return asSB(this)->refCachedImage(budgeted, kNo_ForceUnique); } -SkImage* SkSurface::newImageSnapshot(SkBudgeted budgeted, ForceUnique unique) { +SkImage* SkSurface::newImageSnapshot(Budgeted budgeted, ForceUnique unique) { // the caller will call unref() to balance this return asSB(this)->refCachedImage(budgeted, unique); } @@ -211,7 +211,7 @@ SkSurface* SkSurface::NewRenderTargetDirect(GrRenderTarget*, const SkSurfaceProp return nullptr; } -SkSurface* SkSurface::NewRenderTarget(GrContext*, SkBudgeted, const SkImageInfo&, int, +SkSurface* SkSurface::NewRenderTarget(GrContext*, Budgeted, const SkImageInfo&, int, const SkSurfaceProps*, GrTextureStorageAllocator) { return nullptr; } diff --git a/src/image/SkSurface_Base.h b/src/image/SkSurface_Base.h index 0519a9b..159780b 100644 --- a/src/image/SkSurface_Base.h +++ b/src/image/SkSurface_Base.h @@ -43,7 +43,7 @@ public: * must faithfully represent the current contents, even if the surface * is changed after this called (e.g. it is drawn to via its canvas). */ - virtual SkImage* onNewImageSnapshot(SkBudgeted, ForceCopyMode) = 0; + virtual SkImage* onNewImageSnapshot(Budgeted, ForceCopyMode) = 0; /** * Default implementation: @@ -81,7 +81,7 @@ public: virtual void onPrepareForExternalIO() {} inline SkCanvas* getCachedCanvas(); - inline SkImage* refCachedImage(SkBudgeted, ForceUnique); + inline SkImage* refCachedImage(Budgeted, ForceUnique); bool hasCachedImage() const { return fCachedImage != nullptr; } @@ -114,7 +114,7 @@ SkCanvas* SkSurface_Base::getCachedCanvas() { return fCachedCanvas; } -SkImage* SkSurface_Base::refCachedImage(SkBudgeted budgeted, ForceUnique unique) { +SkImage* SkSurface_Base::refCachedImage(Budgeted budgeted, ForceUnique unique) { SkImage* snap = fCachedImage; if (kYes_ForceUnique == unique && snap && !snap->unique()) { snap = nullptr; diff --git a/src/image/SkSurface_Gpu.cpp b/src/image/SkSurface_Gpu.cpp index 5345cee..d154463 100644 --- a/src/image/SkSurface_Gpu.cpp +++ b/src/image/SkSurface_Gpu.cpp @@ -72,12 +72,12 @@ SkSurface* SkSurface_Gpu::onNewSurface(const SkImageInfo& info) { GrRenderTarget* rt = fDevice->accessRenderTarget(); int sampleCount = rt->numColorSamples(); // TODO: Make caller specify this (change virtual signature of onNewSurface). - static const SkBudgeted kBudgeted = SkBudgeted::kNo; + static const Budgeted kBudgeted = kNo_Budgeted; return SkSurface::NewRenderTarget(fDevice->context(), kBudgeted, info, sampleCount, &this->props()); } -SkImage* SkSurface_Gpu::onNewImageSnapshot(SkBudgeted budgeted, ForceCopyMode forceCopyMode) { +SkImage* SkSurface_Gpu::onNewImageSnapshot(Budgeted budgeted, ForceCopyMode forceCopyMode) { GrRenderTarget* rt = fDevice->accessRenderTarget(); SkASSERT(rt); GrTexture* tex = rt->asTexture(); @@ -87,7 +87,7 @@ SkImage* SkSurface_Gpu::onNewImageSnapshot(SkBudgeted budgeted, ForceCopyMode fo GrSurfaceDesc desc = fDevice->accessRenderTarget()->desc(); GrContext* ctx = fDevice->context(); desc.fFlags = desc.fFlags & ~kRenderTarget_GrSurfaceFlag; - copy.reset(ctx->textureProvider()->createTexture(desc, budgeted)); + copy.reset(ctx->textureProvider()->createTexture(desc, kYes_Budgeted == budgeted)); if (!copy) { return nullptr; } @@ -112,7 +112,7 @@ void SkSurface_Gpu::onCopyOnWrite(ContentChangeMode mode) { GrRenderTarget* rt = fDevice->accessRenderTarget(); // are we sharing our render target with the image? Note this call should never create a new // image because onCopyOnWrite is only called when there is a cached image. - SkAutoTUnref image(this->refCachedImage(SkBudgeted::kNo, kNo_ForceUnique)); + SkAutoTUnref image(this->refCachedImage(kNo_Budgeted, kNo_ForceUnique)); SkASSERT(image); if (rt->asTexture() == as_IB(image)->getTexture()) { this->fDevice->replaceRenderTarget(SkSurface::kRetain_ContentChangeMode == mode); @@ -141,7 +141,7 @@ SkSurface* SkSurface::NewRenderTargetDirect(GrRenderTarget* target, const SkSurf return new SkSurface_Gpu(device); } -SkSurface* SkSurface::NewRenderTarget(GrContext* ctx, SkBudgeted budgeted, const SkImageInfo& info, +SkSurface* SkSurface::NewRenderTarget(GrContext* ctx, Budgeted budgeted, const SkImageInfo& info, int sampleCount, const SkSurfaceProps* props, GrTextureStorageAllocator customAllocator) { SkAutoTUnref device(SkGpuDevice::Create( diff --git a/src/image/SkSurface_Gpu.h b/src/image/SkSurface_Gpu.h index 72e9caf..dff7970 100644 --- a/src/image/SkSurface_Gpu.h +++ b/src/image/SkSurface_Gpu.h @@ -23,7 +23,7 @@ public: bool onGetRenderTargetHandle(GrBackendObject*, BackendHandleAccess) override; SkCanvas* onNewCanvas() override; SkSurface* onNewSurface(const SkImageInfo&) override; - SkImage* onNewImageSnapshot(SkBudgeted, ForceCopyMode) override; + SkImage* onNewImageSnapshot(Budgeted, ForceCopyMode) override; void onCopyOnWrite(ContentChangeMode) override; void onDiscard() override; void onPrepareForExternalIO() override; diff --git a/src/image/SkSurface_Raster.cpp b/src/image/SkSurface_Raster.cpp index d07e949..37790a0 100644 --- a/src/image/SkSurface_Raster.cpp +++ b/src/image/SkSurface_Raster.cpp @@ -24,7 +24,7 @@ public: SkCanvas* onNewCanvas() override; SkSurface* onNewSurface(const SkImageInfo&) override; - SkImage* onNewImageSnapshot(SkBudgeted, ForceCopyMode) override; + SkImage* onNewImageSnapshot(Budgeted, ForceCopyMode) override; void onDraw(SkCanvas*, SkScalar x, SkScalar y, const SkPaint*) override; void onCopyOnWrite(ContentChangeMode) override; void onRestoreBackingMutability() override; @@ -118,7 +118,7 @@ void SkSurface_Raster::onDraw(SkCanvas* canvas, SkScalar x, SkScalar y, canvas->drawBitmap(fBitmap, x, y, paint); } -SkImage* SkSurface_Raster::onNewImageSnapshot(SkBudgeted, ForceCopyMode forceCopyMode) { +SkImage* SkSurface_Raster::onNewImageSnapshot(Budgeted, ForceCopyMode forceCopyMode) { if (fWeOwnThePixels) { // SkImage_raster requires these pixels are immutable for its full lifetime. // We'll undo this via onRestoreBackingMutability() if we can avoid the COW. @@ -143,7 +143,7 @@ void SkSurface_Raster::onRestoreBackingMutability() { void SkSurface_Raster::onCopyOnWrite(ContentChangeMode mode) { // are we sharing pixelrefs with the image? - SkAutoTUnref cached(this->refCachedImage(SkBudgeted::kNo, kNo_ForceUnique)); + SkAutoTUnref cached(this->refCachedImage(kNo_Budgeted, kNo_ForceUnique)); SkASSERT(cached); if (SkBitmapImageGetPixelRef(cached) == fBitmap.pixelRef()) { SkASSERT(fWeOwnThePixels); diff --git a/src/utils/SkImageGeneratorUtils.cpp b/src/utils/SkImageGeneratorUtils.cpp index ebffb30..928d052 100644 --- a/src/utils/SkImageGeneratorUtils.cpp +++ b/src/utils/SkImageGeneratorUtils.cpp @@ -69,7 +69,7 @@ protected: desc.fWidth = subset->width(); desc.fHeight = subset->height(); - GrTexture* dst = fCtx->textureProvider()->createTexture(desc, SkBudgeted::kNo); + GrTexture* dst = fCtx->textureProvider()->createTexture(desc, false); fCtx->copySurface(dst, fTexture, *subset, SkIPoint::Make(0, 0)); return dst; } diff --git a/tests/BitmapCopyTest.cpp b/tests/BitmapCopyTest.cpp index 5793284..70998bd 100644 --- a/tests/BitmapCopyTest.cpp +++ b/tests/BitmapCopyTest.cpp @@ -667,7 +667,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(BitmapCopy_Texture, reporter, ctx) { const void* srcData = (kSkia8888_GrPixelConfig == desc.fConfig) ? kData : swizData; SkAutoTUnref texture( - ctx->textureProvider()->createTexture(desc, SkBudgeted::kNo, srcData, 0)); + ctx->textureProvider()->createTexture(desc, false, srcData, 0)); if (!texture) { continue; diff --git a/tests/BlurTest.cpp b/tests/BlurTest.cpp index 30f218a..9806611 100644 --- a/tests/BlurTest.cpp +++ b/tests/BlurTest.cpp @@ -565,7 +565,7 @@ DEF_TEST(BlurAsABlur, reporter) { DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SmallBoxBlurBug, reporter, ctx) { SkImageInfo info = SkImageInfo::MakeN32Premul(128, 128); - SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkBudgeted::kNo, info)); + SkAutoTUnref surface(SkSurface::NewRenderTarget(ctx, SkSurface::kNo_Budgeted, info)); SkCanvas* canvas = surface->getCanvas(); SkRect r = SkRect::MakeXYWH(10, 10, 100, 100); diff --git a/tests/ClearTest.cpp b/tests/ClearTest.cpp index df15208..a36c439 100644 --- a/tests/ClearTest.cpp +++ b/tests/ClearTest.cpp @@ -55,7 +55,7 @@ static bool reset_dc(SkAutoTUnref* dc, SkAutoTUnref* r desc.fConfig = kRGBA_8888_GrPixelConfig; desc.fFlags = kRenderTarget_GrSurfaceFlag; - rtKeepAlive->reset(context->textureProvider()->createTexture(desc, SkBudgeted::kYes)); + rtKeepAlive->reset(context->textureProvider()->createTexture(desc, true)); if (!(*rtKeepAlive)) { return false; } diff --git a/tests/ClipBoundsTest.cpp b/tests/ClipBoundsTest.cpp index b5b9cae..c59d5a5 100644 --- a/tests/ClipBoundsTest.cpp +++ b/tests/ClipBoundsTest.cpp @@ -25,7 +25,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(GrClipBounds, reporter, context) { desc.fHeight = kYSize; SkAutoTUnref texture( - context->textureProvider()->createTexture(desc, SkBudgeted::kYes, nullptr, 0)); + context->textureProvider()->createTexture(desc, false, nullptr, 0)); if (!texture) { return; } diff --git a/tests/CopySurfaceTest.cpp b/tests/CopySurfaceTest.cpp index 3740f6e..4b64537 100644 --- a/tests/CopySurfaceTest.cpp +++ b/tests/CopySurfaceTest.cpp @@ -68,11 +68,11 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(CopySurface, reporter, context) { dstDesc.fFlags = dFlags; SkAutoTUnref src( - context->textureProvider()->createTexture(srcDesc, SkBudgeted::kNo, + context->textureProvider()->createTexture(srcDesc, false, srcPixels.get(), kRowBytes)); SkAutoTUnref dst( - context->textureProvider()->createTexture(dstDesc, SkBudgeted::kNo, + context->textureProvider()->createTexture(dstDesc, false, dstPixels.get(), kRowBytes)); if (!src || !dst) { diff --git a/tests/EGLImageTest.cpp b/tests/EGLImageTest.cpp index 637055b..fdae3b3 100644 --- a/tests/EGLImageTest.cpp +++ b/tests/EGLImageTest.cpp @@ -73,8 +73,7 @@ static void test_copy_surface(skiatest::Reporter* reporter, GrContext* context, copyDesc.fWidth = externalTexture->width(); copyDesc.fHeight = externalTexture->height(); copyDesc.fFlags = kRenderTarget_GrSurfaceFlag; - SkAutoTUnref copy(context->textureProvider()->createTexture( - copyDesc, SkBudgeted::kYes)); + SkAutoTUnref copy(context->textureProvider()->createTexture(copyDesc, true)); context->copySurface(copy, externalTexture); test_read_pixels(reporter, context, copy, expectedPixelValues); } diff --git a/tests/FloatingPointTextureTest.cpp b/tests/FloatingPointTextureTest.cpp index 3a8d63c..04f73c7 100644 --- a/tests/FloatingPointTextureTest.cpp +++ b/tests/FloatingPointTextureTest.cpp @@ -46,7 +46,7 @@ void runFPTest(skiatest::Reporter* reporter, GrContext* context, desc.fOrigin = 0 == origin ? kTopLeft_GrSurfaceOrigin : kBottomLeft_GrSurfaceOrigin; SkAutoTUnref fpTexture(context->textureProvider()->createTexture( - desc, SkBudgeted::kNo, controlPixelData.begin(), 0)); + desc, false, controlPixelData.begin(), 0)); // Floating point textures are NOT supported everywhere if (nullptr == fpTexture) { continue; diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp index 7440608..81d1013 100644 --- a/tests/GLProgramsTest.cpp +++ b/tests/GLProgramsTest.cpp @@ -170,7 +170,7 @@ static GrRenderTarget* random_render_target(GrTextureProvider* textureProvider, GrTexture* texture = textureProvider->findAndRefTextureByUniqueKey(key); if (!texture) { - texture = textureProvider->createTexture(texDesc, SkBudgeted::kYes); + texture = textureProvider->createTexture(texDesc, true); if (texture) { textureProvider->assignUniqueKeyToTexture(key, texture); } @@ -310,13 +310,13 @@ bool GrDrawingManager::ProgramUnitTest(GrContext* context, int maxStages) { dummyDesc.fWidth = 34; dummyDesc.fHeight = 18; SkAutoTUnref dummyTexture1( - context->textureProvider()->createTexture(dummyDesc, SkBudgeted::kNo, nullptr, 0)); + context->textureProvider()->createTexture(dummyDesc, false, nullptr, 0)); dummyDesc.fFlags = kNone_GrSurfaceFlags; dummyDesc.fConfig = kAlpha_8_GrPixelConfig; dummyDesc.fWidth = 16; dummyDesc.fHeight = 22; SkAutoTUnref dummyTexture2( - context->textureProvider()->createTexture(dummyDesc, SkBudgeted::kNo, nullptr, 0)); + context->textureProvider()->createTexture(dummyDesc, false, nullptr, 0)); if (!dummyTexture1 || ! dummyTexture2) { SkDebugf("Could not allocate dummy textures"); @@ -373,7 +373,7 @@ bool GrDrawingManager::ProgramUnitTest(GrContext* context, int maxStages) { rtDesc.fFlags = kRenderTarget_GrSurfaceFlag; rtDesc.fConfig = kRGBA_8888_GrPixelConfig; SkAutoTUnref rt( - context->textureProvider()->createTexture(rtDesc, SkBudgeted::kNo)->asRenderTarget()); + context->textureProvider()->createTexture(rtDesc, false)->asRenderTarget()); int fpFactoryCnt = GrProcessorTestFactory::Count(); for (int i = 0; i < fpFactoryCnt; ++i) { // Since FP factories internally randomize, call each 10 times. diff --git a/tests/GpuDrawPathTest.cpp b/tests/GpuDrawPathTest.cpp index d454d9b..b0d483b 100644 --- a/tests/GpuDrawPathTest.cpp +++ b/tests/GpuDrawPathTest.cpp @@ -82,7 +82,7 @@ DEF_GPUTEST_FOR_ALL_CONTEXTS(GpuDrawPath, reporter, context) { for (auto& sampleCount : {0, 4, 16}) { SkImageInfo info = SkImageInfo::MakeN32Premul(255, 255); SkAutoTUnref surface( - SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info, + SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info, sampleCount, nullptr)); if (!surface) { continue; diff --git a/tests/GrSurfaceTest.cpp b/tests/GrSurfaceTest.cpp index ac0b399..4b7dbd3 100644 --- a/tests/GrSurfaceTest.cpp +++ b/tests/GrSurfaceTest.cpp @@ -25,8 +25,7 @@ DEF_GPUTEST_FOR_NULL_CONTEXT(GrSurface, reporter, context) { desc.fWidth = 256; desc.fHeight = 256; desc.fSampleCnt = 0; - GrSurface* texRT1 = context->textureProvider()->createTexture( - desc, SkBudgeted::kNo, nullptr, 0); + GrSurface* texRT1 = context->textureProvider()->createTexture(desc, false, nullptr, 0); REPORTER_ASSERT(reporter, texRT1 == texRT1->asRenderTarget()); REPORTER_ASSERT(reporter, texRT1 == texRT1->asTexture()); @@ -38,7 +37,7 @@ DEF_GPUTEST_FOR_NULL_CONTEXT(GrSurface, reporter, context) { static_cast(texRT1->asTexture())); desc.fFlags = kNone_GrSurfaceFlags; - GrSurface* tex1 = context->textureProvider()->createTexture(desc, SkBudgeted::kNo, nullptr, 0); + GrSurface* tex1 = context->textureProvider()->createTexture(desc, false, nullptr, 0); REPORTER_ASSERT(reporter, nullptr == tex1->asRenderTarget()); REPORTER_ASSERT(reporter, tex1 == tex1->asTexture()); REPORTER_ASSERT(reporter, static_cast(tex1) == tex1->asTexture()); diff --git a/tests/GrTextureMipMapInvalidationTest.cpp b/tests/GrTextureMipMapInvalidationTest.cpp index b047550..e0a1282 100644 --- a/tests/GrTextureMipMapInvalidationTest.cpp +++ b/tests/GrTextureMipMapInvalidationTest.cpp @@ -26,10 +26,8 @@ DEF_GPUTEST_FOR_NULL_CONTEXT(GrTextureMipMapInvalidationTest, reporter, context) desc.fWidth = 256; desc.fHeight = 256; desc.fSampleCnt = 0; - GrSurface* texRT1 = context->textureProvider()->createTexture( - desc, SkBudgeted::kNo, nullptr, 0); - GrSurface* texRT2 = context->textureProvider()->createTexture( - desc, SkBudgeted::kNo, nullptr, 0); + GrSurface* texRT1 = context->textureProvider()->createTexture(desc, false, nullptr, 0); + GrSurface* texRT2 = context->textureProvider()->createTexture(desc, false, nullptr, 0); REPORTER_ASSERT(reporter, nullptr != texRT1); REPORTER_ASSERT(reporter, nullptr != texRT2); GrTexture* tex = texRT1->asTexture(); diff --git a/tests/ImageFilterCacheTest.cpp b/tests/ImageFilterCacheTest.cpp index 3494011..74c56df 100644 --- a/tests/ImageFilterCacheTest.cpp +++ b/tests/ImageFilterCacheTest.cpp @@ -184,7 +184,7 @@ static GrTexture* create_texture(GrContext* context) { desc.fWidth = kFullSize; desc.fHeight = kFullSize; - return context->textureProvider()->createTexture(desc, SkBudgeted::kNo, srcBM.getPixels(), 0); + return context->textureProvider()->createTexture(desc, false, srcBM.getPixels(), 0); } DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ImageFilterCache_ImageBackedGPU, reporter, context) { diff --git a/tests/ImageFilterTest.cpp b/tests/ImageFilterTest.cpp index 89c069c..60480ec 100644 --- a/tests/ImageFilterTest.cpp +++ b/tests/ImageFilterTest.cpp @@ -1329,7 +1329,7 @@ DEF_GPUTEST_FOR_NATIVE_CONTEXT(ImageFilterCropRect_Gpu, reporter, context) { const SkSurfaceProps props(SkSurfaceProps::kLegacyFontHost_InitType); SkAutoTUnref device(SkGpuDevice::Create(context, - SkBudgeted::kNo, + SkSurface::kNo_Budgeted, SkImageInfo::MakeN32Premul(100, 100), 0, &props, @@ -1343,7 +1343,7 @@ DEF_GPUTEST_FOR_NATIVE_CONTEXT(HugeBlurImageFilter_Gpu, reporter, context) { const SkSurfaceProps props(SkSurfaceProps::kLegacyFontHost_InitType); SkAutoTUnref device(SkGpuDevice::Create(context, - SkBudgeted::kNo, + SkSurface::kNo_Budgeted, SkImageInfo::MakeN32Premul(100, 100), 0, &props, @@ -1357,7 +1357,7 @@ DEF_GPUTEST_FOR_NATIVE_CONTEXT(XfermodeImageFilterCroppedInput_Gpu, reporter, co const SkSurfaceProps props(SkSurfaceProps::kLegacyFontHost_InitType); SkAutoTUnref device(SkGpuDevice::Create(context, - SkBudgeted::kNo, + SkSurface::kNo_Budgeted, SkImageInfo::MakeN32Premul(1, 1), 0, &props, @@ -1371,7 +1371,7 @@ DEF_GPUTEST_FOR_NATIVE_CONTEXT(TestNegativeBlurSigma_Gpu, reporter, context) { const SkSurfaceProps props(SkSurfaceProps::kLegacyFontHost_InitType); SkAutoTUnref device(SkGpuDevice::Create(context, - SkBudgeted::kNo, + SkSurface::kNo_Budgeted, SkImageInfo::MakeN32Premul(1, 1), 0, &props, @@ -1383,7 +1383,7 @@ DEF_GPUTEST_FOR_NATIVE_CONTEXT(TestNegativeBlurSigma_Gpu, reporter, context) { DEF_GPUTEST_FOR_ALL_CONTEXTS(BlurLargeImage_Gpu, reporter, context) { SkAutoTUnref surface( - SkSurface::NewRenderTarget(context, SkBudgeted::kYes, + SkSurface::NewRenderTarget(context, SkSurface::kYes_Budgeted, SkImageInfo::MakeN32Premul(100, 100))); test_large_blur_input(reporter, surface->getCanvas()); } diff --git a/tests/ImageIsOpaqueTest.cpp b/tests/ImageIsOpaqueTest.cpp index 739af2b..5d7003f 100644 --- a/tests/ImageIsOpaqueTest.cpp +++ b/tests/ImageIsOpaqueTest.cpp @@ -68,12 +68,12 @@ DEF_TEST(ImageIsOpaqueTest, reporter) { DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ImageIsOpaqueTest_Gpu, reporter, context) { SkImageInfo infoTransparent = SkImageInfo::MakeN32Premul(5, 5); SkAutoTUnref surfaceTransparent( - SkSurface::NewRenderTarget(context, SkBudgeted::kNo, infoTransparent)); + SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, infoTransparent)); check_isopaque(reporter, surfaceTransparent, false); SkImageInfo infoOpaque = SkImageInfo::MakeN32(5, 5, kOpaque_SkAlphaType); SkAutoTUnref surfaceOpaque( - SkSurface::NewRenderTarget(context,SkBudgeted::kNo, infoOpaque)); + SkSurface::NewRenderTarget(context,SkSurface::kNo_Budgeted, infoOpaque)); check_isopaque(reporter, surfaceOpaque, true); } diff --git a/tests/ImageNewShaderTest.cpp b/tests/ImageNewShaderTest.cpp index 7b7d80e..2c25b90 100644 --- a/tests/ImageNewShaderTest.cpp +++ b/tests/ImageNewShaderTest.cpp @@ -116,9 +116,9 @@ void gpuToGpu(skiatest::Reporter* reporter, GrContext* context) { SkImageInfo info = SkImageInfo::MakeN32Premul(5, 5); SkAutoTUnref sourceSurface( - SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info)); + SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info)); SkAutoTUnref destinationSurface( - SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info)); + SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info)); runShaderTest(reporter, sourceSurface.get(), destinationSurface.get(), info); } @@ -127,7 +127,7 @@ void gpuToRaster(skiatest::Reporter* reporter, GrContext* context) { SkImageInfo info = SkImageInfo::MakeN32Premul(5, 5); SkAutoTUnref sourceSurface(SkSurface::NewRenderTarget(context, - SkBudgeted::kNo, info)); + SkSurface::kNo_Budgeted, info)); SkAutoTUnref destinationSurface(SkSurface::NewRaster(info)); runShaderTest(reporter, sourceSurface.get(), destinationSurface.get(), info); @@ -138,7 +138,7 @@ void rasterToGpu(skiatest::Reporter* reporter, GrContext* context) { SkAutoTUnref sourceSurface(SkSurface::NewRaster(info)); SkAutoTUnref destinationSurface(SkSurface::NewRenderTarget(context, - SkBudgeted::kNo, info)); + SkSurface::kNo_Budgeted, info)); runShaderTest(reporter, sourceSurface.get(), destinationSurface.get(), info); } diff --git a/tests/ImageTest.cpp b/tests/ImageTest.cpp index 2ec1f34..1bf56c5 100644 --- a/tests/ImageTest.cpp +++ b/tests/ImageTest.cpp @@ -124,7 +124,7 @@ static SkImage* create_codec_image() { #if SK_SUPPORT_GPU static SkImage* create_gpu_image(GrContext* context) { const SkImageInfo info = SkImageInfo::MakeN32(20, 20, kOpaque_SkAlphaType); - SkAutoTUnref surface(SkSurface::NewRenderTarget(context, SkBudgeted::kNo, + SkAutoTUnref surface(SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info)); draw_image_test_pattern(surface->getCanvas()); return surface->newImageSnapshot(); @@ -696,7 +696,7 @@ DEF_GPUTEST_FOR_NATIVE_CONTEXT(SkImage_NewFromTexture, reporter, context) { desc.fHeight = h; desc.fConfig = kSkia8888_GrPixelConfig; desc.fSampleCnt = 0; - SkAutoTUnref tex(provider->createTexture(desc, SkBudgeted::kNo, storage, w * 4)); + SkAutoTUnref tex(provider->createTexture(desc, false, storage, w * 4)); if (!tex) { REPORTER_ASSERT(reporter, false); return; diff --git a/tests/PremulAlphaRoundTripTest.cpp b/tests/PremulAlphaRoundTripTest.cpp index e0060d6..7f94485 100644 --- a/tests/PremulAlphaRoundTripTest.cpp +++ b/tests/PremulAlphaRoundTripTest.cpp @@ -109,7 +109,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(PremulAlphaRoundTrip_Gpu, reporter, context) const SkImageInfo info = SkImageInfo::MakeN32Premul(256, 256); SkSurfaceProps props(SkSurfaceProps::kLegacyFontHost_InitType); SkAutoTUnref device( - SkGpuDevice::Create(context, SkBudgeted::kNo, info, 0, &props, + SkGpuDevice::Create(context, SkSurface::kNo_Budgeted, info, 0, &props, SkGpuDevice::kUninit_InitContents)); test_premul_alpha_roundtrip(reporter, device); } diff --git a/tests/ReadPixelsTest.cpp b/tests/ReadPixelsTest.cpp index b87d2b8..00cb12d 100644 --- a/tests/ReadPixelsTest.cpp +++ b/tests/ReadPixelsTest.cpp @@ -396,7 +396,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadPixels_Gpu, reporter, context) { desc.fConfig = kSkia8888_GrPixelConfig; desc.fOrigin = origin; SkAutoTUnref surfaceTexture( - context->textureProvider()->createTexture(desc, SkBudgeted::kNo)); + context->textureProvider()->createTexture(desc, false)); SkAutoTUnref surface(SkSurface::NewRenderTargetDirect(surfaceTexture->asRenderTarget())); desc.fFlags = kNone_GrSurfaceFlags; test_readpixels(reporter, surface, kLast_BitmapInit); @@ -452,7 +452,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadPixels_Texture, reporter, context) { desc.fConfig = kSkia8888_GrPixelConfig; desc.fOrigin = origin; desc.fFlags = kNone_GrSurfaceFlags; - texture.reset(context->textureProvider()->createTexture(desc, SkBudgeted::kNo)); + texture.reset(context->textureProvider()->createTexture(desc, false)); test_readpixels_texture(reporter, texture); } } @@ -603,8 +603,8 @@ DEF_GPUTEST_FOR_NATIVE_CONTEXT(ReadPixels_Subset_Gpu, reporter, context) { // do they draw the same? const SkImageInfo info = SkImageInfo::MakeN32Premul(128, 128); - SkAutoTUnref surfA(SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info, 0)); - SkAutoTUnref surfB(SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info, 0)); + SkAutoTUnref surfA(SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info, 0)); + SkAutoTUnref surfB(SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info, 0)); if (false) { // diff --git a/tests/ReadWriteAlphaTest.cpp b/tests/ReadWriteAlphaTest.cpp index 1be775f..d1c2f8c 100644 --- a/tests/ReadWriteAlphaTest.cpp +++ b/tests/ReadWriteAlphaTest.cpp @@ -50,7 +50,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, context) { // We are initializing the texture with zeros here memset(alphaData, 0, X_SIZE * Y_SIZE); SkAutoTUnref texture( - context->textureProvider()->createTexture(desc, SkBudgeted::kNo , alphaData, 0)); + context->textureProvider()->createTexture(desc, false, alphaData, 0)); if (!texture) { if (!rt) { ERRORF(reporter, "Could not create alpha texture."); @@ -150,7 +150,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ReadWriteAlpha, reporter, context) { } } SkAutoTUnref texture( - context->textureProvider()->createTexture(desc, SkBudgeted::kNo, rgbaData, 0)); + context->textureProvider()->createTexture(desc, false, rgbaData, 0)); if (!texture) { // We always expect to be able to create a RGBA texture if (!rt && kRGBA_8888_GrPixelConfig == desc.fConfig) { diff --git a/tests/RecordReplaceDrawTest.cpp b/tests/RecordReplaceDrawTest.cpp index 216f1ca..fe8f347 100644 --- a/tests/RecordReplaceDrawTest.cpp +++ b/tests/RecordReplaceDrawTest.cpp @@ -124,8 +124,7 @@ void test_replacements(skiatest::Reporter* r, GrContext* context, bool doReplace desc.fHeight = kHeight; desc.fSampleCnt = 0; - texture.reset(context->textureProvider()->createTexture( - desc, SkBudgeted::kNo, nullptr, 0)); + texture.reset(context->textureProvider()->createTexture(desc, false, nullptr, 0)); layer->setTexture(texture, SkIRect::MakeWH(kWidth, kHeight), false); } diff --git a/tests/RectangleTextureTest.cpp b/tests/RectangleTextureTest.cpp index 2943c25..168a573 100644 --- a/tests/RectangleTextureTest.cpp +++ b/tests/RectangleTextureTest.cpp @@ -58,8 +58,7 @@ static void test_copy_surface_src(skiatest::Reporter* reporter, GrContext* conte copyDstDesc.fWidth = rectangleTexture->width(); copyDstDesc.fHeight = rectangleTexture->height(); copyDstDesc.fFlags = kRenderTarget_GrSurfaceFlag; - SkAutoTUnref dst(context->textureProvider()->createTexture( - copyDstDesc, SkBudgeted::kYes)); + SkAutoTUnref dst(context->textureProvider()->createTexture(copyDstDesc, true)); context->copySurface(dst, rectangleTexture); test_read_pixels(reporter, context, dst, expectedPixelValues); } @@ -79,8 +78,8 @@ static void test_copy_surface_dst(skiatest::Reporter* reporter, GrContext* conte copySrcDesc.fWidth = rectangleTexture->width(); copySrcDesc.fHeight = rectangleTexture->height(); copySrcDesc.fFlags = kRenderTarget_GrSurfaceFlag; - SkAutoTUnref src(context->textureProvider()->createTexture( - copySrcDesc, SkBudgeted::kYes, pixels.get(), 0)); + SkAutoTUnref src(context->textureProvider()->createTexture(copySrcDesc, true, + pixels.get(), 0)); context->copySurface(rectangleTexture, src); test_read_pixels(reporter, context, rectangleTexture, pixels.get()); diff --git a/tests/ResourceCacheTest.cpp b/tests/ResourceCacheTest.cpp index c715b2e..c8613ad 100644 --- a/tests/ResourceCacheTest.cpp +++ b/tests/ResourceCacheTest.cpp @@ -38,7 +38,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ResourceCacheCache, reporter, context) { desc.fHeight = gHeight; SkImageInfo info = SkImageInfo::MakeN32Premul(gWidth, gHeight); SkAutoTUnref surface(SkSurface::NewRenderTarget(context, - SkBudgeted::kNo, info)); + SkSurface::kNo_Budgeted, info)); SkCanvas* canvas = surface->getCanvas(); const SkIRect size = SkIRect::MakeWH(gWidth, gHeight); @@ -91,12 +91,12 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ResourceCacheStencilBuffers, reporter, contex GrTextureProvider* cache = context->textureProvider(); GrResourceProvider* resourceProvider = context->resourceProvider(); // Test that two budgeted RTs with the same desc share a stencil buffer. - SkAutoTUnref smallRT0(cache->createTexture(smallDesc, SkBudgeted::kYes)); + SkAutoTUnref smallRT0(cache->createTexture(smallDesc, true)); if (smallRT0 && smallRT0->asRenderTarget()) { resourceProvider->attachStencilAttachment(smallRT0->asRenderTarget()); } - SkAutoTUnref smallRT1(cache->createTexture(smallDesc, SkBudgeted::kYes)); + SkAutoTUnref smallRT1(cache->createTexture(smallDesc, true)); if (smallRT1 && smallRT1->asRenderTarget()) { resourceProvider->attachStencilAttachment(smallRT1->asRenderTarget()); } @@ -108,7 +108,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ResourceCacheStencilBuffers, reporter, contex resourceProvider->attachStencilAttachment(smallRT1->asRenderTarget())); // An unbudgeted RT with the same desc should also share. - SkAutoTUnref smallRT2(cache->createTexture(smallDesc, SkBudgeted::kNo)); + SkAutoTUnref smallRT2(cache->createTexture(smallDesc, false)); if (smallRT2 && smallRT2->asRenderTarget()) { resourceProvider->attachStencilAttachment(smallRT2->asRenderTarget()); } @@ -125,7 +125,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ResourceCacheStencilBuffers, reporter, contex bigDesc.fWidth = 400; bigDesc.fHeight = 200; bigDesc.fSampleCnt = 0; - SkAutoTUnref bigRT(cache->createTexture(bigDesc, SkBudgeted::kNo)); + SkAutoTUnref bigRT(cache->createTexture(bigDesc, false)); if (bigRT && bigRT->asRenderTarget()) { resourceProvider->attachStencilAttachment(bigRT->asRenderTarget()); } @@ -139,7 +139,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ResourceCacheStencilBuffers, reporter, contex // An RT with a different sample count should not share. GrSurfaceDesc smallMSAADesc = smallDesc; smallMSAADesc.fSampleCnt = 4; - SkAutoTUnref smallMSAART0(cache->createTexture(smallMSAADesc, SkBudgeted::kNo)); + SkAutoTUnref smallMSAART0(cache->createTexture(smallMSAADesc, false)); if (smallMSAART0 && smallMSAART0->asRenderTarget()) { resourceProvider->attachStencilAttachment(smallMSAART0->asRenderTarget()); } @@ -155,7 +155,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ResourceCacheStencilBuffers, reporter, contex resourceProvider->attachStencilAttachment(smallRT0->asRenderTarget()) != resourceProvider->attachStencilAttachment(smallMSAART0->asRenderTarget())); // A second MSAA RT should share with the first MSAA RT. - SkAutoTUnref smallMSAART1(cache->createTexture(smallMSAADesc, SkBudgeted::kNo)); + SkAutoTUnref smallMSAART1(cache->createTexture(smallMSAADesc, false)); if (smallMSAART1 && smallMSAART1->asRenderTarget()) { resourceProvider->attachStencilAttachment(smallMSAART1->asRenderTarget()); } @@ -171,9 +171,8 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ResourceCacheStencilBuffers, reporter, contex smallMSAART0 && smallMSAART0->asRenderTarget() && smallMSAART0->asRenderTarget()->numColorSamples() < 8) { smallMSAADesc.fSampleCnt = 8; - smallMSAART1.reset(cache->createTexture(smallMSAADesc, SkBudgeted::kNo)); - SkAutoTUnref smallMSAART1( - cache->createTexture(smallMSAADesc, SkBudgeted::kNo)); + smallMSAART1.reset(cache->createTexture(smallMSAADesc, false)); + SkAutoTUnref smallMSAART1(cache->createTexture(smallMSAADesc, false)); if (smallMSAART1 && smallMSAART1->asRenderTarget()) { resourceProvider->attachStencilAttachment(smallMSAART1->asRenderTarget()); } @@ -570,7 +569,7 @@ void test_unbudgeted_to_scratch(skiatest::Reporter* reporter); // Since this resource is unbudgeted, it should not be reachable as scratch. REPORTER_ASSERT(reporter, resource->resourcePriv().getScratchKey() == key); REPORTER_ASSERT(reporter, !resource->cacheAccess().isScratch()); - REPORTER_ASSERT(reporter, SkBudgeted::kNo == resource->resourcePriv().isBudgeted()); + REPORTER_ASSERT(reporter, !resource->resourcePriv().isBudgeted()); REPORTER_ASSERT(reporter, nullptr == cache->findAndRefScratchResource(key, TestResource::kDefaultSize, 0)); REPORTER_ASSERT(reporter, 1 == cache->getResourceCount()); REPORTER_ASSERT(reporter, size == cache->getResourceBytes()); @@ -587,7 +586,7 @@ void test_unbudgeted_to_scratch(skiatest::Reporter* reporter); REPORTER_ASSERT(reporter, resource); REPORTER_ASSERT(reporter, resource->resourcePriv().getScratchKey() == key); REPORTER_ASSERT(reporter, resource->cacheAccess().isScratch()); - REPORTER_ASSERT(reporter, SkBudgeted::kYes == resource->resourcePriv().isBudgeted()); + REPORTER_ASSERT(reporter, resource->resourcePriv().isBudgeted()); if (0 == i) { // If made unbudgeted, it should return to original state: ref'ed and unbudgeted. Try @@ -602,7 +601,7 @@ void test_unbudgeted_to_scratch(skiatest::Reporter* reporter); REPORTER_ASSERT(reporter, size == cache->getBudgetedResourceBytes()); REPORTER_ASSERT(reporter, !resource->resourcePriv().getScratchKey().isValid()); REPORTER_ASSERT(reporter, !resource->cacheAccess().isScratch()); - REPORTER_ASSERT(reporter, SkBudgeted::kYes == resource->resourcePriv().isBudgeted()); + REPORTER_ASSERT(reporter, resource->resourcePriv().isBudgeted()); // now when it is unrefed it should die since it has no key. resource->unref(); diff --git a/tests/SRGBReadWritePixelsTest.cpp b/tests/SRGBReadWritePixelsTest.cpp index 1446d7d..20b2783 100644 --- a/tests/SRGBReadWritePixelsTest.cpp +++ b/tests/SRGBReadWritePixelsTest.cpp @@ -161,8 +161,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SRGBReadWritePixels, reporter, context) { desc.fConfig = kSRGBA_8888_GrPixelConfig; if (context->caps()->isConfigRenderable(desc.fConfig, false) && context->caps()->isConfigTexturable(desc.fConfig)) { - SkAutoTUnref tex(context->textureProvider()->createTexture( - desc, SkBudgeted::kNo)); + SkAutoTUnref tex(context->textureProvider()->createTexture(desc, false)); if (!tex) { ERRORF(reporter, "Could not create SRGBA texture."); return; @@ -201,7 +200,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SRGBReadWritePixels, reporter, context) { } desc.fConfig = kRGBA_8888_GrPixelConfig; - tex.reset(context->textureProvider()->createTexture(desc, SkBudgeted::kNo)); + tex.reset(context->textureProvider()->createTexture(desc, false)); if (!tex) { ERRORF(reporter, "Could not create RGBA texture."); return; diff --git a/tests/SpecialImageTest.cpp b/tests/SpecialImageTest.cpp index bde140d..049453d 100644 --- a/tests/SpecialImageTest.cpp +++ b/tests/SpecialImageTest.cpp @@ -135,7 +135,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SpecialImage_Gpu, reporter, context) { desc.fWidth = kFullSize; desc.fHeight = kFullSize; - SkAutoTUnref texture(context->textureProvider()->createTexture(desc, SkBudgeted::kNo, + SkAutoTUnref texture(context->textureProvider()->createTexture(desc, false, bm.getPixels(), 0)); if (!texture) { return; diff --git a/tests/SurfaceTest.cpp b/tests/SurfaceTest.cpp index 7449f21..41fef61 100644 --- a/tests/SurfaceTest.cpp +++ b/tests/SurfaceTest.cpp @@ -54,7 +54,7 @@ static SkSurface* create_gpu_surface(GrContext* context, SkAlphaType at = kPremu if (requestedInfo) { *requestedInfo = info; } - return SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info, 0, nullptr); + return SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info, 0, nullptr); } static SkSurface* create_gpu_scratch_surface(GrContext* context, SkAlphaType at = kPremul_SkAlphaType, @@ -63,7 +63,7 @@ static SkSurface* create_gpu_scratch_surface(GrContext* context, if (requestedInfo) { *requestedInfo = info; } - return SkSurface::NewRenderTarget(context, SkBudgeted::kYes, info, 0, nullptr); + return SkSurface::NewRenderTarget(context, SkSurface::kYes_Budgeted, info, 0, nullptr); } #endif @@ -77,7 +77,7 @@ DEF_TEST(SurfaceEmpty, reporter) { DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SurfaceEmpty_Gpu, reporter, context) { const SkImageInfo info = SkImageInfo::Make(0, 0, kN32_SkColorType, kPremul_SkAlphaType); REPORTER_ASSERT(reporter, nullptr == - SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info, 0, nullptr)); + SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info, 0, nullptr)); } #endif @@ -340,7 +340,7 @@ static void test_unique_image_snap(skiatest::Reporter* reporter, SkSurface* surf std::function surfaceBackingStore) { std::function ibs = imageBackingStore; std::function sbs = surfaceBackingStore; - static const SkBudgeted kB = SkBudgeted::kNo; + static const SkSurface::Budgeted kB = SkSurface::kNo_Budgeted; { SkAutoTUnref image(surface->newImageSnapshot(kB, SkSurface::kYes_ForceUnique)); REPORTER_ASSERT(reporter, !same_image_surf(image, surface, ibs, sbs)); @@ -699,18 +699,22 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SurfaceGetTexture_Gpu, reporter, context) { #include "SkImage_Gpu.h" #include "SkSurface_Gpu.h" -static SkBudgeted is_budgeted(SkSurface* surf) { - return ((SkSurface_Gpu*)surf)->getDevice()->accessRenderTarget()->resourcePriv().isBudgeted(); +static SkSurface::Budgeted is_budgeted(SkSurface* surf) { + return ((SkSurface_Gpu*)surf)->getDevice()->accessRenderTarget()->resourcePriv().isBudgeted() ? + SkSurface::kYes_Budgeted : SkSurface::kNo_Budgeted; } -static SkBudgeted is_budgeted(SkImage* image) { - return ((SkImage_Gpu*)image)->getTexture()->resourcePriv().isBudgeted(); +static SkSurface::Budgeted is_budgeted(SkImage* image) { + return ((SkImage_Gpu*)image)->getTexture()->resourcePriv().isBudgeted() ? + SkSurface::kYes_Budgeted : SkSurface::kNo_Budgeted; } DEF_GPUTEST_FOR_RENDERING_CONTEXTS(SurfaceBudget, reporter, context) { SkImageInfo info = SkImageInfo::MakeN32Premul(8,8); - for (auto sbudgeted : { SkBudgeted::kNo, SkBudgeted::kYes }) { - for (auto ibudgeted : { SkBudgeted::kNo, SkBudgeted::kYes }) { + for (int i = 0; i < 2; ++i) { + SkSurface::Budgeted sbudgeted = i ? SkSurface::kYes_Budgeted : SkSurface::kNo_Budgeted; + for (int j = 0; j < 2; ++j) { + SkSurface::Budgeted ibudgeted = j ? SkSurface::kYes_Budgeted : SkSurface::kNo_Budgeted; SkAutoTUnref surface(SkSurface::NewRenderTarget(context, sbudgeted, info, 0)); SkASSERT(surface); diff --git a/tests/TextBlobCacheTest.cpp b/tests/TextBlobCacheTest.cpp index b7456d6..c2907fc 100644 --- a/tests/TextBlobCacheTest.cpp +++ b/tests/TextBlobCacheTest.cpp @@ -66,7 +66,7 @@ static void text_blob_cache_inner(skiatest::Reporter* reporter, GrContext* conte } SkImageInfo info = SkImageInfo::Make(kWidth, kHeight, kN32_SkColorType, kPremul_SkAlphaType); - SkAutoTUnref surface(SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info, + SkAutoTUnref surface(SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info, 0, &props)); REPORTER_ASSERT(reporter, surface); if (!surface) { diff --git a/tests/TextureStorageAllocator.cpp b/tests/TextureStorageAllocator.cpp index 73d9dc0..122839c 100644 --- a/tests/TextureStorageAllocator.cpp +++ b/tests/TextureStorageAllocator.cpp @@ -67,7 +67,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(CustomTexture, reporter, context, glContext) grAllocator.fCtx = &allocator; SkAutoTUnref surface(SkSurface_Gpu::NewRenderTarget( - context, SkBudgeted::kNo, SkImageInfo::MakeN32Premul(kWidth, kHeight), 0, + context, SkSurface_Gpu::kNo_Budgeted, SkImageInfo::MakeN32Premul(kWidth, kHeight), 0, NULL, grAllocator)); REPORTER_ASSERT(reporter, surface); GrGLuint id = allocator.m_mostRecentlyAllocatedStorage; @@ -101,7 +101,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(CustomTextureFailure, reporter, context, glCo grAllocator.fDeallocateTextureStorage= &TestStorageAllocator::deallocateTextureStorage; grAllocator.fCtx = &allocator; SkAutoTUnref surface(SkSurface_Gpu::NewRenderTarget( - context, SkBudgeted::kNo, SkImageInfo::MakeN32Premul(kWidth, kHeight), 0, + context, SkSurface_Gpu::kNo_Budgeted, SkImageInfo::MakeN32Premul(kWidth, kHeight), 0, NULL, grAllocator)); REPORTER_ASSERT(reporter, !surface); } diff --git a/tests/WritePixelsTest.cpp b/tests/WritePixelsTest.cpp index 0141bf3..6d672f7 100644 --- a/tests/WritePixelsTest.cpp +++ b/tests/WritePixelsTest.cpp @@ -413,8 +413,7 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(WritePixels_Gpu, reporter, context) { desc.fHeight = DEV_H; desc.fConfig = kSkia8888_GrPixelConfig; desc.fOrigin = origin; - SkAutoTUnref texture(context->textureProvider()->createTexture(desc, - SkBudgeted::kNo)); + SkAutoTUnref texture(context->textureProvider()->createTexture(desc, false)); SkAutoTUnref surface(SkSurface::NewRenderTargetDirect(texture->asRenderTarget())); test_write_pixels(reporter, surface); } diff --git a/tools/VisualBench/WrappedBenchmark.h b/tools/VisualBench/WrappedBenchmark.h index c947a3e..d16556c 100644 --- a/tools/VisualBench/WrappedBenchmark.h +++ b/tools/VisualBench/WrappedBenchmark.h @@ -105,7 +105,7 @@ public: private: void setupOffScreen(SkCanvas* canvas) override { fOffScreen.reset(SkSurface::NewRenderTarget(canvas->getGrContext(), - SkBudgeted::kNo, + SkSurface::kNo_Budgeted, canvas->imageInfo(), fNumSamples, &this->surfaceProps())); diff --git a/tools/kilobench/kilobench.cpp b/tools/kilobench/kilobench.cpp index 551ff3e..1b9cb34 100644 --- a/tools/kilobench/kilobench.cpp +++ b/tools/kilobench/kilobench.cpp @@ -193,7 +193,7 @@ struct GPUTarget { 0; SkSurfaceProps props(flags, SkSurfaceProps::kLegacyFontHost_InitType); fSurface.reset(SkSurface::NewRenderTarget(context, - SkBudgeted::kNo, info, + SkSurface::kNo_Budgeted, info, numSamples, &props)); fGL = factory->getContextInfo(ctxType, ctxOptions).fGLContext; if (!fSurface.get()) { diff --git a/tools/skiaserve/skiaserve.cpp b/tools/skiaserve/skiaserve.cpp index 70d93e9..427ce4b 100644 --- a/tools/skiaserve/skiaserve.cpp +++ b/tools/skiaserve/skiaserve.cpp @@ -175,7 +175,7 @@ SkSurface* createGPUSurface(Request* request) { kN32_SkColorType, kPremul_SkAlphaType); uint32_t flags = 0; SkSurfaceProps props(flags, SkSurfaceProps::kLegacyFontHost_InitType); - SkSurface* surface = SkSurface::NewRenderTarget(context, SkBudgeted::kNo, info, 0, + SkSurface* surface = SkSurface::NewRenderTarget(context, SkSurface::kNo_Budgeted, info, 0, &props); return surface; } -- 2.7.4