Command buffer fence ordering

This commit is contained in:
saschawillems 2018-09-09 10:05:21 +02:00
parent 3b2e23ac49
commit b273739e66

View file

@ -614,15 +614,6 @@ public:
void draw() void draw()
{ {
VulkanExampleBase::prepareFrame();
updateCommandBuffers(frameBuffers[currentBuffer]);
submitInfo.commandBufferCount = 1;
submitInfo.pCommandBuffers = &primaryCommandBuffer;
VK_CHECK_RESULT(vkQueueSubmit(queue, 1, &submitInfo, renderFence));
// Wait for fence to signal that all command buffers are ready // Wait for fence to signal that all command buffers are ready
VkResult fenceRes; VkResult fenceRes;
do { do {
@ -631,6 +622,15 @@ public:
VK_CHECK_RESULT(fenceRes); VK_CHECK_RESULT(fenceRes);
vkResetFences(device, 1, &renderFence); vkResetFences(device, 1, &renderFence);
updateCommandBuffers(frameBuffers[currentBuffer]);
VulkanExampleBase::prepareFrame();
submitInfo.commandBufferCount = 1;
submitInfo.pCommandBuffers = &primaryCommandBuffer;
VK_CHECK_RESULT(vkQueueSubmit(queue, 1, &submitInfo, renderFence));
VulkanExampleBase::submitFrame(); VulkanExampleBase::submitFrame();
} }
@ -638,7 +638,7 @@ public:
{ {
VulkanExampleBase::prepare(); VulkanExampleBase::prepare();
// Create a fence for synchronization // Create a fence for synchronization
VkFenceCreateInfo fenceCreateInfo = vks::initializers::fenceCreateInfo(VK_FLAGS_NONE); VkFenceCreateInfo fenceCreateInfo = vks::initializers::fenceCreateInfo(VK_FENCE_CREATE_SIGNALED_BIT);
vkCreateFence(device, &fenceCreateInfo, NULL, &renderFence); vkCreateFence(device, &fenceCreateInfo, NULL, &renderFence);
loadMeshes(); loadMeshes();
setupVertexDescriptions(); setupVertexDescriptions();