#include "render/vulkan_queue.h" namespace mirai { vulkan_queue::vulkan_queue(vk::Device device, vk::Queue queue, u32 family_index, u32 queue_index) : device_(device) , queue_(queue) , family_index_(family_index), queue_index_(queue_index) { } vk::Result vulkan_queue::submit( const std::vector& command_buffers, const std::vector& wait_semaphores, const std::vector& signal_semaphores, vk::Fence fence) { std::lock_guard lock(get_lock()); vk::SubmitInfo2 submit_info; submit_info.setCommandBufferInfos(command_buffers); submit_info.setWaitSemaphoreInfos(wait_semaphores); submit_info.setSignalSemaphoreInfos(signal_semaphores); return queue_.submit2(submit_info, fence); } vk::Result vulkan_queue::wait_idle() { std::lock_guard lock(get_lock()); return queue_.waitIdle(); } void_result_t vulkan_graphics_queue::submit(const std::vector& command_buffers) { vk::PipelineStageFlags waitStages[] = {vk::PipelineStageFlagBits::eColorAttachmentOutput}; submitInfo.setWaitSemaphores(imageAvailableSemaphore); submitInfo.setPWaitDstStageMask(waitStages); } void_result_t vulkan_present_queue::present(const vk::PresentInfoKHR& present_info) { } } // namespace mirai