layers:Merge common loops
authorTobin Ehlis <tobine@google.com>
Mon, 26 Feb 2018 17:55:57 +0000 (10:55 -0700)
committerChris Forbes <chrisf@ijw.co.nz>
Tue, 27 Feb 2018 21:55:58 +0000 (13:55 -0800)
Can increment resources for secondary command buffers in the same loop
where image layouts are updated.

layers/core_validation.cpp

index d5668a7..e34f0cc 100644 (file)
@@ -2816,12 +2816,10 @@ static void PostCallRecordQueueSubmit(layer_data *dev_data, VkQueue queue, uint3
                 for (auto secondaryCmdBuffer : cb_node->linkedCommandBuffers) {
                     cbs.push_back(secondaryCmdBuffer->commandBuffer);
                     UpdateCmdBufImageLayouts(dev_data, secondaryCmdBuffer);
+                    incrementResources(dev_data, secondaryCmdBuffer);
                 }
                 UpdateCmdBufImageLayouts(dev_data, cb_node);
                 incrementResources(dev_data, cb_node);
-                for (auto secondaryCmdBuffer : cb_node->linkedCommandBuffers) {
-                    incrementResources(dev_data, secondaryCmdBuffer);
-                }
             }
         }
         pQueue->submissions.emplace_back(cbs, semaphore_waits, semaphore_signals, semaphore_externals,