layers: Added fence validation check to object_tracker
Validate that all fences in WaitForFences call have been submitted.
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index 5a19ddf..c5c6227 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -1132,6 +1132,11 @@
elif 'GetFenceStatus' in proto.name:
using_line += ' // Warn if submitted_flag is not set\n'
using_line += ' validate_status(fence, VkObjectTypeFence, OBJSTATUS_FENCE_IS_SUBMITTED, OBJSTATUS_FENCE_IS_SUBMITTED, VK_DBG_MSG_ERROR, OBJTRACK_INVALID_FENCE, "Status Requested for Unsubmitted Fence");\n'
+ elif 'WaitForFences' in proto.name:
+ using_line += ' // Warn if waiting on unsubmitted fence\n'
+ using_line += ' for (uint32_t i = 0; i < fenceCount; i++) {\n'
+ using_line += ' validate_status(pFences[i], VkObjectTypeFence, OBJSTATUS_FENCE_IS_SUBMITTED, OBJSTATUS_FENCE_IS_SUBMITTED, VK_DBG_MSG_ERROR, OBJTRACK_INVALID_FENCE, "Waiting for Unsubmitted Fence");\n'
+ using_line += ' }\n'
elif 'EndCommandBuffer' in proto.name:
using_line += ' reset_status(cmdBuffer, VkObjectTypeCmdBuffer, (OBJSTATUS_VIEWPORT_BOUND |\n'
using_line += ' OBJSTATUS_RASTER_BOUND |\n'