15#include <vsg/vk/Device.h>
16#include <vsg/vk/vk_buffer.h>
23 using DescriptorSetLayoutBindings = std::vector<VkDescriptorSetLayoutBinding>;
24 using DescriptorPoolSizes = std::vector<VkDescriptorPoolSize>;
43 virtual void compile(
Context& context);
46 void release(
uint32_t deviceID) { _implementation[deviceID] = {}; }
47 void release() { _implementation.clear(); }
53 void write(
Output& output)
const override;
72 using DescriptorSetLayouts = std::vector<vsg::ref_ptr<vsg::DescriptorSetLayout>>;
DescriptorSetLayout encapsulates VkDescriptorSetLayout and VkDescriptorSetLayoutCreateInfo settings u...
Definition DescriptorSetLayout.h:28
void getDescriptorPoolSizes(DescriptorPoolSizes &descriptorPoolSizes)
map the descriptor bindings to the descriptor pool sizes that will be required to represent them.
virtual VkDescriptorSetLayout vk(uint32_t deviceID) const
Vulkan VkDescriptorSetLayout handle.
Definition DescriptorSetLayout.h:34
DescriptorSetLayoutBindings bindings
VkDescriptorSetLayoutCreateInfo settings.
Definition DescriptorSetLayout.h:37
int compare(const Object &rhs_object) const override
compare two objects, return -1 if this object is less than rhs, return 0 if it's equal,...
Device encapsulates VkDevice, a logical handle to the PhysicalDevice with capabilities specified duri...
Definition Device.h:37
Definition DescriptorSetLayout.h:59
std container adapter for allocating with MEMORY_AFFINITY_NODES
Definition Allocator.h:138