vkd3d-shader/ir: Record the control flow type in the program.

This commit is contained in:
Giovanni Mascellani
2024-09-10 22:22:24 +02:00
committed by Henri Verbeet
parent dcee148b1a
commit 866f138875
Notes: Henri Verbeet 2024-09-12 18:56:42 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1061
6 changed files with 25 additions and 30 deletions

View File

@@ -1366,7 +1366,6 @@ enum vkd3d_shader_config_flags
enum vsir_control_flow_type
{
VSIR_CF_UNKNOWN,
VSIR_CF_STRUCTURED,
VSIR_CF_BLOCKS,
};
@@ -1390,6 +1389,7 @@ struct vsir_program
unsigned int temp_count;
unsigned int ssa_count;
bool use_vocp;
enum vsir_control_flow_type cf_type;
const char **block_names;
size_t block_name_count;
@@ -1402,7 +1402,7 @@ int vsir_program_compile(struct vsir_program *program, uint64_t config_flags,
const struct vkd3d_shader_parameter1 *vsir_program_get_parameter(
const struct vsir_program *program, enum vkd3d_shader_parameter_name name);
bool vsir_program_init(struct vsir_program *program, const struct vkd3d_shader_compile_info *compile_info,
const struct vkd3d_shader_version *version, unsigned int reserve);
const struct vkd3d_shader_version *version, unsigned int reserve, enum vsir_control_flow_type cf_type);
enum vkd3d_result vsir_program_transform(struct vsir_program *program, uint64_t config_flags,
const struct vkd3d_shader_compile_info *compile_info, struct vkd3d_shader_message_context *message_context);
enum vkd3d_result vsir_program_validate(struct vsir_program *program, uint64_t config_flags,