3#include "pixelbullet/private/graphics/rendering/descriptors/descriptor.h"
4#include "pixelbullet/private/graphics/rendering/pipelines/pipeline_metadata.h"
11namespace pixelbullet::graphics_descriptors_internal
16 WriteDescriptorSet write_descriptor;
19WriteDescriptorSet BuildArrayWriteDescriptorSet(
const std::string& descriptor_name,
const DescriptorBindingInfo& binding,
20 const std::vector<const Descriptor*>& descriptors,
21 const std::optional<OffsetSize>& offset_size);
22std::vector<std::vector<VkWriteDescriptorSet>>
23BuildWriteDescriptorSetsBySet(
const std::vector<PreparedDescriptorWrite>& descriptor_writes,
24 const std::vector<std::vector<VkDescriptorSet>>& descriptor_sets_by_set, uint32_t descriptor_index);
25std::vector<VkDescriptorSet> CollectDescriptorSetsForBind(
const std::vector<std::vector<VkDescriptorSet>>& descriptor_sets_by_set,
26 uint32_t descriptor_index);
28template <
typename WaitIdleFn,
typename ReplaceFn>
29bool ApplySafeDescriptorSetReplacementPolicy(
const bool has_live_descriptor_sets, WaitIdleFn&& wait_idle, ReplaceFn&& replace)
31 if (has_live_descriptor_sets)
33 std::forward<WaitIdleFn>(wait_idle)();
36 std::forward<ReplaceFn>(replace)();
37 return has_live_descriptor_sets;
Definition descriptors_handler_internal.h:14