diff options
author | Brian Osman <brianosman@google.com> | 2017-09-28 17:45:20 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-28 17:45:32 +0000 |
commit | 9f8d4d36b514ffe3cc3a4a48900e3dc1fecb2a96 (patch) | |
tree | 332ff8c62c1dff41f48672c001bddedf956a43b6 /src/gpu/GrOpList.cpp | |
parent | abb8bb307cea0cf2fae605bd0e80a81854da760e (diff) |
Revert "Revert "Revert "Make threaded proxy generation MDB-friendly, and defer instantiation"""
This reverts commit e8b8397664666bfcba8f088ea073ede915da8a41.
Reason for revert: More crashing.
Original change's description:
> Revert "Revert "Make threaded proxy generation MDB-friendly, and defer instantiation""
>
> This reverts commit 837c6c7c0cc76bdb9d61a05244ca5f31e7573c37.
>
> Bug: skia:
> Change-Id: I1821f1b2b772c67f1b749692b398eb757d8073c9
> Reviewed-on: https://skia-review.googlesource.com/52744
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com
Change-Id: I1c8a81ed1000446c298d646d2cd5e7ebd212f18c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/52860
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'src/gpu/GrOpList.cpp')
-rw-r--r-- | src/gpu/GrOpList.cpp | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/src/gpu/GrOpList.cpp b/src/gpu/GrOpList.cpp index 59e1cd0f23..65d4e73fd0 100644 --- a/src/gpu/GrOpList.cpp +++ b/src/gpu/GrOpList.cpp @@ -8,9 +8,8 @@ #include "GrOpList.h" #include "GrContext.h" -#include "GrDeferredProxyUploader.h" +#include "GrPrepareCallback.h" #include "GrSurfaceProxy.h" -#include "GrTextureProxyPriv.h" #include "SkAtomics.h" @@ -58,19 +57,17 @@ void GrOpList::reset() { } fTarget.reset(); - fDeferredProxies.reset(); + fPrepareCallbacks.reset(); fAuditTrail = nullptr; } -void GrOpList::instantiateDeferredProxies(GrResourceProvider* resourceProvider) { - for (int i = 0; i < fDeferredProxies.count(); ++i) { - fDeferredProxies[i]->instantiate(resourceProvider); - } +void GrOpList::addPrepareCallback(std::unique_ptr<GrPrepareCallback> callback) { + fPrepareCallbacks.push_back(std::move(callback)); } void GrOpList::prepare(GrOpFlushState* flushState) { - for (int i = 0; i < fDeferredProxies.count(); ++i) { - fDeferredProxies[i]->texPriv().scheduleUpload(flushState); + for (int i = 0; i < fPrepareCallbacks.count(); ++i) { + (*fPrepareCallbacks[i])(flushState); } this->onPrepare(flushState); @@ -103,12 +100,6 @@ void GrOpList::addDependency(GrSurfaceProxy* dependedOn, const GrCaps& caps) { opList->makeClosed(caps); } } - - if (GrTextureProxy* textureProxy = dependedOn->asTextureProxy()) { - if (textureProxy->texPriv().isDeferred()) { - fDeferredProxies.push_back(textureProxy); - } - } } #ifdef SK_DEBUG |