mirror of
https://github.com/libretro/virtualjaguar-libretro.git
synced 2026-11-07 04:36:00 -10:00
Left to itself, Mesa's d3d12 driver takes the Microsoft Basic Render Driver (WARP) when that is the only D3D12 adapter: on the hosted ARM64 runner the retry came up as "D3D12 (Microsoft Basic Render Driver)" and the app exited with status 87 before its first screenshot, where the same runner renders fine on llvmpipe. WARP is software D3D12 under a GL translation, so it is the slower software path anyway. The launcher now enumerates DXGI adapters (dxgi.dll and d3d12.dll loaded by hand, no link dependency), skips DXGI_ADAPTER_FLAG_SOFTWARE ones and asks D3D12CreateDevice at feature level 11_0. First hit: GALLIUM_DRIVER= d3d12 plus MESA_D3D12_DEFAULT_ADAPTER_NAME pinned to that adapter. No hit: GALLIUM_DRIVER=llvmpipe and LIBGL_ALWAYS_SOFTWARE=true as #1138 had. A GALLIUM_DRIVER already in the environment wins. Both outcomes are logged on stderr and the GL test workflow asserts one of the two lines. Co-Authored-By: Claude Fable 5.1 <[email protected]>