diff options
author | Robert Phillips <robertphillips@google.com> | 2017-11-08 15:24:31 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-11-08 21:00:37 +0000 |
commit | f8e2502819499894dff40c4f2f46e46edda15507 (patch) | |
tree | 7fe8c9c6e191f9d393abc8d29ffa1d4146db302d /src/gpu/GrSurface.cpp | |
parent | 065b41dd90782e22b5708c8b43696db641d54f46 (diff) |
Prepare to enable explicit gpu resource allocation (take 2)
Change-Id: I3fd78d53e8bea84c0217b9fe6e180eaa9e4ac753
Reviewed-on: https://skia-review.googlesource.com/68920
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/GrSurface.cpp')
-rw-r--r-- | src/gpu/GrSurface.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
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); |