aboutsummaryrefslogtreecommitdiff
path: root/layers/unique_objects.cpp
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2017-04-06 16:33:46 -0700
committerChris Forbes <chrisf@ijw.co.nz>2017-04-29 13:32:54 -0700
commit789e042d9a1bd703ba14d5d450e0c5abcc3dbd8c (patch)
treef2b5d73885f84baba0f4270412a3b5d70f67a8a0 /layers/unique_objects.cpp
parentef92acd69f8bb6bf609776d1aefbaacd76789c43 (diff)
downloadusermoji-789e042d9a1bd703ba14d5d450e0c5abcc3dbd8c.tar.xz
layers: Rewrite VerifyQueueStateToSeq to be less wasteful
When we have the same queue appearing multiple times in the dependency tree of the operations between queue->seq and seq, we would scrub that part of the submission list recursively, potentially to a great depth, eventually blowing the stack. [This used to work fine when it was done as part of RetireWorkOnQueue, as we'd have brought queue->seq up as we went, and the recursive call would end up doing no work.] Instead, explicitly track where we're up to on each queue as well as where we'd like to be, and use an explicit stack of work to do rather than using the call stack. Fixes crash in VkLayerTests.LongSemaphoreChain with 32k semaphores. V2: Explain what's going on V3: Tweak for windows build
Diffstat (limited to 'layers/unique_objects.cpp')
0 files changed, 0 insertions, 0 deletions