diff options
| author | assiduous <assiduous@diligentgraphics.com> | 2021-02-08 02:37:03 +0000 |
|---|---|---|
| committer | assiduous <assiduous@diligentgraphics.com> | 2021-02-08 02:37:03 +0000 |
| commit | 93a08dc744daff2e7150bdf5775645d94567ace1 (patch) | |
| tree | fdf6e39caf973cdaecb82ad37c1a0ccf55d887c6 /unityplugin/GhostCubePlugin/PluginSource | |
| parent | Updated tools module (diff) | |
| download | DiligentEngine-93a08dc744daff2e7150bdf5775645d94567ace1.tar.gz DiligentEngine-93a08dc744daff2e7150bdf5775645d94567ace1.zip | |
Reworked ExecuteCommandList(+s) to take an array of command lists instead of one
Diffstat (limited to 'unityplugin/GhostCubePlugin/PluginSource')
| -rw-r--r-- | unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D12.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D12.cpp b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D12.cpp index d37b42f..d51a670 100644 --- a/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D12.cpp +++ b/unityplugin/GhostCubePlugin/PluginSource/src/RenderAPI_D3D12.cpp @@ -48,13 +48,16 @@ public: return m_pUnityGraphicsD3D12->GetNextFrameFenceValue(); } - // Executes a given command list - virtual Uint64 DILIGENT_CALL_TYPE Submit(ID3D12GraphicsCommandList* commandList)override final + // Executes command lists + virtual Uint64 DILIGENT_CALL_TYPE Submit(Uint32 NumCommandLists, ID3D12CommandList* const* ppCommandLists)override final { auto NextFenceValue = m_pUnityGraphicsD3D12->GetNextFrameFenceValue(); - m_CurrentFenceValue = m_pUnityGraphicsD3D12->ExecuteCommandList(commandList, static_cast<int>(m_ResourcesToTransition.size()), m_ResourcesToTransition.empty() ? nullptr : m_ResourcesToTransition.data()); - VERIFY(m_CurrentFenceValue >= NextFenceValue, "Current fence value returned by ExecuteCommandList() is less than the next fence value previously queried through GetNextFrameFenceValue()"); - m_ResourcesToTransition.clear(); + for(Uint32 i=0; i < NumCommandLists; ++i) + { + m_CurrentFenceValue = m_pUnityGraphicsD3D12->ExecuteCommandList(static_cast<ID3D12GraphicsCommandList*>(ppCommandLists[i]), static_cast<int>(m_ResourcesToTransition.size()), m_ResourcesToTransition.empty() ? nullptr : m_ResourcesToTransition.data()); + VERIFY(m_CurrentFenceValue >= NextFenceValue, "Current fence value returned by ExecuteCommandList() is less than the next fence value previously queried through GetNextFrameFenceValue()"); + m_ResourcesToTransition.clear(); + } return std::max(m_CurrentFenceValue, NextFenceValue); } |
