tests: Loop over objects to reduce code
TwoFencesThreeFrames had duplicate code that could be removed
and just loop over NUM_OBJECTS instead.
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index f313f66..34241be 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -3017,43 +3017,29 @@
}
for (uint32_t frame = 0; frame < NUM_FRAMES; ++frame) {
- // Create empty cmd buffer
- VkCommandBufferBeginInfo cmdBufBeginDesc = {};
- cmdBufBeginDesc.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
+ for (uint32_t obj = 0; obj < NUM_OBJECTS; ++obj) {
+ // Create empty cmd buffer
+ VkCommandBufferBeginInfo cmdBufBeginDesc = {};
+ cmdBufBeginDesc.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
- err = vkBeginCommandBuffer(cmd_buffers[0], &cmdBufBeginDesc);
- ASSERT_VK_SUCCESS(err);
- err = vkEndCommandBuffer(cmd_buffers[0]);
- ASSERT_VK_SUCCESS(err);
+ err = vkBeginCommandBuffer(cmd_buffers[obj], &cmdBufBeginDesc);
+ ASSERT_VK_SUCCESS(err);
+ err = vkEndCommandBuffer(cmd_buffers[obj]);
+ ASSERT_VK_SUCCESS(err);
- VkSubmitInfo submit_info = {};
- submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
- submit_info.commandBufferCount = 1;
- submit_info.pCommandBuffers = &cmd_buffers[0];
- // Submit cmd buffer and wait for fence
- err = vkQueueSubmit(queue, 1, &submit_info, fences[0]);
- ASSERT_VK_SUCCESS(err);
- err = vkWaitForFences(m_device->device(), 1, &fences[0], VK_TRUE,
- UINT64_MAX);
- ASSERT_VK_SUCCESS(err);
- err = vkResetFences(m_device->device(), 1, &fences[0]);
- ASSERT_VK_SUCCESS(err);
-
- // 2nd cmd buffer with separate fence
- err = vkBeginCommandBuffer(cmd_buffers[1], &cmdBufBeginDesc);
- ASSERT_VK_SUCCESS(err);
- err = vkEndCommandBuffer(cmd_buffers[1]);
- ASSERT_VK_SUCCESS(err);
- // Update submit info to refer to 2nd cmd buffer
- submit_info.pCommandBuffers = &cmd_buffers[1];
- // Submit 2nd cmd buffer and wait for its fence
- err = vkQueueSubmit(queue, 1, &submit_info, fences[1]);
- ASSERT_VK_SUCCESS(err);
- err = vkWaitForFences(m_device->device(), 1, &fences[1], VK_TRUE,
- UINT64_MAX);
- ASSERT_VK_SUCCESS(err);
- err = vkResetFences(m_device->device(), 1, &fences[1]);
- ASSERT_VK_SUCCESS(err);
+ VkSubmitInfo submit_info = {};
+ submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
+ submit_info.commandBufferCount = 1;
+ submit_info.pCommandBuffers = &cmd_buffers[obj];
+ // Submit cmd buffer and wait for fence
+ err = vkQueueSubmit(queue, 1, &submit_info, fences[obj]);
+ ASSERT_VK_SUCCESS(err);
+ err = vkWaitForFences(m_device->device(), 1, &fences[obj], VK_TRUE,
+ UINT64_MAX);
+ ASSERT_VK_SUCCESS(err);
+ err = vkResetFences(m_device->device(), 1, &fences[obj]);
+ ASSERT_VK_SUCCESS(err);
+ }
}
m_errorMonitor->VerifyNotFound();
}