Ejemplo n.º 1
0
 public void EnqueueDisposedCommandBuffer(VkCommandList vkCL)
 {
     lock (_commandListsToDispose)
     {
         _commandListsToDispose.Add(vkCL);
     }
 }
Ejemplo n.º 2
0
        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);
            }
        }