diff options
Diffstat (limited to 'servers/rendering/rendering_device.h')
-rw-r--r-- | servers/rendering/rendering_device.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/servers/rendering/rendering_device.h b/servers/rendering/rendering_device.h index 19d21dfda2..b61418b1fc 100644 --- a/servers/rendering/rendering_device.h +++ b/servers/rendering/rendering_device.h @@ -1267,7 +1267,6 @@ private: RDD::CommandBufferID command_buffer; RDD::CommandPoolID command_pool; RDD::FenceID command_fence; - RDD::SemaphoreID command_semaphore; bool recording = false; bool submitted = false; BinaryMutex thread_mutex; @@ -1287,7 +1286,7 @@ private: TransferWorker *_acquire_transfer_worker(uint32_t p_transfer_size, uint32_t p_required_align, uint32_t &r_staging_offset); void _release_transfer_worker(TransferWorker *p_transfer_worker); void _end_transfer_worker(TransferWorker *p_transfer_worker); - void _submit_transfer_worker(TransferWorker *p_transfer_worker, bool p_signal_semaphore); + void _submit_transfer_worker(TransferWorker *p_transfer_worker, VectorView<RDD::SemaphoreID> p_signal_semaphores = VectorView<RDD::SemaphoreID>()); void _wait_for_transfer_worker(TransferWorker *p_transfer_worker); void _check_transfer_worker_operation(uint32_t p_transfer_worker_index, uint64_t p_transfer_worker_operation); void _check_transfer_worker_buffer(Buffer *p_buffer); @@ -1372,6 +1371,10 @@ private: // Swap chains prepared for drawing during the frame that must be presented. LocalVector<RDD::SwapChainID> swap_chains_to_present; + // Semaphores the transfer workers can use to wait before rendering the frame. + // This must have the same size of the transfer worker pool. + TightLocalVector<RDD::SemaphoreID> transfer_worker_semaphores; + // Extra command buffer pool used for driver workarounds. RDG::CommandBufferPool command_buffer_pool; |