class VulkanPipelineState: public NonCopyable
{
+ friend class DescriptorPool;
friend class PipelineCache;
friend class VulkanCommands;
mutable unsigned changes = 0;
mutable unsigned unapplied = 0;
mutable VkPipeline handle;
- mutable std::vector<VkDescriptorSet> descriptor_set_handles;
+ mutable std::vector<unsigned> descriptor_set_slots;
VulkanPipelineState();
VulkanPipelineState(VulkanPipelineState &&);
std::uint64_t compute_hash() const;
void fill_creation_info(std::vector<char> &) const;
std::uint64_t compute_descriptor_set_hash(unsigned) const;
+ bool is_descriptor_set_dynamic(unsigned) const;
VkDescriptorSetLayout get_descriptor_set_layout(unsigned) const;
- unsigned fill_descriptor_writes(unsigned, std::vector<char> &) const;
+ unsigned fill_descriptor_writes(unsigned, unsigned, std::vector<char> &) const;
void apply(VkCommandBuffer, const VulkanPipelineState *, unsigned, bool) const;
};