From f8e2502819499894dff40c4f2f46e46edda15507 Mon Sep 17 00:00:00 2001 From: Robert Phillips Date: Wed, 8 Nov 2017 15:24:31 -0500 Subject: Prepare to enable explicit gpu resource allocation (take 2) Change-Id: I3fd78d53e8bea84c0217b9fe6e180eaa9e4ac753 Reviewed-on: https://skia-review.googlesource.com/68920 Reviewed-by: Greg Daniel Commit-Queue: Robert Phillips --- src/gpu/GrSurface.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/gpu/GrSurface.cpp') diff --git a/src/gpu/GrSurface.cpp b/src/gpu/GrSurface.cpp index 24b42f3507..ec503d7066 100644 --- a/src/gpu/GrSurface.cpp +++ b/src/gpu/GrSurface.cpp @@ -9,6 +9,7 @@ #include "GrContext.h" #include "GrOpList.h" #include "GrRenderTarget.h" +#include "GrResourceProvider.h" #include "GrSurfacePriv.h" #include "GrTexture.h" @@ -18,8 +19,12 @@ size_t GrSurface::WorstCaseSize(const GrSurfaceDesc& desc, bool useNextPow2) { size_t size; - int width = useNextPow2 ? GrNextPow2(desc.fWidth) : desc.fWidth; - int height = useNextPow2 ? GrNextPow2(desc.fHeight) : desc.fHeight; + int width = useNextPow2 + ? SkTMax(GrResourceProvider::kMinScratchTextureSize, GrNextPow2(desc.fWidth)) + : desc.fWidth; + int height = useNextPow2 + ? SkTMax(GrResourceProvider::kMinScratchTextureSize, GrNextPow2(desc.fHeight)) + : desc.fHeight; bool isRenderTarget = SkToBool(desc.fFlags & kRenderTarget_GrSurfaceFlag); if (isRenderTarget) { @@ -53,8 +58,12 @@ size_t GrSurface::ComputeSize(GrPixelConfig config, int colorSamplesPerPixel, GrMipMapped mipMapped, bool useNextPow2) { - width = useNextPow2 ? GrNextPow2(width) : width; - height = useNextPow2 ? GrNextPow2(height) : height; + width = useNextPow2 + ? SkTMax(GrResourceProvider::kMinScratchTextureSize, GrNextPow2(width)) + : width; + height = useNextPow2 + ? SkTMax(GrResourceProvider::kMinScratchTextureSize, GrNextPow2(height)) + : height; SkASSERT(kUnknown_GrPixelConfig != config); size_t colorSize = (size_t)width * height * GrBytesPerPixel(config); -- cgit v1.2.3