A per-frame descriptor pool. Descriptors from this pool don't need to be freed individually. Instead, the pool must be collected after all the descriptors allocated from it are done being used. More...
#include <descriptor_pool_vk.h>
Public Member Functions | |
DescriptorPoolVK (std::weak_ptr< const ContextVK > context) | |
DescriptorPoolVK (std::weak_ptr< const ContextVK > context, DescriptorCacheMap descriptor_sets, std::vector< vk::UniqueDescriptorPool > pools) | |
~DescriptorPoolVK () | |
fml::StatusOr< vk::DescriptorSet > | AllocateDescriptorSets (const vk::DescriptorSetLayout &layout, PipelineKey pipeline_key, const ContextVK &context_vk) |
Friends | |
class | DescriptorPoolRecyclerVK |
A per-frame descriptor pool. Descriptors from this pool don't need to be freed individually. Instead, the pool must be collected after all the descriptors allocated from it are done being used.
The pool or it's descriptors may not be accessed from multiple threads.
Encoders create pools as necessary as they have the same threading and lifecycle restrictions.
Definition at line 36 of file descriptor_pool_vk.h.
|
explicit |
Definition at line 29 of file descriptor_pool_vk.cc.
impeller::DescriptorPoolVK::DescriptorPoolVK | ( | std::weak_ptr< const ContextVK > | context, |
DescriptorCacheMap | descriptor_sets, | ||
std::vector< vk::UniqueDescriptorPool > | pools | ||
) |
Definition at line 36 of file descriptor_pool_vk.cc.
impeller::DescriptorPoolVK::~DescriptorPoolVK | ( | ) |
Definition at line 43 of file descriptor_pool_vk.cc.
fml::StatusOr< vk::DescriptorSet > impeller::DescriptorPoolVK::AllocateDescriptorSets | ( | const vk::DescriptorSetLayout & | layout, |
PipelineKey | pipeline_key, | ||
const ContextVK & | context_vk | ||
) |
Definition at line 60 of file descriptor_pool_vk.cc.
References impeller::ContextVK::GetDevice(), and VALIDATION_LOG.
Referenced by impeller::testing::TEST().
|
friend |
Definition at line 52 of file descriptor_pool_vk.h.