summaryrefslogtreecommitdiffstats
path: root/unityplugin/GhostCubePlugin/PluginSource
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2021-02-08 02:37:03 +0000
committerassiduous <assiduous@diligentgraphics.com>2021-02-08 02:37:03 +0000
commit93a08dc744daff2e7150bdf5775645d94567ace1 (patch)
treefdf6e39caf973cdaecb82ad37c1a0ccf55d887c6 /unityplugin/GhostCubePlugin/PluginSource
parentUpdated tools module (diff)
downloadDiligentEngine-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.cpp13
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);
}