aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2017-05-18 16:27:17 -0700
committerChris Forbes <chrisf@ijw.co.nz>2017-05-18 19:08:01 -0700
commit8b9e5bc87ef528df943b1eacbdc2af54b06ecee0 (patch)
tree3378452f2e8fdddbeabd77102b6c588e97bb0b26
parent25dc3aef90619e33f53e0393511f9ffeea667ee8 (diff)
downloadusermoji-8b9e5bc87ef528df943b1eacbdc2af54b06ecee0.tar.xz
layers: Cascade invalidation to primary command buffer(s)
-rw-r--r--layers/core_validation.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index c36c9e33..32905c3b 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -5629,6 +5629,11 @@ void invalidateCommandBuffers(const layer_data *dev_data, std::unordered_set<GLO
}
cb_node->state = CB_INVALID;
cb_node->broken_bindings.push_back(obj);
+
+ // if secondary, then propagate the invalidation to the primaries that will call us.
+ if (cb_node->createInfo.level == VK_COMMAND_BUFFER_LEVEL_SECONDARY) {
+ invalidateCommandBuffers(dev_data, cb_node->linkedCommandBuffers, obj);
+ }
}
}