Quick answer: Your app tried to present a frame while Windows was already switching display modes — hit Win+Ctrl+Shift+B to reset the driver, then update or roll back your GPU driver. If it's a one-off, ignore it.
This error is a DirectX/DWM handshake failure. The graphics stack was mid-transition — resolution change, HDR toggle, monitor wake, game alt-tab — and your app called Present() against a swap chain that no longer matched the current desktop mode. Windows said "nah" and threw 0xC0262005. I had a client last month whose entire print queue died because of this — not directly, but the same driver reset that caused their production app to crash also killed the spooler service. Fun afternoon. Point is, this error usually points at a driver or a mode-switching app, not your code.
It shows up most in three places: fullscreen games when you alt-tab during a resolution change, older CAD or POS software on multi-monitor setups when a monitor sleeps, and remote desktop sessions where the host resizes the session window. If you're a dev, it's almost always your swap chain config. If you're an end user, it's almost always the driver.
Fix 1: Reset the graphics driver in place
Don't reboot yet. Hit this key combo:
Win + Ctrl + Shift + B
Screen flashes black for a second, you hear a beep. That reloads the display driver without a full restart. Your apps might recover, or you might need to close and reopen the one that crashed. Do this first because it takes two seconds and saves you a reboot.
Fix 2: Update the GPU driver — but from the vendor, not Windows Update
Windows Update GPU drivers are ancient. Get yours direct:
- NVIDIA: nvidia.com/drivers — grab Studio Driver if you do creative work, Game Ready if you game.
- AMD: amd.com/support — pick your exact card, not the auto-detect junk.
- Intel: intel.com/content/www/us/en/download-center — for integrated graphics, use the Intel Driver & Support Assistant.
During install, tick "Perform a clean installation" (NVIDIA) or "Factory Reset" (AMD). Those wipe the old profile bits that cause mode-switch failures.
Fix 3: Roll back if the error started after a driver update
If this began right after a driver bump, the new driver is the problem. Roll it back:
- Right-click Start → Device Manager.
- Expand Display adapters, right-click your GPU, pick Properties.
- Go to the Driver tab. If Roll Back Driver is clickable, click it.
- Reboot.
If roll back is greyed out, use DDU (Display Driver Uninstaller) to nuke the driver in Safe Mode, then install a driver version from 2-3 releases back. Not the newest one. Known-good beats bleeding edge when you're trying to get work done.
Fix 4: Stop the mode-switching app
Something is changing your display mode behind your back. Usual suspects:
- HDR auto-toggle in Windows 11 — Settings → System → Display → HDR, turn off "Auto HDR" if it's flickering.
- Dynamic refresh rate — same panel, disable it.
- Monitor vendor utilities — Dell Display Manager, LG OnScreen Control, Samsung MagicRotation. These run in the background and change modes without asking. Uninstall or set them to manual only.
- Games with dynamic resolution scaling — turn DRS off in the in-game settings.
- Wallpaper Engine or Rainmeter skins that change resolution — yes, really.
Fix 5: Bump the TDR delay (advanced)
If the GPU is taking too long to render a frame during a mode switch, Windows' Timeout Detection & Recovery kicks in and kills the context. You can raise the limit:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
Add a DWORD (32-bit) named TdrDelay and set it to 10 (decimal, seconds). If it doesn't exist, create it. Same for TdrDdiDelay if you're troubleshooting a driver dev build. Reboot. This buys the GPU time to finish a present instead of getting reset mid-flight. Don't set it to 60 and forget about it — a hung GPU with a long timeout is worse than a crash.
If none of that works
- Check Event Viewer — Windows Logs → System, filter by
Displayornvlddmkm/amdkmdag. The event right before the crash tells you which component failed. - Test on a single monitor — unplug everything but your primary. If the error vanishes, it's a multi-monitor mode mismatch.
- Disable MPO (Multi-Plane Overlay). It's a known troublemaker on Windows 10/11 with certain GPUs. Registry:
HKLM\SOFTWARE\Microsoft\Windows\Dwm, addOverlayTestModeDWORD =5. Reboot. - Run SFC and DISM —
sfc /scannowthenDISM /Online /Cleanup-Image /RestoreHealth. Rare, but corrupt DWM files cause this too. - Clean install Windows — if a fresh driver + fresh profile still crashes, something in your user profile or a background hook (Razer Synapse, MSI Afterburner OSD, Discord overlay) is the culprit. Kill them one by one before you nuke the OS.
Prevention
Don't update GPU drivers the day they drop. Wait a week, check the vendor's forum for the current version number, and read the known issues list — Nvidia and AMD both publish one. Also: don't run three monitor utilities at once, and if you use HDR, set it manually instead of letting Windows auto-toggle it based on content. That single change kills about 80% of the 0xC0262005 reports I see on gaming rigs.
One more thing: if this fires inside your own DirectX app, catch the HRESULT and rebuild the swap chain. Don't retry Present() on the old one — the mode has moved, and it's not coming back.