vkd3d/libs
Giovanni Mascellani 8c15377ffc vkd3d-shader/ir: Emit multilevel jumps in the structured program.
The new structurizer therefore reaches feature parity with the
older simple one, except for a couple of points:

 * the old structurizer accepts any CFG, without requiring reducibility;
   however, the DXIL specification requires the CFG to be reducible
   anyway, so we're not really losing anything;

 * the new structurizer additionally requires that no block has two
   incoming back arrows; AFAIK this is condition that can happen,
   but in practice it seems to be rare; also, it's not hard to add
   support for it, as soon as it is decided it is useful.

On the other hand, the new structurizer makes use of the merging
information that are reconstructed from the CFG, which is important
for downstream optimization and fundamental for correctly emitting
tangled instructions.

Taking these considerations into account, the old structurizer is
considered superseded and is therefore removed.
2024-03-18 23:07:17 +01:00
..
vkd3d vkd3d: Enable VK_EXT_fragment_shader_interlock if available. 2024-03-11 22:10:25 +01:00
vkd3d-common vkd3d-utils: Add D3DReflect(). 2024-01-24 22:37:53 +01:00
vkd3d-shader vkd3d-shader/ir: Emit multilevel jumps in the structured program. 2024-03-18 23:07:17 +01:00
vkd3d-utils vkd3d-shader: Add an option to enable child effects compilation. 2024-03-12 22:14:41 +01:00
.gitignore libs/vkd3d: Trace build version. 2018-06-27 22:43:49 +02:00