]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/vulkan/commands_backend.h
Reuse previously allocated command buffers
[libs/gl.git] / source / backends / vulkan / commands_backend.h
index 8632ca7c2648e355091faccd69c75cc3aa6c33dc..a89225a6f6cdaa82279ec08e444e500b79789161 100644 (file)
@@ -14,6 +14,7 @@ class Device;
 class Framebuffer;
 class PipelineState;
 class QueryPool;
+struct Rect;
 class Semaphore;
 class SwapChain;
 
@@ -24,6 +25,8 @@ protected:
        {
                Device &device;
                VkCommandPool pool = 0;
+               std::vector<VkCommandBuffer> buffers;
+               unsigned next_buffer = 0;
                Fence fence;
                bool in_use = false;
                
@@ -37,13 +40,14 @@ protected:
        CommandPool *current_pool = 0;
        VkCommandBuffer current_buffer = 0;
        const PipelineState *pipeline_state = 0;
-       VkRenderPass render_pass = 0;
+       const Framebuffer *framebuffer = 0;
+       const Rect *viewport = 0;
 
        VulkanCommands();
        ~VulkanCommands();
 
        void begin_buffer();
-       void begin_render_pass(const ClearValue *);
+       void begin_render_pass(bool, const ClearValue *);
        void end_render_pass();
 
        void begin_frame(unsigned);