On latest hotfix drivers (16.4.2,16.5.1,16.5.2) I'm noticed that all DX12 apps exit to desktop so I debugged one of apps an noticed this:
(8b8.294): Illegal instruction - code c000001d (first chance)
(8b8.294): Illegal instruction - code c000001d (!!! second chance !!!)
*** WARNING: Unable to verify checksum for C:\WINDOWS\SYSTEM32\amdxc64.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\WINDOWS\SYSTEM32\amdxc64.dll -
amdxc64!OpenAdapter12+0x15e0e:
00007ffd`a2776f0e f30fb8436c popcnt eax,dword ptr [rbx+6Ch] ds:00000000`1cc002fc=00000001
Instruction popcnt is SSE 4.2 instruction, so my question is: DX12 is supported on non-SSE 4.2 CPU or not ? I think NVIDIA drivers works fine on non-SSE 4.2 CPUs
Solved! Go to Solution.
This issue has been addressed in the latest Crimson 16.10.2 driver package which has just been released.
I have check NVIDIA drivers, they use only SSE2 instructions in DX12 driver, so why you (AMD) enforces SSE4.2 ? I think driver should not enforce instruction set that OS is not enforcing, and Windows 10 x64 requires only SSE2 + CMPXCHG16B + LAHF/SAHF + PrefetchW.
POPCNT instruction also present in latest 16.6.1 drivers.
I have tested Radeon Pro Duo Workstation drivers (16.20.1009 - Radeon™ Pro Duo Workstation Driver for Windows® ), it contains amdxc32.dll/amdxc64.dll version 8.18.10.0118, which I already tested in Crimson Software 16.4.2, but that version have different build date and does NOT contain popcnt instruction ! So I think one branch have different build settings (maybe wrong ?) and defaults to AVX.
16.5.1 works here on my C2D.. or hey, at least Forza doesn't crash before even creating the window.
I tested 16.5.2, 16.5.2.1, 16.6.1 and latest 16.7.3 and those are indeed broken.
Very nice catch with those Radeon Pro drivers then.
Oddly theirs amdxc64.dll has more or less the same pdb info than 16.5.2 one (and about the same size), but 16.5.1 build number.
So.. I'm not so sure if it's just the game being a beta or what.. But while playing Battlefield 1 in dx12 with 16.8.2 and Radeon Pro dll (in Windows folder, otherwise game still crashed) I got this
Up for this, same problem here.
R9 290 and R9 390X justo won't start DX12 games. I don't need a CPU upgrade.
PLEASE AMD: add the old SSE path to your driver or refund old CPU owners. I think the first option is better for everyone.
I am also having this problem.
DX12 on CPUs without SSE 4.2 or POPCNT instructions worked perfectly in April this year(16.4.1). All DX12 titles worked perfectly.
Similar to other users my CPU does not currently need an upgrade and its performance rivals that of, and can even best, an Intel i5.
Please re-enable DX12 driver support for pre SSE4.2/POPCNT CPUs.
nVidia does not impose this limitation in its drivers.
I am also encountering this problem. I havent been able to run any DX12 apps which is a big reason I bought the RX 480
furthermore I am having trouble extracting the dll from the radeon pro package. the only file I can find is amdxc64.dl_ ,which isn't a .dll file. When I rename it and put it in the system32 folder, dx12 apps still don't work
Use "expand -r amdxc64.dl_" command