aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrProxyProvider.cpp
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2018-02-04 14:33:21 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-02-04 20:01:28 +0000
commite8fabb2665d12ee289bc3af5b7e93c5b12396e2d (patch)
tree3f7cde3336c04ae74c09b102d3fefd7f8c7fb5cd /src/gpu/GrProxyProvider.cpp
parentd2807d5115ad0f6954fa0d77e761db5afdb38d68 (diff)
Update LazyProxy creation to allow for a non-textureable result
Change-Id: Ic284b4f4220afa714159e07f57798a94fd40d63a Reviewed-on: https://skia-review.googlesource.com/102484 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'src/gpu/GrProxyProvider.cpp')
-rw-r--r--src/gpu/GrProxyProvider.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gpu/GrProxyProvider.cpp b/src/gpu/GrProxyProvider.cpp
index 6641bcf9a8..8410a0a882 100644
--- a/src/gpu/GrProxyProvider.cpp
+++ b/src/gpu/GrProxyProvider.cpp
@@ -473,6 +473,25 @@ sk_sp<GrTextureProxy> GrProxyProvider::createLazyProxy(LazyInstantiateCallback&&
budgeted, flags));
}
+sk_sp<GrRenderTargetProxy> GrProxyProvider::createLazyRenderTargetProxy(
+ LazyInstantiateCallback&& callback,
+ const GrSurfaceDesc& desc,
+ Textureable textureable,
+ GrMipMapped mipMapped,
+ SkBackingFit fit, SkBudgeted budgeted) {
+ SkASSERT((desc.fWidth <= 0 && desc.fHeight <= 0) ||
+ (desc.fWidth > 0 && desc.fHeight > 0));
+ uint32_t flags = GrResourceProvider::kNoPendingIO_Flag;
+ if (Textureable::kYes == textureable) {
+ return sk_sp<GrRenderTargetProxy>(new GrTextureRenderTargetProxy(std::move(callback), desc,
+ mipMapped, fit, budgeted,
+ flags));
+ }
+
+ return sk_sp<GrRenderTargetProxy>(new GrRenderTargetProxy(std::move(callback), desc,
+ fit, budgeted, flags));
+}
+
sk_sp<GrTextureProxy> GrProxyProvider::createFullyLazyProxy(LazyInstantiateCallback&& callback,
Renderable renderable,
GrPixelConfig config) {