aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2018-07-13 11:44:53 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-13 16:32:54 +0000
commited1205ae20b213c07305d604b2b515ab27cba085 (patch)
treed63b2c6cefd77aaed582589933e4e3a2d21f03f9 /src/gpu
parent4c3b82487457d7b9c44a3ac4d6e4560f404f623c (diff)
Make GrRenderTargetOpList::purgeOpsWithUninstantiatedProxies match the GrTextureOpList version
This should fix the TSAN bug: 5.17m /b/s/w/ir/build/dm(_ZN14GrOpMemoryPool7releaseENSt3__110unique_ptrI4GrOpNS0_14default_deleteIS2_EEEE+0x40) [0x1ba6b40] build/dm GrOpMemoryPool::release(std::__1::unique_ptr >) at src/gpu/GrMemoryPool.cpp:24 5.17m /b/s/w/ir/build/dm(_ZN20GrRenderTargetOpList33purgeOpsWithUninstantiatedProxiesEv+0x238) [0x1bd65f8] build/dm std::__1::unique_ptr >::reset(GrOp*) at include/c++/v1/memory:2595 Change-Id: I3788dd68993ae86f3c316be9bcbaa1f15abdfbf3 Reviewed-on: https://skia-review.googlesource.com/141242 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu')
-rw-r--r--src/gpu/GrRenderTargetOpList.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gpu/GrRenderTargetOpList.cpp b/src/gpu/GrRenderTargetOpList.cpp
index 423b71ca10..530f1ae708 100644
--- a/src/gpu/GrRenderTargetOpList.cpp
+++ b/src/gpu/GrRenderTargetOpList.cpp
@@ -269,7 +269,9 @@ void GrRenderTargetOpList::purgeOpsWithUninstantiatedProxies() {
};
for (RecordedOp& recordedOp : fRecordedOps) {
hasUninstantiatedProxy = false;
- recordedOp.visitProxies(checkInstantiation);
+ if (recordedOp.fOp) {
+ recordedOp.visitProxies(checkInstantiation);
+ }
if (hasUninstantiatedProxy) {
// When instantiation of the proxy fails we drop the Op
recordedOp.deleteOp(fOpMemoryPool.get());