X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fbackends%2Fvulkan%2Ftransferqueue.h;h=536edbd8782830f1352444e2c5f38419653523f4;hb=1b4d387b74b2108f3926796d8115bee134fbf7f1;hp=592bb69e1303458870842391c2d1ad41ba44049f;hpb=33253bf6d6a330181fda83ba23a6ac0a756d9a8d;p=libs%2Fgl.git diff --git a/source/backends/vulkan/transferqueue.h b/source/backends/vulkan/transferqueue.h index 592bb69e..536edbd8 100644 --- a/source/backends/vulkan/transferqueue.h +++ b/source/backends/vulkan/transferqueue.h @@ -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 synchronize; - std::function transfer; + std::function transfer; }; Device &device; @@ -46,6 +49,7 @@ private: std::vector transfers; std::vector async_transfers; std::map 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