Windows: never load Vulkan by default; OpenGL fallback when DirectX 12 can't start (#120)

Enumerating Vulkan adapters crashes inside Intel's igvk64.dll on some UHD
Graphics drivers, before any Rust error handling runs. Since #22 the
Windows instance is DirectX 12 only; this keeps Vulkan out of every
default path and adds two fallbacks so DX12-only can't leave a PC without
a window:

- A DirectX 12 probe before eframe starts: no hardware adapter that meets
  eframe's limits -> OpenGL (plus DX12/WARP as last resort when WARP is
  all DX12 offers).
- If run_native fails with a wgpu error before the app was created, start
  once more with the other of DX12/GL (eframe reuses its event loop).

WGPU_BACKEND still overrides everything, and nothing else is tried then.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
vangel76
2026-10-11 12:36:52 +02:00
co-authored by Claude Opus 5.5
parent 9f896c1249
commit da99015b11
6 changed files with 231 additions and 44 deletions
Generated
+1
View File
@@ -1427,6 +1427,7 @@ dependencies = [
"image",
"log",
"muda",
"pollster 1.0.1",
"rfd",
"serde_json",
"winresource",