▲ | ack_complete 9 hours ago | |||||||||||||||||||||||||||||||
This is due to an overall odd strategy by the DirectX graphics team, which is to implement many of the optimization and enhancement features by Detour-ing API calls in the OS. Essentially, the Windows OS is patching itself to implement features. Unfortunately, this is being done without core OS assistance like the AppCompat system, so it comes with similar problems to unassisted regular user-space patching. In this case, the Detours code used by DXGI is unable to support the current PAC-enabled function prologues in the current version of Windows 11 ARM64. It isn't limited to just the OP's scenario; attempting to enable Auto Super Resolution (AutoSR) on any native ARM64 program using DirectX will also currently crash in a similar manner in EnumDisplaySettings(). The full screen optimization that is mentioned also has some history. It's well intentioned to remove an entire full-screen copy per frame and increase performance/efficiency, but had some problems. When it was originally implemented in Windows 10, it broke full screen mode for some DirectX 9 apps because it made some incorrect assumptions about the window handle supplied by the application for focus tracking. But it was frustrating to deal with, because the mechanism was nearly undocumented and had no opt-out besides a manual user compatibility checkbox. It took me a couple of days of tearing apart the core windowing guts of my program to figure out what Microsoft had done and how to work around it, and it took several months for the Windows team to fix it on their end. | ||||||||||||||||||||||||||||||||
▲ | pjmlp 9 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||
That strategy is described here, and comes from game developers wanting DirectX to be untied from OS versions as it used to be. https://devblogs.microsoft.com/directx/gettingstarted-dx12ag... | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
▲ | AnotherGoodName 8 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||
>In this case, the Detours code used by DXGI is unable to support the current PAC-enabled function prologues in the current version of Windows 11 ARM64 Surely microsoft could avoid patching this on arm in the first place though right? As in whatever gating they use should make sure it’s not on arm. | ||||||||||||||||||||||||||||||||
|