protonscr

Need for Speed Most Wanted - Device reset fails with MSAA on causing game to force disable MSAA

dxvkclosed appid 2005d3d9probably not our bug
doitsujin/dxvk#5326 · opened 2025-11-14 by TorutheRedFox · updated 2025-11-15 · 6 comments · github · game page · search this game
TTorutheRedFox 2025-11-14 github

The game uses the D3DMULTISAMPLE_NONMASKABLE MultiSampleType with user-controllable MultiSampleQuality in its presentation parameters. For some reason since 2.6.2 the device fails to create or reset with these parameters set, causing the game to fall back to setting MSAA level to 0 and retrying. The game has code that forces MSAA off if it detects an AMD card (checks for 0x1002 vendor ID) on Windows 9x (checks platform id using GetVersionExA), but I'm not testing it with an AMD card, nor am I on Windows 9x.

Software information

Need for Speed Most Wanted, regardless of what mods may or may not be installed.

System information

  • GPU: nVidia GeForce RTX 3060 Mobile
  • DXVK version: 2.6.2->2.7.1 (last known good version is 2.6.1)

Apitrace file(s)

https://mega.nz/file/mgp2nATR#rSEqzzCLEjVWYRPptmuk_ulJfCefw2ELSC6zAu8rOKw

Log files

speed_d3d9.log

KK0bin maintainer 2025-11-14 github

Thanks for the apitrace! I'm currently looking into the NFS MW shadow bug and the apitrace there is very useful.

KK0bin maintainer 2025-11-14 github

Your log doesn't mention any device reset fails and I'm also not getting any when replaying your Apitrace.

TTorutheRedFox 2025-11-14 github

must've sent the wrong log file, here's the right one

speed_d3d9.log

TTorutheRedFox 2025-11-15 github

upon further investigation, it seems that the max MSAA level has been somehow reduced since 2.6.1? going down a level seems to fix it

KK0bin maintainer 2025-11-15 github

In DXVK 2.7 we reject unsupported sample counts. Before that, we clamped to the next highest supported one. Either way, the game most likely passes a sample count ('MSAA level') that your GPU does not support. (Either a non-power-of-two number or 16)

Tests on Windows have shown that Windows rejects unsupported sample counts too. So what we're doing should be correct.

https://github.com/doitsujin/dxvk/commit/994551ac6b51e283917dc7ccf720877071d8bf17

TTorutheRedFox 2025-11-15 github

gotcha

Nothing extracted yet.