Henri Verbeet pushed to branch master at wine / vkd3d
Commits: 3cb9e8dc by Victor Chiletto at 2024-12-12T16:41:18+01:00 vkd3d-shader/hlsl: Explicitly track the copy propagation state stack.
- - - - - 7bee33f9 by Victor Chiletto at 2024-12-12T16:41:34+01:00 vkd3d-shader/hlsl: Allow copy propagation to be stopped early.
- - - - - 6c3a60cc by Victor Chiletto at 2024-12-12T16:41:34+01:00 vkd3d-shader/hlsl: Constant fold casts to boolean.
- - - - - 0a8c4a6f by Victor Chiletto at 2024-12-12T16:41:34+01:00 vkd3d-shader/hlsl: Run copy propagation incrementally during loop unrolling.
- - - - - de3a365f by Victor Chiletto at 2024-12-12T16:41:34+01:00 vkd3d-shader/hlsl: Do not clone the entire program for loop unrolling.
- - - - - 5d8448a4 by Victor Chiletto at 2024-12-12T16:41:34+01:00 vkd3d-shader/hlsl: Remove loop_unrolling_find_unrollable_loop().
Since loop unrolling doesn't clone the entire program anymore, we can express it as a hlsl_transform_ir() transform.
- - - - - 351d58a9 by Victor Chiletto at 2024-12-12T16:41:34+01:00 vkd3d-shader/hlsl: Partially defer continue resolution.
We need 'for' iter blocks to be separate for loop unrolling.
- - - - - a1d995e7 by Victor Chiletto at 2024-12-12T16:54:04+01:00 vkd3d-shader/hlsl: Unroll loops with conditional jumps.
- - - - - ed6061df by Victor Chiletto at 2024-12-12T16:54:07+01:00 vkd3d-shader/hlsl: Drop the _ir_ infix from enum hlsl_loop_unroll_type.
- - - - -
8 changed files:
- libs/vkd3d-shader/hlsl.c - libs/vkd3d-shader/hlsl.h - libs/vkd3d-shader/hlsl.y - libs/vkd3d-shader/hlsl_codegen.c - libs/vkd3d-shader/hlsl_constant_ops.c - tests/hlsl/for.shader_test - tests/hlsl/function-return.shader_test - tests/hlsl/return.shader_test
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/77843aa837a139bb9eafc527394f0...