Henri Verbeet pushed to branch master at wine / vkd3d
Commits: 8fdc156a by Conor McCarthy at 2025-11-20T17:21:15+01:00 vkd3d-shader/dxil: Emit branch instructions during parsing.
- - - - - c9f660ec by Conor McCarthy at 2025-11-20T17:21:15+01:00 vkd3d-shader/dxil: Emit switch instructions during parsing.
- - - - - 32d0613b by Conor McCarthy at 2025-11-20T17:21:15+01:00 vkd3d-shader/dxil: Emit return instructions during parsing.
- - - - - 8a6c5cb4 by Conor McCarthy at 2025-11-20T17:21:16+01:00 vkd3d-shader/dxil: Emit an error if a return instruction has operands.
- - - - - 7d3a5200 by Conor McCarthy at 2025-11-20T17:21:16+01:00 vkd3d-shader/dxil: Initialise or validate forward-referenced values in a helper function.
A future patch needs to call this function from another location.
- - - - - 28e58e0c by Conor McCarthy at 2025-11-20T17:21:16+01:00 vkd3d-shader/dxil: Move relative index validation outside sm6_parser_get_value_index().
This allows sm6_parser_get_value_index() to be called with relative indices requiring different validation.
- - - - - 6643c848 by Conor McCarthy at 2025-11-20T17:21:16+01:00 vkd3d-shader/dxil: Emit phi instructions during parsing.
- - - - - 25719f93 by Conor McCarthy at 2025-11-20T17:21:16+01:00 vkd3d-shader/dxil: Get rid of struct sm6_block.
Emission of code into individual block instruction arrays was done to enable construction of a control flow graph. A graph is constructed from the flat instruction array in a later pass, so blocks are not needed.
It is possible to emit instructions directly into the array in struct vsir_program instead of from sm6_function_emit_instructions(), but since the patch constant function occurs first in DXIL hull shaders, this would reverse the current order of functions in the flat array. That may be acceptable, but it is left for a later patch in case any issues arise.
- - - - -
1 changed file:
- libs/vkd3d-shader/dxil.c
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/cfe9cd379451cbcb507e5e427e4d2...