CsPaint  1.0.1
cspaint_descriptorpool.h
1 
19 #ifndef INCLUDED_CSPAINT_DESCRIPTORPOOL_H
20 #define INCLUDED_CSPAINT_DESCRIPTORPOOL_H
21 
22 #include <cspaint_fwd.h>
23 
24 #include <vulkan/vulkan.hpp>
25 
26 namespace CsPaint
27 {
28 
29  class descriptor_pool: public std::enable_shared_from_this<descriptor_pool>
30 {
31  public:
32  using handle = std::shared_ptr<descriptor_pool>;
33 
34  descriptor_pool(CsPaint::device_handle device, vk::UniqueDescriptorPool pool);
35 
36  descriptor_pool(const descriptor_pool &) = delete;
37  void operator=(const descriptor_pool &) = delete;
38 
39  descriptor_handle createDescriptor(vk::DescriptorSetLayout layout);
40 
41  private:
42  CsPaint::device_handle m_device;
43  vk::UniqueDescriptorPool m_pool;
44 };
45 }; // namespace CsPaint
46 
47 #endif
descriptor_handle createDescriptor(vk::DescriptorSetLayout layout)
std::shared_ptr< descriptor > descriptor_handle
Definition: cspaint_fwd.h:39
void operator=(const descriptor_pool &) = delete
Definition: cspaint_device.h:35
std::shared_ptr< descriptor_pool > handle
Definition: cspaint_descriptorpool.h:32
descriptor_pool(CsPaint::device_handle device, vk::UniqueDescriptorPool pool)
Definition: cspaint_descriptorpool.h:29
std::shared_ptr< device > device_handle
Definition: cspaint_fwd.h:45
Definition: cspaint_buffer.h:26