Branimir Karadžić 7 ani în urmă
părinte
comite
33ececeb96
3 a modificat fișierele cu 16 adăugiri și 13 ștergeri
  1. 6 6
      src/renderer_d3d11.cpp
  2. 5 4
      src/renderer_d3d12.cpp
  3. 5 3
      src/renderer_d3d9.cpp

+ 6 - 6
src/renderer_d3d11.cpp

@@ -4576,12 +4576,12 @@ namespace bgfx { namespace d3d11
 	{
 	{
 		SwapChainDesc scd;
 		SwapChainDesc scd;
 		bx::memCopy(&scd, &s_renderD3D11->m_scd, sizeof(SwapChainDesc) );
 		bx::memCopy(&scd, &s_renderD3D11->m_scd, sizeof(SwapChainDesc) );
-		scd.format = TextureFormat::Count == _format ? scd.format : s_textureFormat[_format].m_fmt;
-		scd.width  = _width;
-		scd.height = _height;
-		scd.nwh    = _nwh;
-		scd.ndt    = NULL;
-		scd.sampleDesc.Count = 1;
+		scd.format     = TextureFormat::Count == _format ? scd.format : s_textureFormat[_format].m_fmt;
+		scd.width      = _width;
+		scd.height     = _height;
+		scd.nwh        = _nwh;
+		scd.ndt        = NULL;
+		scd.sampleDesc = s_msaa[0];
 
 
 		ID3D11Device* device = s_renderD3D11->m_device;
 		ID3D11Device* device = s_renderD3D11->m_device;
 
 

+ 5 - 4
src/renderer_d3d12.cpp

@@ -5029,10 +5029,11 @@ namespace bgfx { namespace d3d12
 #if BX_PLATFORM_WINDOWS
 #if BX_PLATFORM_WINDOWS
 		SwapChainDesc scd;
 		SwapChainDesc scd;
 		bx::memCopy(&scd, &s_renderD3D12->m_scd, sizeof(DXGI_SWAP_CHAIN_DESC) );
 		bx::memCopy(&scd, &s_renderD3D12->m_scd, sizeof(DXGI_SWAP_CHAIN_DESC) );
-		scd.format = TextureFormat::Count == _format ? scd.format : s_textureFormat[_format].m_fmt;
-		scd.width  = _width;
-		scd.height = _height;
-		scd.nwh    = _nwh;
+		scd.format     = TextureFormat::Count == _format ? scd.format : s_textureFormat[_format].m_fmt;
+		scd.width      = _width;
+		scd.height     = _height;
+		scd.nwh        = _nwh;
+		scd.sampleDesc = s_msaa[0];
 
 
 		HRESULT hr;
 		HRESULT hr;
 		hr = s_renderD3D12->m_dxgi.createSwapChain(
 		hr = s_renderD3D12->m_dxgi.createSwapChain(

+ 5 - 3
src/renderer_d3d9.cpp

@@ -3252,9 +3252,11 @@ namespace bgfx { namespace d3d9
 
 
 		D3DPRESENT_PARAMETERS params;
 		D3DPRESENT_PARAMETERS params;
 		bx::memCopy(&params, &s_renderD3D9->m_params, sizeof(D3DPRESENT_PARAMETERS) );
 		bx::memCopy(&params, &s_renderD3D9->m_params, sizeof(D3DPRESENT_PARAMETERS) );
-		params.BackBufferFormat = TextureFormat::Count == _format ? params.BackBufferFormat : s_textureFormat[_format].m_fmt;
-		params.BackBufferWidth  = m_width;
-		params.BackBufferHeight = m_height;
+		params.BackBufferFormat   = TextureFormat::Count == _format ? params.BackBufferFormat : s_textureFormat[_format].m_fmt;
+		params.BackBufferWidth    = m_width;
+		params.BackBufferHeight   = m_height;
+		params.MultiSampleType    = s_msaa[0].m_type;
+		params.MultiSampleQuality = s_msaa[0].m_quality;
 
 
 		DX_CHECK(s_renderD3D9->m_device->CreateAdditionalSwapChain(&params, &m_swapChain) );
 		DX_CHECK(s_renderD3D9->m_device->CreateAdditionalSwapChain(&params, &m_swapChain) );
 		DX_CHECK(m_swapChain->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &m_surface[0]) );
 		DX_CHECK(m_swapChain->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &m_surface[0]) );