Overall this is simpler, results in less verbose SPIR-V code which is easier to debug, and eliminates stuttering issues in Horizon Zero Dawn when run in an SM 6 dev branch with Gio's cfg4 structuriser branch.
--
v7: vkd3d-shader/ir: Materialise SSAs to temps before lowering switch instructions.
vkd3d-shader/ir: Convert SSAs to temps only if the block of origin does not dominate all uses.
vkd3d-shader/spirv: Handle uint2 to double bitcast in spirv_compiler_emit_mov().
vkd3d-shader/spirv: Emit a uint result for RESINFO_UINT if the dst register is SSA.
vkd3d-shader/ir: Materialise phis to temps in the incoming blocks.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/749
Wine incorrectly inserts a sample copier. D3D awareness is handled per
node, and each node will have their own sample allocator created from
the D3D device manager provided by the session.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5464