ULRE/example/Vulkan/VKCommandBuffer.h

39 lines
930 B
C
Raw Normal View History

#ifndef HGL_GRAPH_VULKAN_COMMAND_BUFFER_INCLUDE
#define HGL_GRAPH_VULKAN_COMMAND_BUFFER_INCLUDE
#include"VK.h"
#include"VKVertexInput.h"
VK_NAMESPACE_BEGIN
2019-04-16 13:21:21 +08:00
class CommandBuffer
{
VkDevice device;
VkCommandPool pool;
VkCommandBuffer buf;
public:
CommandBuffer(VkDevice dev,VkCommandPool cp,VkCommandBuffer cb){device=dev;pool=cp;buf=cb;}
~CommandBuffer();
2019-04-16 13:21:21 +08:00
bool Bind(VertexInput *vi)
{
2019-04-16 13:21:21 +08:00
if(!vi)
return(false);
const List<VkBuffer> &buf_list=vi->GetBufferList();
if(buf_list.GetCount()<=0)
return(false);
constexpr VkDeviceSize zero_offsets[1]={0};
2019-04-16 13:21:21 +08:00
vkCmdBindVertexBuffers(buf,0,buf_list.GetCount(),buf_list.GetData(),zero_offsets);
2019-04-16 13:21:21 +08:00
return(true);
}
};//class CommandBuffer
VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_COMMAND_BUFFER_INCLUDE