diff options
author | 2018-02-04 14:33:21 -0500 | |
---|---|---|
committer | 2018-02-04 20:01:28 +0000 | |
commit | e8fabb2665d12ee289bc3af5b7e93c5b12396e2d (patch) | |
tree | 3f7cde3336c04ae74c09b102d3fefd7f8c7fb5cd /src/gpu/GrProxyProvider.cpp | |
parent | d2807d5115ad0f6954fa0d77e761db5afdb38d68 (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.cpp | 19 |
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) { |