X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fvulkan%2Fpipelinestate_backend.h;h=37c96a4e2d394f967f0f75d0f0b4f802bea6bab2;hb=2a70fecfbbe8708be2bdaa75d222dd5a889a8ed3;hp=5570e5d965974fc8dfe26fa3aa8f0264fcc3e157;hpb=c1faedbdc09d000a4bff5ab33db7fabb5e835346;p=libs%2Fgl.git diff --git a/source/backends/vulkan/pipelinestate_backend.h b/source/backends/vulkan/pipelinestate_backend.h index 5570e5d9..37c96a4e 100644 --- a/source/backends/vulkan/pipelinestate_backend.h +++ b/source/backends/vulkan/pipelinestate_backend.h @@ -8,6 +8,7 @@ namespace Msp { namespace GL { class Device; +class VulkanCommandRecorder; class VulkanPipelineState: public NonCopyable { @@ -22,6 +23,7 @@ protected: mutable VkPipeline handle = 0; mutable std::vector descriptor_set_slots; mutable unsigned first_changed_desc_set = 0; + mutable std::uint32_t push_const_compat = 0; VulkanPipelineState(); VulkanPipelineState(VulkanPipelineState &&); @@ -37,7 +39,8 @@ protected: VkDescriptorSetLayout get_descriptor_set_layout(unsigned) const; unsigned fill_descriptor_writes(unsigned, unsigned, std::vector &) const; - void apply(VkCommandBuffer, const VulkanPipelineState *, unsigned, bool) const; + void synchronize_resources(bool) const; + void apply(const VulkanCommandRecorder &, const VulkanPipelineState *, unsigned, bool) const; }; using PipelineStateBackend = VulkanPipelineState;