|
Blender V4.3
|
#include <vk_descriptor_pools.hh>
Public Member Functions | |
| VKDescriptorPools () | |
| ~VKDescriptorPools () | |
| void | init (const VKDevice &vk_device) |
| VkDescriptorSet | allocate (const VkDescriptorSetLayout descriptor_set_layout) |
| void | reset () |
List of VkDescriptorPools.
In Vulkan a pool is constructed with a fixed size per resource type. When more resources are needed it a next pool should be created. VKDescriptorPools will keep track of those pools and construct new pools when the previous one is exhausted.
At the beginning of a new frame the descriptor pools are reset. This will start allocating again from the first descriptor pool in order to use freed space from previous pools.
Definition at line 28 of file vk_descriptor_pools.hh.
| blender::gpu::VKDescriptorPools::VKDescriptorPools | ( | ) |
Definition at line 15 of file vk_descriptor_pools.cc.
| blender::gpu::VKDescriptorPools::~VKDescriptorPools | ( | ) |
Definition at line 17 of file vk_descriptor_pools.cc.
References blender::gpu::VKBackend::device, blender::gpu::VKBackend::get(), and VK_ALLOCATION_CALLBACKS.
| VkDescriptorSet blender::gpu::VKDescriptorPools::allocate | ( | const VkDescriptorSetLayout | descriptor_set_layout | ) |
Definition at line 87 of file vk_descriptor_pools.cc.
References allocate(), BLI_assert, blender::gpu::VKBackend::device, ELEM, blender::gpu::VKBackend::get(), and blender::gpu::VKDevice::vk_handle().
Referenced by allocate().
| void blender::gpu::VKDescriptorPools::init | ( | const VKDevice & | vk_device | ) |
Definition at line 26 of file vk_descriptor_pools.cc.
References BLI_assert, and blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty().
Referenced by blender::gpu::VKResourcePool::init().
| void blender::gpu::VKDescriptorPools::reset | ( | ) |
Reset the pools to start looking for free space from the first descriptor pool.
Definition at line 32 of file vk_descriptor_pools.cc.
References blender::gpu::VKBackend::device, blender::gpu::VKBackend::get(), and blender::gpu::VKDevice::vk_handle().
Referenced by blender::gpu::VKResourcePool::reset().