libcruft-vk/command_buffer.hpp
2016-02-24 11:11:41 +11:00

45 lines
1.4 KiB
C++

#ifndef __VK_COMMAND_BUFFER_HPP
#define __VK_COMMAND_BUFFER_HPP
#include "./object.hpp"
#include <cruft/util/view.hpp>
namespace vk {
struct command_buffer : public owned<command_buffer,device> {
void reset (VkCommandBufferResetFlags);
void begin (const VkCommandBufferBeginInfo&);
void begin (const VkRenderPassBeginInfo&, VkSubpassContents);
void end (void);
void end_pass (void);
template <size_t N>
void execute (const command_buffer (&buffers)[N]);
void next_subpass (VkSubpassContents);
void bind (VkPipelineBindPoint, const pipeline&);
void set (const event&, VkPipelineStageFlags);
void reset (const event&, VkPipelineStageFlags);
void wait (util::view<const event*>,
VkPipelineStageFlags src_mask,
VkPipelineStageFlags dst_mask,
util::view<const VkMemoryBarrier*>,
util::view<const VkBufferMemoryBarrier*>,
util::view<const VkImageMemoryBarrier*>);
void pipeline_barrier (
VkPipelineStageFlags src_mask,
VkPipelineStageFlags dst_mask,
VkDependencyFlags,
util::view<const VkMemoryBarrier*>,
util::view<const VkBufferMemoryBarrier*>,
util::view<const VkImageMemoryBarrier*>);
};
}
#endif