#pragma once #include struct SubmitInfo { //image available semaphore VkSemaphore ias; //current command buffer VkCommandBuffer cmdBuf; VkFence submitFence; }; class Pipeline { public: virtual ~Pipeline() {} //record into command buffer virtual void Record(VkCommandBuffer, uint32_t) {} //submit work virtual void Submit(SubmitInfo) {} //we require very pipeline to have a render finished semaphore VkSemaphore m_renderFinishedSemaphore = VK_NULL_HANDLE; };