X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbackends%2Fvulkan%2Fpipelinestate_backend.h;h=085309e61872a82b058d593fa8af9d546836f613;hp=d482081bb400d4bc987c71048366eee26585536d;hb=370eb9e6a1e54da52047ba843e25c36be9789209;hpb=1ed4d66194a8a86413701a4c4e4178c2fb0a4ded diff --git a/source/backends/vulkan/pipelinestate_backend.h b/source/backends/vulkan/pipelinestate_backend.h index d482081b..085309e6 100644 --- a/source/backends/vulkan/pipelinestate_backend.h +++ b/source/backends/vulkan/pipelinestate_backend.h @@ -11,6 +11,7 @@ class Device; class VulkanPipelineState: public NonCopyable { + friend class DescriptorPool; friend class PipelineCache; friend class VulkanCommands; @@ -19,7 +20,7 @@ protected: mutable unsigned changes = 0; mutable unsigned unapplied = 0; mutable VkPipeline handle; - mutable std::vector descriptor_set_handles; + mutable std::vector descriptor_set_slots; VulkanPipelineState(); VulkanPipelineState(VulkanPipelineState &&); @@ -31,8 +32,9 @@ protected: std::uint64_t compute_hash() const; void fill_creation_info(std::vector &) 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 &) const; + unsigned fill_descriptor_writes(unsigned, unsigned, std::vector &) const; void apply(VkCommandBuffer, const VulkanPipelineState *, unsigned, bool) const; };