HansKristian-Work / vkd3d-proton

Fork of VKD3D. Development branches for Proton's Direct3D 12 implementation.
GNU Lesser General Public License v2.1
1.76k stars 184 forks source link

Validate shader interface compatibility #1923

Closed doitsujin closed 4 months ago

doitsujin commented 4 months ago

At PSO compile time, the D3D12 runtime validates the input layout against the VS input signature, as well as the interface between each connected shader stage. This can fix some cases of invalid Vulkan usage as well if games rely on runtime validation to catch these mismatches.

Also fixes some small vkd3d-shader issues I've encountered in the process.

Draft because this needs more real-world testing to ensure we don't break existing games somehow.

Blisto91 commented 4 months ago

With a RTX 4080 on 550.54.14 I've given it a 10-15 minutes test in: Age of Empires IV Age of Wonders 4 Atlas Fallen Company of Heroes 3 Cyberpunk 2077 DEATHLOOP HITMAN 3 Spider-Man Remastered Resident Evil 4 Returnal Starfield The Witcher 3 Diablo IV World of Warcraft Dragonflight

Have not found any issues