]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/vulkan/device_backend.h
Rewrite descriptor set management
[libs/gl.git] / source / backends / vulkan / device_backend.h
index 9c115661b69173e9227cd47225af6026ed392354..d490c6f95c6ece87fb1e7822e521ba7295afc68a 100644 (file)
@@ -3,10 +3,12 @@
 
 #include <msp/core/noncopyable.h>
 #include <msp/graphics/vulkancontext.h>
+#include "descriptorpool.h"
 #include "destroyqueue.h"
 #include "handles.h"
 #include "memoryallocator.h"
 #include "pipelinecache.h"
+#include "synchronizer.h"
 #include "transferqueue.h"
 
 namespace Msp {
@@ -25,8 +27,10 @@ protected:
        RefPtr<VulkanFunctions> functions;
        MemoryAllocator allocator;
        DestroyQueue destroy_queue;
+       Synchronizer synchronizer;
        TransferQueue transfer_queue;
        PipelineCache pipeline_cache;
+       DescriptorPool descriptor_pool;
        unsigned n_frames_in_flight = 3;
 
        VulkanDevice(Graphics::Window &, const Graphics::VulkanOptions &);
@@ -42,8 +46,10 @@ public:
        const VulkanFunctions &get_functions() const { return *functions; }
        MemoryAllocator &get_allocator() { return allocator; }
        DestroyQueue &get_destroy_queue() { return destroy_queue; }
+       Synchronizer &get_synchronizer() { return synchronizer; }
        TransferQueue &get_transfer_queue() { return transfer_queue; }
        PipelineCache &get_pipeline_cache() { return pipeline_cache; }
+       DescriptorPool &get_descriptor_pool() { return descriptor_pool; }
        unsigned get_n_frames_in_flight() const { return n_frames_in_flight; }
 };