aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrOpList.cpp
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2017-09-28 17:45:20 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-09-28 17:45:32 +0000
commit9f8d4d36b514ffe3cc3a4a48900e3dc1fecb2a96 (patch)
tree332ff8c62c1dff41f48672c001bddedf956a43b6 /src/gpu/GrOpList.cpp
parentabb8bb307cea0cf2fae605bd0e80a81854da760e (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.cpp21
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