protonscr

[HD2] Texture corruption on dynamic assets (armor, weapons, enemies) with RX 580 on Windows

vkd3dclosed
HansKristian-Work/vkd3d-proton#3097 · opened 2026-06-06 by anubis71x · updated 2026-06-07 · 2 comments · github
Aanubis71x 2026-06-06 github

Running Helldivers 2 through DX12→Vulkan translation (vkd3d-proton) on native Windows produces persistent texture/material corruption on specific asset classes. The corruption manifests as:

Wrong textures applied to armor, weapons, enemies, and (rarely) ship features ("killzone" text from unowned armor sets displayed on player character — see screenshot 2)
Dense black/white material noise ("sandpaper") on armor, weapons, enemy models, and mannequins
Cape/cloth assets displaying incorrect colors and pixelated noise overlaid on correct geometry
Transparency artifacts on some assets

Image Image Image

Unaffected assets: floors, ship walls, large static environment surfaces, ceiling geometry.
The corruption appears immediately on load, is largely static on the model, does not shimmer with camera movement, and persists across sessions regardless of shader cache state. Deleting shader caches has no effect.

Ultra supersampling reduces severity, suggesting a LOD/derivative calculation component (opinion of claude and chatgpt).

What works correctly:

Native DX11 — no corruption
Native DX12 — no corruption
DXVK DX11→Vulkan — no corruption

What is broken:

vkd3d-proton DX12→Vulkan — corruption always present

The wrong-texture symptom strongly suggests incorrect bindless descriptor heap indexing — the engine is sampling from an adjacent heap entry rather than the correct texture slot for the equipped item (opinion of claude and chatgpt).

Software information

Game: Helldivers 2 (Steam)
Render mode: DX12 via default launch option
DXVK-gplasync 2.6.6 (d3d11.dll, dxgi.dll) and regular DXVK 2.6.x
vkd3d-proton tested: 2.12, 2.14, 3.0.1 (d3d12.dll, d3d12core.dll)
All four DLLs required simultaneously — game will not launch without any one of them
dxvk.conf in game root folder with memory caps and async settings (with and without the conf file)
Windows 10, native installation (no Wine, no Proton)

System information

GPU: AMD Radeon RX 580 4GB (Polaris/GCN 4)
Driver: AMD Adrenalin 26.5.2 (AMD proprietary driver 2.0.279)
Wine version: N/A — native Windows 10
VKD3D-Proton version: 3.0.1 (also tested 2.14, 2.12)

helldivers2_d3d11.log
helldivers2_dxgi.log
NxStorage_2026.06.06_04.26_helldivers2.txt

Mmbriar 2026-06-06 github

Apparently the "AI" you asked to make this bugreport doesn't know that AMD's windows vulkan driver are often broken with vkd3d-proton, especially the old ones available for Polaris GPUs. This is almost certainly a driver bug.

Ddoitsujin maintainer 2026-06-07 github

This isn't a setup we can support. Windows is uninteresting for vkd3d-proton anyway, and Polaris hasn't received driver updates in years and will not work with current code in the first place.

DLLs