diff options
author | Robert Phillips <robertphillips@google.com> | 2018-01-16 15:07:54 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-01-16 20:53:28 +0000 |
commit | 6be756b673b823881e90a2ef68c12b640ddde549 (patch) | |
tree | f7e09cae44e5d5b3faddef00d9250962eec0e05a /src/gpu/GrOnFlushResourceProvider.cpp | |
parent | 1ea485fd56a977b4e84b4e82039e8f2487813c1e (diff) |
Move resourceProvider accessor to GrContextPriv (take 2)
TBR=bsalomon@google.com
Change-Id: I3fd46ebfad0d04b8a2bfa6190f81308f3a6be620
Reviewed-on: https://skia-review.googlesource.com/95121
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'src/gpu/GrOnFlushResourceProvider.cpp')
-rw-r--r-- | src/gpu/GrOnFlushResourceProvider.cpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/gpu/GrOnFlushResourceProvider.cpp b/src/gpu/GrOnFlushResourceProvider.cpp index 7fcd30f941..8de827c5b5 100644 --- a/src/gpu/GrOnFlushResourceProvider.cpp +++ b/src/gpu/GrOnFlushResourceProvider.cpp @@ -19,10 +19,12 @@ sk_sp<GrRenderTargetContext> GrOnFlushResourceProvider::makeRenderTargetContext( GrSurfaceDesc tmpDesc = desc; tmpDesc.fFlags |= kRenderTarget_GrSurfaceFlag; + auto proxyProvider = fDrawingMgr->getContext()->contextPriv().proxyProvider(); + auto resourceProvider = fDrawingMgr->getContext()->contextPriv().resourceProvider(); + // Because this is being allocated at the start of a flush we must ensure the proxy // will, when instantiated, have no pending IO. // TODO: fold the kNoPendingIO_Flag into GrSurfaceFlags? - GrProxyProvider* proxyProvider = fDrawingMgr->getContext()->contextPriv().proxyProvider(); sk_sp<GrSurfaceProxy> proxy = proxyProvider->createProxy(tmpDesc, SkBackingFit::kExact, SkBudgeted::kYes, GrResourceProvider::kNoPendingIO_Flag); @@ -42,8 +44,7 @@ sk_sp<GrRenderTargetContext> GrOnFlushResourceProvider::makeRenderTargetContext( // Since this is at flush time and these won't be allocated for us by the GrResourceAllocator // we have to manually ensure it is allocated here. The proxy had best have been created // with the kNoPendingIO flag! - if (!renderTargetContext->asSurfaceProxy()->instantiate( - fDrawingMgr->getContext()->resourceProvider())) { + if (!renderTargetContext->asSurfaceProxy()->instantiate(resourceProvider)) { return nullptr; } @@ -67,11 +68,12 @@ sk_sp<GrRenderTargetContext> GrOnFlushResourceProvider::makeRenderTargetContext( return nullptr; } + auto resourceProvider = fDrawingMgr->getContext()->contextPriv().resourceProvider(); + // Since this is at flush time and these won't be allocated for us by the GrResourceAllocator // we have to manually ensure it is allocated here. The proxy had best have been created // with the kNoPendingIO flag! - if (!renderTargetContext->asSurfaceProxy()->instantiate( - fDrawingMgr->getContext()->resourceProvider())) { + if (!renderTargetContext->asSurfaceProxy()->instantiate(resourceProvider)) { return nullptr; } @@ -82,18 +84,20 @@ sk_sp<GrRenderTargetContext> GrOnFlushResourceProvider::makeRenderTargetContext( sk_sp<GrBuffer> GrOnFlushResourceProvider::makeBuffer(GrBufferType intendedType, size_t size, const void* data) { - GrResourceProvider* rp = fDrawingMgr->getContext()->resourceProvider(); - return sk_sp<GrBuffer>(rp->createBuffer(size, intendedType, kDynamic_GrAccessPattern, - GrResourceProvider::kNoPendingIO_Flag, - data)); + auto resourceProvider = fDrawingMgr->getContext()->contextPriv().resourceProvider(); + return sk_sp<GrBuffer>(resourceProvider->createBuffer(size, intendedType, + kDynamic_GrAccessPattern, + GrResourceProvider::kNoPendingIO_Flag, + data)); } sk_sp<const GrBuffer> GrOnFlushResourceProvider::findOrMakeStaticBuffer(GrBufferType intendedType, size_t size, const void* data, const GrUniqueKey& key) { - GrResourceProvider* rp = fDrawingMgr->getContext()->resourceProvider(); - sk_sp<const GrBuffer> buffer = rp->findOrMakeStaticBuffer(intendedType, size, data, key); + auto resourceProvider = fDrawingMgr->getContext()->contextPriv().resourceProvider(); + sk_sp<const GrBuffer> buffer = resourceProvider->findOrMakeStaticBuffer(intendedType, size, + data, key); // Static buffers should never have pending IO. SkASSERT(!buffer->resourcePriv().hasPendingIO_debugOnly()); return buffer; |