diff --git a/layer_gpu_timeline/source/layer_device_functions_render_pass.cpp b/layer_gpu_timeline/source/layer_device_functions_render_pass.cpp index be6a0a2..1a0b6e7 100644 --- a/layer_gpu_timeline/source/layer_device_functions_render_pass.cpp +++ b/layer_gpu_timeline/source/layer_device_functions_render_pass.cpp @@ -323,6 +323,11 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdEndRenderPass2(VkCommandBuffer c std::unique_lock lock {g_vulkanLock}; auto* layer = Device::retrieve(commandBuffer); + // Update the layer command stream in the tracker + auto& tracker = layer->getStateTracker(); + auto& cb = tracker.getCommandBuffer(commandBuffer); + cb.renderPassEnd(); + // Release the lock to call into the driver lock.unlock(); layer->driver.vkCmdEndRenderPass2(commandBuffer, pSubpassEndInfo); @@ -340,6 +345,11 @@ VKAPI_ATTR void VKAPI_CALL layer_vkCmdEndRenderPass2KHR(VkCommandBuffe std::unique_lock lock {g_vulkanLock}; auto* layer = Device::retrieve(commandBuffer); + // Update the layer command stream in the tracker + auto& tracker = layer->getStateTracker(); + auto& cb = tracker.getCommandBuffer(commandBuffer); + cb.renderPassEnd(); + // Release the lock to call into the driver lock.unlock(); layer->driver.vkCmdEndRenderPass2KHR(commandBuffer, pSubpassEndInfo);