ULRE/example/Vulkan/RenderSurface.cpp

28 lines
628 B
C++

#include"RenderSurface.h"
VK_NAMESPACE_BEGIN
CommandBuffer *RenderSurface::CreateCommandBuffer()
{
if(!rsa->cmd_pool)
return(nullptr);
VkCommandBufferAllocateInfo cmd={};
cmd.sType=VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
cmd.pNext=nullptr;
cmd.commandPool=rsa->cmd_pool;
cmd.level=VK_COMMAND_BUFFER_LEVEL_PRIMARY;
cmd.commandBufferCount=1;
VkCommandBuffer cmd_buf;
VkResult res=vkAllocateCommandBuffers(rsa->device,&cmd,&cmd_buf);
if(res!=VK_SUCCESS)
return(nullptr);
return(new CommandBuffer(rsa->device,rsa->cmd_pool,cmd_buf));
}
VK_NAMESPACE_END