[PATCH v4 0/30] MR559: Draft: vkd3d-shader/ir: Validate block-based control flow.
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
participants (1)
-
Giovanni Mascellani (@giomasce)