aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrSurfaceProxy.cpp
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2017-03-09 16:36:32 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-03-10 15:02:11 +0000
commitb726d58efc91c4eefa5cea0881a823ee108db8fd (patch)
tree2d43fa8827137d7491f6030c8f99d138e7100d5d /src/gpu/GrSurfaceProxy.cpp
parentf7005200725f1a96c7174be3e9a3175f9aa19151 (diff)
Partially defer SkImage_Gpu
One of SkImageCacherator, GrBitmapTextureMaker, GrImageTextureMaker, GrTextureAdjuster, GrTextureProducer or SkImage has to take the first step. This is probably the least odd of the options. Change-Id: Ie167034553451f4b3633a5a1548dbd4d75839b3d Reviewed-on: https://skia-review.googlesource.com/9488 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/GrSurfaceProxy.cpp')
-rw-r--r--src/gpu/GrSurfaceProxy.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gpu/GrSurfaceProxy.cpp b/src/gpu/GrSurfaceProxy.cpp
index 0c497506e1..180a7f06b2 100644
--- a/src/gpu/GrSurfaceProxy.cpp
+++ b/src/gpu/GrSurfaceProxy.cpp
@@ -6,6 +6,7 @@
*/
#include "GrSurfaceProxy.h"
+#include "GrSurfaceProxyPriv.h"
#include "GrCaps.h"
#include "GrContext.h"
@@ -302,3 +303,19 @@ sk_sp<GrSurfaceContext> GrSurfaceProxy::TestCopy(GrContext* context, const GrSur
return dstContext;
}
+
+void GrSurfaceProxyPriv::makeBudgeted() {
+ if (fProxy->fTarget) {
+ fProxy->fTarget->resourcePriv().makeBudgeted();
+ }
+
+ fProxy->fBudgeted = SkBudgeted::kYes;
+}
+
+void GrSurfaceProxyPriv::makeUnbudgeted() {
+ if (fProxy->fTarget) {
+ fProxy->fTarget->resourcePriv().makeUnbudgeted();
+ }
+
+ fProxy->fBudgeted = SkBudgeted::kNo;
+}