diff --git a/examples/imgui_impl_dx12.cpp b/examples/imgui_impl_dx12.cpp index 91a902ea..b7ca6138 100644 --- a/examples/imgui_impl_dx12.cpp +++ b/examples/imgui_impl_dx12.cpp @@ -788,20 +788,18 @@ static void ImGui_ImplDX12_CreateWindow(ImGuiViewport* viewport) sd1.Scaling = DXGI_SCALING_STRETCH; sd1.Stereo = FALSE; - IM_ASSERT(data->SwapChain == NULL); - IM_ASSERT(data->FrameCtx[0].RenderTarget == NULL && data->FrameCtx[1].RenderTarget == NULL && data->FrameCtx[2].RenderTarget == NULL); - - IDXGIFactory4* dxgi_factory = nullptr; - res = CreateDXGIFactory1(IID_PPV_ARGS(&dxgi_factory)); + IDXGIFactory4* dxgi_factory = NULL; + res = ::CreateDXGIFactory1(IID_PPV_ARGS(&dxgi_factory)); IM_ASSERT(res == S_OK); - IDXGISwapChain1* swap_chain = nullptr; + IDXGISwapChain1* swap_chain = NULL; res = dxgi_factory->CreateSwapChainForHwnd(data->CommandQueue, hwnd, &sd1, NULL, NULL, &swap_chain); IM_ASSERT(res == S_OK); dxgi_factory->Release(); // Or swapChain.As(&mSwapChain) + IM_ASSERT(data->SwapChain == NULL); swap_chain->QueryInterface(IID_PPV_ARGS(&data->SwapChain)); swap_chain->Release(); @@ -827,6 +825,7 @@ static void ImGui_ImplDX12_CreateWindow(ImGuiViewport* viewport) ID3D12Resource* back_buffer; for (UINT i = 0; i < g_numFramesInFlight; i++) { + IM_ASSERT(data->FrameCtx[i].RenderTarget == NULL); data->SwapChain->GetBuffer(i, IID_PPV_ARGS(&back_buffer)); g_pd3dDevice->CreateRenderTargetView(back_buffer, NULL, data->FrameCtx[i].RenderTargetCpuDescriptors); data->FrameCtx[i].RenderTarget = back_buffer; @@ -860,7 +859,6 @@ static void ImGui_ImplDX12_DestroyWindow(ImGuiViewport* viewport) SafeRelease(data->Resources[i].IndexBuffer); SafeRelease(data->Resources[i].VertexBuffer); } - IM_DELETE(data); } viewport->RendererUserData = NULL;