diff --git a/inc/hgl/graph/vulkan/VKDevice.h b/inc/hgl/graph/vulkan/VKDevice.h index a066cac9..45e5cb69 100644 --- a/inc/hgl/graph/vulkan/VKDevice.h +++ b/inc/hgl/graph/vulkan/VKDevice.h @@ -130,11 +130,11 @@ public: //Command Buffer 相关 public: //提交相关 - bool AcquireNextImage (); - bool SubmitDraw (const VkCommandBuffer *,const uint32_t count=1); - bool SubmitTexture (const VkCommandBuffer *cmd_bufs,const uint32_t count=1); - bool Wait (bool wait_all=VK_TRUE,uint64_t time_out=HGL_NANO_SEC_PER_SEC*0.1); - bool QueuePresent (); + bool Wait (bool wait_all=VK_TRUE,uint64_t time_out=HGL_NANO_SEC_PER_SEC*0.1); ///<等待队列完成 + bool AcquireNextImage (); ///<请求切换到下一帧(注意此函数调用并不代表画面会出现) + bool SubmitDraw (const VkCommandBuffer *,const uint32_t count=1); ///<提交绘制指令 + bool SubmitTexture (const VkCommandBuffer *cmd_bufs,const uint32_t count=1); ///<提交纹理处理到队列 + bool QueuePresent (); ///<等待队列完成,并将画面呈现出来 };//class Device VK_NAMESPACE_END #endif//HGL_GRAPH_RENDER_SURFACE_INCLUDE diff --git a/src/RenderDevice/Vulkan/VKDevice.cpp b/src/RenderDevice/Vulkan/VKDevice.cpp index d4130a3c..2eba5e6c 100644 --- a/src/RenderDevice/Vulkan/VKDevice.cpp +++ b/src/RenderDevice/Vulkan/VKDevice.cpp @@ -30,20 +30,20 @@ Device::Device(DeviceAttribute *da) present_complete_semaphore =this->CreateSem(); render_complete_semaphore =this->CreateSem(); - submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; - submit_info.pNext = nullptr; - submit_info.waitSemaphoreCount = 1; - submit_info.pWaitSemaphores = *present_complete_semaphore; - submit_info.pWaitDstStageMask = &pipe_stage_flags; - submit_info.signalSemaphoreCount = 1; - submit_info.pSignalSemaphores = *render_complete_semaphore; + submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submit_info.pNext = nullptr; + submit_info.waitSemaphoreCount = 1; + submit_info.pWaitSemaphores = *present_complete_semaphore; + submit_info.pWaitDstStageMask = &pipe_stage_flags; + submit_info.signalSemaphoreCount = 1; + submit_info.pSignalSemaphores = *render_complete_semaphore; present_info.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR; present_info.pNext = nullptr; - present_info.swapchainCount = 1; - present_info.pResults = nullptr; present_info.waitSemaphoreCount = 1; present_info.pWaitSemaphores = *render_complete_semaphore; + present_info.swapchainCount = 1; + present_info.pResults = nullptr; RecreateDevice(); } @@ -104,12 +104,12 @@ CommandBuffer *Device::CreateCommandBuffer() if(!attr->cmd_pool) return(nullptr); - VkCommandBufferAllocateInfo cmd={}; - cmd.sType=VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; - cmd.pNext=nullptr; - cmd.commandPool=attr->cmd_pool; - cmd.level=VK_COMMAND_BUFFER_LEVEL_PRIMARY; - cmd.commandBufferCount=1; + VkCommandBufferAllocateInfo cmd; + cmd.sType =VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + cmd.pNext =nullptr; + cmd.commandPool =attr->cmd_pool; + cmd.level =VK_COMMAND_BUFFER_LEVEL_PRIMARY; + cmd.commandBufferCount =1; VkCommandBuffer cmd_buf;