From d85dd7071a5472410a636b190ee7f60411f3d9ff Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 13 Jun 2023 04:06:03 -0500 Subject: [PATCH] GUI: DirectX 11 render backend, part 6 nice I probably found a new DXVK bug --- src/gui/render/renderDX11.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gui/render/renderDX11.cpp b/src/gui/render/renderDX11.cpp index 5b2cbb367..5f7e70d65 100644 --- a/src/gui/render/renderDX11.cpp +++ b/src/gui/render/renderDX11.cpp @@ -109,6 +109,7 @@ bool FurnaceGUIRenderDX11::createRenderTarget() { } else { outW=chainDesc.BufferDesc.Width; outH=chainDesc.BufferDesc.Height; + logI("DX11: buffer desc sizes: %d, %d",chainDesc.BufferDesc.Width,chainDesc.BufferDesc.Height); } result=swapchain->GetBuffer(0,IID_PPV_ARGS(&screen)); @@ -133,6 +134,7 @@ bool FurnaceGUIRenderDX11::createRenderTarget() { return false; } + screen->Release(); return true; } @@ -245,7 +247,11 @@ void FurnaceGUIRenderDX11::setBlendMode(FurnaceGUIBlendMode mode) { void FurnaceGUIRenderDX11::resized(const SDL_Event& ev) { destroyRenderTarget(); - swapchain->ResizeBuffers(0,(unsigned int)ev.window.data1,(unsigned int)ev.window.data2,DXGI_FORMAT_UNKNOWN,DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH); + logI("DX11: resizing buffers"); + HRESULT result=swapchain->ResizeBuffers(0,(unsigned int)ev.window.data1,(unsigned int)ev.window.data2,DXGI_FORMAT_UNKNOWN,DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH); + if (result!=S_OK) { + logW("error while resizing swapchain buffers! %.8x",result); + } createRenderTarget(); }