aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2016-06-15 14:06:23 +1200
committerMark Lobodzinski <mark@lunarg.com>2016-06-20 15:48:32 -0600
commit27628cff000b2fbbd29865ae18ca159d4c0fdb3b (patch)
tree5d87b40d8dca2ae666e451ea8f4643f85b204b19 /layers/core_validation.cpp
parentbe30e5771399d7efbaf5f686933b70d86625eb16 (diff)
downloadusermoji-27628cff000b2fbbd29865ae18ca159d4c0fdb3b.tar.xz
layers: use getFenceNode in decrementResources
Change-Id: I8351405299f2f109489fdddfc111412164aded77 Signed-off-by: Chris Forbes <chrisforbes@google.com>
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index 74f41c31..6396159f 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -4255,23 +4255,23 @@ static bool decrementResources(layer_data *my_data, uint32_t fenceCount, const V
bool skip_call = false;
std::vector<std::pair<VkFence, FENCE_NODE *>> fence_pairs;
for (uint32_t i = 0; i < fenceCount; ++i) {
- auto fence_data = my_data->fenceMap.find(pFences[i]);
- if (fence_data == my_data->fenceMap.end() || !fence_data->second.needsSignaled)
+ auto pFence = getFenceNode(my_data, pFences[i]);
+ if (!pFence || !pFence->needsSignaled)
return skip_call;
- fence_data->second.needsSignaled = false;
- if (fence_data->second.in_use.load()) {
- fence_pairs.push_back(std::make_pair(fence_data->first, &fence_data->second));
- fence_data->second.in_use.fetch_sub(1);
- }
- decrementResources(my_data, static_cast<uint32_t>(fence_data->second.priorFences.size()),
- fence_data->second.priorFences.data());
- for (auto & submission : fence_data->second.submissions) {
+ pFence->needsSignaled = false;
+ if (pFence->in_use.load()) {
+ fence_pairs.emplace_back(pFences[i], pFence);
+ pFence->in_use.fetch_sub(1);
+ }
+ decrementResources(my_data, static_cast<uint32_t>(pFence->priorFences.size()),
+ pFence->priorFences.data());
+ for (auto & submission : pFence->submissions) {
decrementResources(my_data, &submission);
skip_call |= cleanInFlightCmdBuffer(my_data, submission.cb);
removeInFlightCmdBuffer(my_data, submission.cb);
}
- fence_data->second.submissions.clear();
- fence_data->second.priorFences.clear();
+ pFence->submissions.clear();
+ pFence->priorFences.clear();
}
for (auto fence_pair : fence_pairs) {
for (auto queue : fence_pair.second->queues) {