Backends: DX12: Rework synchronization logic. (docking) (#8961)

This commit is contained in:
Rémy Tassoux
2025-09-29 16:23:50 +02:00
committed by ocornut
parent 1aa91ac426
commit 778aadca65
2 changed files with 51 additions and 30 deletions

View File

@@ -295,8 +295,6 @@ int main(int, char**)
g_pd3dCommandList->Close();
g_pd3dCommandQueue->ExecuteCommandLists(1, (ID3D12CommandList* const*)&g_pd3dCommandList);
g_pd3dCommandQueue->Signal(g_fence, ++g_fenceLastSignaledValue);
frameCtx->FenceValue = g_fenceLastSignaledValue;
// Update and Render additional Platform Windows
if (io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
@@ -305,6 +303,9 @@ int main(int, char**)
ImGui::RenderPlatformWindowsDefault();
}
g_pd3dCommandQueue->Signal(g_fence, ++g_fenceLastSignaledValue);
frameCtx->FenceValue = g_fenceLastSignaledValue;
// Present
HRESULT hr = g_pSwapChain->Present(1, 0); // Present with vsync
//HRESULT hr = g_pSwapChain->Present(0, 0); // Present without vsync