diff --git a/examples/example_win32_directx12/main.cpp b/examples/example_win32_directx12/main.cpp index 70e9ea93..e8ceae3d 100644 --- a/examples/example_win32_directx12/main.cpp +++ b/examples/example_win32_directx12/main.cpp @@ -38,9 +38,9 @@ static D3D12_CPU_DESCRIPTOR_HANDLE g_mainRenderTargetDescriptor[NUM_BACK_BUFFER void CreateRenderTarget() { - ID3D12Resource* pBackBuffer; for (UINT i = 0; i < NUM_BACK_BUFFERS; i++) { + ID3D12Resource* pBackBuffer = NULL; g_pSwapChain->GetBuffer(i, IID_PPV_ARGS(&pBackBuffer)); g_pd3dDevice->CreateRenderTargetView(pBackBuffer, NULL, g_mainRenderTargetDescriptor[i]); g_mainRenderTargetResource[i] = pBackBuffer; @@ -415,7 +415,7 @@ int main(int, char**) if (io.ConfigFlags & ImGuiConfigFlags_ViewportsEnable) { ImGui::UpdatePlatformWindows(); - ImGui::RenderPlatformWindowsDefault(); + ImGui::RenderPlatformWindowsDefault(NULL, (void*)g_pd3dCommandList); } g_pSwapChain->Present(1, 0); // Present with vsync diff --git a/examples/imgui_impl_dx12.cpp b/examples/imgui_impl_dx12.cpp index 821b1499..eca42f65 100644 --- a/examples/imgui_impl_dx12.cpp +++ b/examples/imgui_impl_dx12.cpp @@ -731,18 +731,22 @@ static void ImGui_ImplDX12_SetWindowSize(ImGuiViewport* viewport, ImVec2 size) */ } -static void ImGui_ImplDX12_RenderWindow(ImGuiViewport* viewport, void*) +// arg = ID3D12GraphicsCommandList* +static void ImGui_ImplDX12_RenderWindow(ImGuiViewport* viewport, void* renderer_arg) { ImGuiViewportDataDx12* data = (ImGuiViewportDataDx12*)viewport->RendererUserData; IM_ASSERT(0); (void)data; + + ID3D12GraphicsCommandList* command_list = (ID3D12GraphicsCommandList*)renderer_arg; + /* ImVec4 clear_color = ImVec4(0.0f, 0.0f, 0.0f, 1.0f); g_pd3dDeviceContext->OMSetRenderTargets(1, &data->RTView, NULL); if (!(viewport->Flags & ImGuiViewportFlags_NoRendererClear)) g_pd3dDeviceContext->ClearRenderTargetView(data->RTView, (float*)&clear_color); */ - ImGui_ImplDX12_RenderDrawData(viewport->DrawData); + ImGui_ImplDX12_RenderDrawData(viewport->DrawData, command_list); } static void ImGui_ImplDX12_SwapBuffers(ImGuiViewport* viewport, void*)