From 1f670222806d7d069ab9cf67cd9b7c251400513d Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 19 Sep 2019 16:47:57 +0100 Subject: [PATCH] Free swapchain RTV before allocating new one --- renderdoc/driver/d3d12/d3d12_device.cpp | 1 + renderdoc/driver/d3d12/d3d12_device.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index 54eeb5b0b..88a925b83 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -1035,6 +1035,7 @@ IUnknown *WrappedID3D12Device::WrapSwapchainBuffer(IDXGISwapper *swapper, DXGI_F if(rtv.ptr != 0) CreateRenderTargetView(pRes, NULL, rtv); + FreeRTV(m_SwapChains[swapper].rtvs[buffer]); m_SwapChains[swapper].rtvs[buffer] = rtv; ID3DDevice *swapQ = swapper->GetD3DDevice(); diff --git a/renderdoc/driver/d3d12/d3d12_device.h b/renderdoc/driver/d3d12/d3d12_device.h index 4bcef6f2b..d5e5659cd 100644 --- a/renderdoc/driver/d3d12/d3d12_device.h +++ b/renderdoc/driver/d3d12/d3d12_device.h @@ -428,7 +428,7 @@ private: struct SwapPresentInfo { - D3D12_CPU_DESCRIPTOR_HANDLE rtvs[8]; + D3D12_CPU_DESCRIPTOR_HANDLE rtvs[8] = {}; WrappedID3D12CommandQueue *queue; };