aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2016-06-10 15:25:12 +1200
committerTobin Ehlis <tobine@google.com>2016-06-13 14:56:31 -0600
commit33f842e263f11cbfd6211f0188a8c4b4dfd76da6 (patch)
tree84cd40e733e5866e31300e5a1eee1f25e4bb05d9
parent9d7cfa74ea05b82310bf89b2dec24782e04f0fb9 (diff)
downloadusermoji-33f842e263f11cbfd6211f0188a8c4b4dfd76da6.tar.xz
layers: Note broken behavior around stealing tracking from other queues
Signed-off-by: Chris Forbes <chrisforbes@google.com>
-rw-r--r--layers/core_validation.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index 7dbbd343..779addb7 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -4305,6 +4305,12 @@ static void updateTrackedCommandBuffers(layer_data *dev_data, VkQueue queue, VkQ
fence_node->second.queues.insert(other_queue_data->first);
}
}
+ // TODO: Stealing the untracked CBs out of the signaling queue isn't really
+ // correct. A subsequent submission + wait, or a QWI on that queue, or
+ // another semaphore dependency to a third queue may /all/ provide
+ // suitable proof that the work we're stealing here has completed on the
+ // device, but we've lost that information by moving the tracking between
+ // queues.
if (fence != VK_NULL_HANDLE) {
auto fence_data = dev_data->fenceMap.find(fence);
if (fence_data == dev_data->fenceMap.end()) {