Recreate the main swap chain when only its flags change on reset. (#3986)

Context::reset moves the per-surface flags (MSAA, sRGB, HiDPI) off the reset flags onto SwapChain::flags, but every backend's updateResolution gate still compared only the stripped reset flags, so a runtime MSAA change was dropped.
(cherry picked from commit 1ffb270f91a63403c069fcf652bd2411d962b437)
This commit is contained in:
vrimar
2026-09-18 01:05:41 +00:00
committed by GitHub
parent 5777fe1f66
commit 3ca5a63428
6 changed files with 6 additions and 0 deletions
+1
View File
@@ -3206,6 +3206,7 @@ namespace bgfx { namespace d3d12
|| m_mainSwapChain.formatDepthStencil != _swapChain.formatDepthStencil
|| m_mainSwapChain.nwh != _swapChain.nwh
|| m_mainSwapChain.ndt != _swapChain.ndt
|| m_mainSwapChain.flags != _swapChain.flags
|| (m_reset&maskFlags) != (_reset&maskFlags) )
{
uint32_t flags = _reset & (~BGFX_RESET_INTERNAL_FORCE);