diff options
author | Brian Osman <brianosman@google.com> | 2017-09-28 15:14:28 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-28 15:14:40 +0000 |
commit | 837c6c7c0cc76bdb9d61a05244ca5f31e7573c37 (patch) | |
tree | 97d1584708ded030488b988157cd47e7d9c3ddaf /src/gpu/GrTextureProxy.cpp | |
parent | 742f3d02a1c6a916d7e0ed3bedb0b546bbe3c15f (diff) |
Revert "Make threaded proxy generation MDB-friendly, and defer instantiation"
This reverts commit 742f3d02a1c6a916d7e0ed3bedb0b546bbe3c15f.
Reason for revert: Aaah!
Original change's description:
> Make threaded proxy generation MDB-friendly, and defer instantiation
>
> Replaces GrPrepareCallback with GrDeferredProxyUploader, stored directly
> on GrTextureProxy. Op lists now store a list of referenced proxies that
> are being generated by worker threads. At flush time, iterate over those
> proxies, and invoke their uploader.
>
> Lifetime of the uploader object is now tied to the proxy, but the ASAP
> upload function will free the proxy's uploader, if it's called.
>
> Bug: skia:
> Change-Id: Ieb2c6a805d19990012839a8e103c3ca5b8d3dfc6
> Reviewed-on: https://skia-review.googlesource.com/49904
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com
Change-Id: I8f76a67044dc4159f903097d8b1ef19ffb48c730
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/52760
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'src/gpu/GrTextureProxy.cpp')
-rw-r--r-- | src/gpu/GrTextureProxy.cpp | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/src/gpu/GrTextureProxy.cpp b/src/gpu/GrTextureProxy.cpp index 534adaa709..8b9e58b594 100644 --- a/src/gpu/GrTextureProxy.cpp +++ b/src/gpu/GrTextureProxy.cpp @@ -6,11 +6,10 @@ */ #include "GrTextureProxy.h" -#include "GrTextureProxyPriv.h" #include "GrContext.h" -#include "GrDeferredProxyUploader.h" #include "GrResourceCache.h" + #include "GrTexturePriv.h" GrTextureProxy::GrTextureProxy(const GrSurfaceDesc& srcDesc, SkBackingFit fit, SkBudgeted budgeted, @@ -18,8 +17,7 @@ GrTextureProxy::GrTextureProxy(const GrSurfaceDesc& srcDesc, SkBackingFit fit, S : INHERITED(srcDesc, fit, budgeted, flags) , fIsMipMapped(false) , fMipColorMode(SkDestinationSurfaceColorMode::kLegacy) - , fCache(nullptr) - , fDeferredUploader(nullptr) { + , fCache(nullptr) { SkASSERT(!srcData); // currently handled in Make() } @@ -27,8 +25,7 @@ GrTextureProxy::GrTextureProxy(sk_sp<GrSurface> surf, GrSurfaceOrigin origin) : INHERITED(std::move(surf), origin, SkBackingFit::kExact) , fIsMipMapped(fTarget->asTexture()->texturePriv().hasMipMaps()) , fMipColorMode(fTarget->asTexture()->texturePriv().mipColorMode()) - , fCache(nullptr) - , fDeferredUploader(nullptr) { + , fCache(nullptr) { if (fTarget->getUniqueKey().isValid()) { fCache = fTarget->asTexture()->getContext()->getResourceCache(); fCache->adoptUniqueKeyFromSurface(this, fTarget); @@ -70,25 +67,6 @@ sk_sp<GrSurface> GrTextureProxy::createSurface(GrResourceProvider* resourceProvi return surface; } -void GrTextureProxyPriv::setDeferredUploader(std::unique_ptr<GrDeferredProxyUploader> uploader) { - SkASSERT(!fTextureProxy->fDeferredUploader); - fTextureProxy->fDeferredUploader = std::move(uploader); -} - -void GrTextureProxyPriv::scheduleUpload(GrOpFlushState* flushState) { - SkASSERT(fTextureProxy->fDeferredUploader); - - // Instantiate might have failed - if (fTextureProxy->fTarget) { - fTextureProxy->fDeferredUploader->scheduleUpload(flushState, fTextureProxy); - } -} - -void GrTextureProxyPriv::resetDeferredUploader() { - SkASSERT(fTextureProxy->fDeferredUploader); - fTextureProxy->fDeferredUploader.reset(); -} - // This method parallels the highest_filter_mode functions in GrGLTexture & GrVkTexture. GrSamplerState::Filter GrTextureProxy::highestFilterMode() const { if (fTarget) { |