884 B
884 B
D3D12CommandQueue::Wait
void Wait(RHIFence* fence, uint64_t value) override;
void Wait(ID3D12Fence* fence, uint64_t value);
作用
让当前队列等待指定 fence 到达目标值。
参数说明
fence: 目标 fence,可以是RHIFence*或原生ID3D12Fence*。value: 目标 fence 值。
当前实现行为
Wait(RHIFence* fence, uint64_t value)
- 如果
fence非空,将其转为D3D12Fence*。 - 然后调用
m_commandQueue->Wait(nativeFence, value)。
Wait(ID3D12Fence* fence, uint64_t value)
- 如果
fence非空,直接调用底层队列的Wait()。
设计说明
- 这是 GPU 队列级等待,不会阻塞 CPU 线程。
- 如果你要阻塞 CPU 等待 fence,应使用 D3D12Fence::Wait。