From b965f730c08c81abfc14ff445c34d9943e620437 Mon Sep 17 00:00:00 2001 From: Lars Viklund Date: Sun, 10 May 2015 01:14:43 +0200 Subject: [PATCH] Create backbuffer RTVs honoring multisampling When adding sRGB support for the backbuffer render target in D3D11, the now explicitly specified RTV desc specifies a TEXTURE2D dimension. For multisampled targets, this needs to be TEXTURE2DMS dimension. This solves it by branching on the presence of MSAA in the reset flags but could envisionably be obtained by looking at the desc of the backbuffer. --- src/renderer_d3d11.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index cc71e475..e1796ba8 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -1496,7 +1496,10 @@ BX_PRAGMA_DIAGNOSTIC_POP(); DX_CHECK(m_swapChain->GetBuffer(0, IID_ID3D11Texture2D, (void**)&color)); D3D11_RENDER_TARGET_VIEW_DESC desc; - desc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D; + desc.ViewDimension = (m_flags & BGFX_RESET_MSAA_MASK) + ? D3D11_RTV_DIMENSION_TEXTURE2DMS + : D3D11_RTV_DIMENSION_TEXTURE2D + ; desc.Texture2D.MipSlice = 0; desc.Format = (m_flags & BGFX_RESET_SRGB_BACKBUFFER) ? DXGI_FORMAT_R8G8B8A8_UNORM_SRGB