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;
45 bool fb_is_swapchain = false;
51 void begin_render_pass(bool, const ClearValue *);
52 void end_render_pass();
54 void begin_frame(unsigned);
56 void submit_frame(Semaphore *, Semaphore *);
58 void use_pipeline(const PipelineState *);
59 void clear(const ClearValue *);
60 void draw(const Batch &);
61 void draw_instanced(const Batch &, unsigned);
62 void resolve_multisample(Framebuffer &);
64 void begin_query(const QueryPool &, unsigned);
65 void end_query(const QueryPool &, unsigned);
68 using CommandsBackend = VulkanCommands;