1 #ifndef MSP_GL_VULKAN_SYNCHRONIZER_H_
2 #define MSP_GL_VULKAN_SYNCHRONIZER_H_
19 unsigned current_layout;
20 unsigned pending_layout;
26 std::size_t offset = 0;
28 bool was_written = false;
29 bool pending_write = false;
33 std::vector<BufferAccess> buffer_accesses;
34 std::vector<ImageAccess> image_accesses;
37 Synchronizer(Device &);
39 void write_buffer(VkBuffer, std::size_t, std::size_t, bool = false);
40 void split_image_mipmap(VkImage, unsigned, unsigned);
41 void change_image_layout(VkImage, unsigned, int, unsigned, bool);
43 void barrier(VkCommandBuffer);
46 bool is_write_layout(unsigned);