]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/vulkan/transferqueue.h
Check the flat qualifier from the correct member
[libs/gl.git] / source / backends / vulkan / transferqueue.h
index 592bb69e1303458870842391c2d1ad41ba44049f..536edbd8782830f1352444e2c5f38419653523f4 100644 (file)
@@ -10,6 +10,7 @@ namespace GL {
 
 class Buffer;
 class Device;
+class VulkanCommandRecorder;
 
 class TransferQueue
 {
@@ -22,6 +23,8 @@ private:
                std::size_t size = 0;
                std::size_t used = 0;
                void *mapped_address = 0;
+               unsigned async_count = 0;
+               unsigned last_frame = 0;
 
                StagingBuffer(Device &, std::size_t);
                StagingBuffer(StagingBuffer &&);
@@ -37,7 +40,7 @@ private:
                std::size_t size = 0;
                void *staging_address = 0;
                std::function<void()> synchronize;
-               std::function<void(VkCommandBuffer, VkBuffer, std::size_t)> transfer;
+               std::function<void(const VulkanCommandRecorder &, VkBuffer, std::size_t)> transfer;
        };
 
        Device &device;
@@ -46,6 +49,7 @@ private:
        std::vector<PendingTransfer> transfers;
        std::vector<PendingTransfer> async_transfers;
        std::map<const void *, unsigned> next_orders;
+       unsigned current_frame = 0;
 
 public:
        TransferQueue(Device &);
@@ -65,7 +69,7 @@ private:
        PendingTransfer &insert_transfer(PendingTransfer &&);
 
 public:
-       void dispatch_transfers(VkCommandBuffer);
+       void dispatch_transfers(const VulkanCommandRecorder &);
 };
 
 template<typename S, typename T>