From 33f842e263f11cbfd6211f0188a8c4b4dfd76da6 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Fri, 10 Jun 2016 15:25:12 +1200 Subject: [PATCH] layers: Note broken behavior around stealing tracking from other queues Signed-off-by: Chris Forbes --- layers/core_validation.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 7dbbd34..779addb 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()) { -- 2.7.4