Other validation stuff I plan to send as soon as !450 and !550 are in.
I guess the CI is going to timeout because of too many commits, so I'll preemptively stop it.
-- v4: vkd3d-shader/ir: Validate modifiers and shift for SSA destinations. vkd3d-shader/ir: Do not allow IMMCONST and IMMCONST64 as destination registers. vkd3d-shader/ir: Check that all instructions appear in a block. vkd3d-shader/ir: Validate RET instructions. vkd3d-shader/ir: Validate SWITCH_MONOLITHIC instructions. tests: Add a couple of degenerate switch instances. vkd3d-shader/ir: Validate BRANCH instructions. vkd3d-shader/ir: Validate LABEL instructions. vkd3d-shader/ir: Validate LABEL registers. vkd3d-shader/ir: Validate that structured CF does not appear in block-based shaders. vkd3d-shader/ir: Check that SSA registers are used validly. vkd3d-shader/ir: Check that SSA registers have consistent dimensions. vkd3d-shader/ir: Check that TEMP registers have consistent dimensions. vkd3d-shader/ir: Use vkd3d_free() instead of free(). vkd3d-shader/ir: Simplify control flow in vsir_validate_register(). vkd3d-shader/dxil: Handle the DXIL SWITCH instruction. vkd3d-shader/dxil: Handle the DXIL PHI instruction. vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant. vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant. vkd3d-shader/dxil: Introduce a code block terminator struct.
This merge request has too many patches to be relayed via email. Please visit the URL below to see the contents of the merge request. https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/559