public void EnqueueDisposedCommandBuffer(VkCommandList vkCL) { lock (_commandListsToDispose) { _commandListsToDispose.Add(vkCL); } }
public override void ExecuteCommands(CommandList cl) { VkCommandList vkCL = Util.AssertSubtype <CommandList, VkCommandList>(cl); VkSubmitInfo si = VkSubmitInfo.New(); si.commandBufferCount = 1; VkCommandBuffer vkCB = vkCL.CommandBuffer; si.pCommandBuffers = &vkCB; VkPipelineStageFlags waitDstStageMask = VkPipelineStageFlags.ColorAttachmentOutput; si.pWaitDstStageMask = &waitDstStageMask; vkQueueSubmit(_graphicsQueue, 1, ref si, VkFence.Null); lock (_disposablesLock) { vkCL.CollectDisposables(_imagesToDestroy, _memoriesToFree); } }