1 #ifndef MSP_GL_COMMANDS_BACKEND_H_
2 #define MSP_GL_COMMANDS_BACKEND_H_
27 VkCommandPool pool = 0;
28 std::vector<VkCommandBuffer> buffers;
29 unsigned next_buffer = 0;
33 CommandPool(Device &);
34 CommandPool(CommandPool &&);
39 std::vector<CommandPool> command_pools;
40 CommandPool *current_pool = 0;
41 VkCommandBuffer current_buffer = 0;
42 const PipelineState *pipeline_state = 0;
43 const Framebuffer *framebuffer = 0;
44 const Rect *viewport = 0;
50 void begin_render_pass(bool, const ClearValue *);
51 void end_render_pass();
53 void begin_frame(unsigned);
55 void submit_frame(Semaphore *, Semaphore *);
57 void use_pipeline(const PipelineState *);
58 void clear(const ClearValue *);
59 void draw(const Batch &);
60 void draw_instanced(const Batch &, unsigned);
61 void resolve_multisample(Framebuffer &);
63 void begin_query(const QueryPool &, unsigned);
64 void end_query(const QueryPool &, unsigned);
67 using CommandsBackend = VulkanCommands;