Resolve D3D11 render targets before switching.

This commit is contained in:
Matthew Endsley 2014-12-30 01:20:55 +00:00
parent 2d426d0e50
commit aa7f0149bd

View File

@ -1436,6 +1436,14 @@ namespace bgfx { namespace d3d11
void setFrameBuffer(FrameBufferHandle _fbh, bool _msaa = true)
{
if (isValid(m_fbh)
&& m_fbh.idx != _fbh.idx
&& m_rtMsaa)
{
FrameBufferD3D11& frameBuffer = m_frameBuffers[m_fbh.idx];
frameBuffer.resolve();
}
BX_UNUSED(_msaa);
if (!isValid(_fbh) )
{
@ -1455,14 +1463,6 @@ namespace bgfx { namespace d3d11
m_currentDepthStencil = frameBuffer.m_dsv;
}
if (isValid(m_fbh)
&& m_fbh.idx != _fbh.idx
&& m_rtMsaa)
{
FrameBufferD3D11& frameBuffer = m_frameBuffers[m_fbh.idx];
frameBuffer.resolve();
}
m_fbh = _fbh;
m_rtMsaa = _msaa;
}