diff --git a/src/renderer_d3d12.cpp b/src/renderer_d3d12.cpp index 5a6a76932..e4f5243c0 100644 --- a/src/renderer_d3d12.cpp +++ b/src/renderer_d3d12.cpp @@ -5520,6 +5520,8 @@ data.NumQualityLevels = 0; m_batch.flush(m_commandList, true); kick(); + commandListChanged = true; + view = key.m_view; currentPso = NULL; currentSamplerStateIdx = kInvalidHandle; @@ -5586,6 +5588,13 @@ data.NumQualityLevels = 0; PIX3_BEGINEVENT(m_commandList, D3DCOLOR_COMPUTE, viewName); } + commandListChanged = true; + } + + if (commandListChanged) + { + commandListChanged = false; + m_commandList->SetComputeRootSignature(m_rootSignature); ID3D12DescriptorHeap* heaps[] = { m_samplerAllocator.getHeap(), @@ -5751,10 +5760,7 @@ data.NumQualityLevels = 0; if (wasCompute) { - if (wasCompute) - { - wasCompute = false; - } + wasCompute = false; if (BX_ENABLED(BGFX_CONFIG_DEBUG_PIX) ) {