aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrSurface.cpp
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2017-11-08 15:24:31 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-08 21:00:37 +0000
commitf8e2502819499894dff40c4f2f46e46edda15507 (patch)
tree7fe8c9c6e191f9d393abc8d29ffa1d4146db302d /src/gpu/GrSurface.cpp
parent065b41dd90782e22b5708c8b43696db641d54f46 (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.cpp17
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);