Class DescriptorSetManager¶
Defined in File descriptor_set_manager.h
Inheritance Relationships¶
Derived Type¶
public portal::renderer::vulkan::VulkanDescriptorSetManager(Class VulkanDescriptorSetManager)
Class Documentation¶
-
class DescriptorSetManager¶
Manages descriptor set bindings for a shader.
Binds resources (buffers, textures, images) to shader descriptor sets by name. Tracks invalidation and supports multi-buffering.
Subclassed by portal::renderer::vulkan::VulkanDescriptorSetManager
Public Functions
-
virtual ~DescriptorSetManager() = default¶
-
virtual void set_input(StringId name, const Reference<UniformBufferSet> &buffer) = 0¶
Binds uniform buffer set.
-
virtual void set_input(StringId name, const Reference<UniformBuffer> &buffer) = 0¶
Binds uniform buffer.
-
virtual void set_input(StringId name, const Reference<StorageBufferSet> &buffer) = 0¶
Binds storage buffer set.
-
virtual void set_input(StringId name, const Reference<StorageBuffer> &buffer) = 0¶
Binds storage buffer.
-
template<typename T>
inline Reference<T> get_input(const StringId name)¶ Gets bound input resource (typed)
-
virtual Reference<RendererResource> get_input(StringId name) = 0¶
Gets bound input resource.
- Parameters:
name – Binding name
- Returns:
Resource reference
-
virtual bool is_invalidated(size_t set, size_t binding_index) const = 0¶
Checks if binding is invalidated.
- Parameters:
set – Descriptor set index
binding_index – Binding index
- Returns:
True if invalidated
-
virtual void invalidate_and_update(size_t frame_index) = 0¶
-
virtual bool validate() = 0¶
Validates all bindings are set.
-
virtual void bake() = 0¶
Finalizes descriptor sets for rendering.
-
virtual ~DescriptorSetManager() = default¶