]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/vulkan/pipelinestate_backend.h
Add support for storage images in Renderer and PipelineState
[libs/gl.git] / source / backends / vulkan / pipelinestate_backend.h
index 5570e5d965974fc8dfe26fa3aa8f0264fcc3e157..37c96a4e2d394f967f0f75d0f0b4f802bea6bab2 100644 (file)
@@ -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<unsigned> 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<char> &) 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;