29 #include "CommandQueueD3D12.h" 30 #include "ObjectBase.h" 41 CommandQueueD3D12Impl(IReferenceCounters *pRefCounters, ID3D12CommandQueue *pd3d12NativeCmdQueue, ID3D12Fence *pd3d12Fence);
44 virtual void QueryInterface(
const Diligent::INTERFACE_ID &IID, IObject **ppInterface )
override;
50 virtual UINT64
ExecuteCommandList(ID3D12GraphicsCommandList* commandList)
override final;
54 virtual void IdleGPU()override final;
60 Atomics::AtomicInt64 m_NextFenceValue;
63 volatile Uint64 m_LastCompletedFenceValue = 0;
65 CComPtr<ID3D12CommandQueue> m_pd3d12CmdQueue;
71 CComPtr<ID3D12Fence> m_d3d12Fence;
73 HANDLE m_WaitForGPUEventHandle = {};
virtual ID3D12CommandQueue * GetD3D12CommandQueue() override final
Returns D3D12 command queue. May return null if queue is anavailable.
Definition: CommandQueueD3D12Impl.h:52
virtual UINT64 GetNextFenceValue() override final
Returns the fence value that will be signaled next time.
Definition: CommandQueueD3D12Impl.h:47
virtual Uint64 GetCompletedFenceValue() override final
Returns value of the last completed fence.
Definition: CommandQueueD3D12Impl.cpp:73
Template class implementing base functionality for an object.
Definition: ObjectBase.h:62
virtual UINT64 ExecuteCommandList(ID3D12GraphicsCommandList *commandList) override final
Executes a given command list.
Definition: CommandQueueD3D12Impl.cpp:48
Namespace for the OpenGL implementation of the graphics engine.
Definition: BufferD3D11Impl.h:34
virtual void IdleGPU() override final
Blocks execution until all pending GPU commands are complete.
Definition: CommandQueueD3D12Impl.cpp:60
Implementation of the Diligent::ICommandQueueD3D12 interface.
Definition: CommandQueueD3D12Impl.h:36