mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/ir: Store code block names in struct vkd3d_shader_desc.
This commit is contained in:
committed by
Alexandre Julliard
parent
ffc65215ba
commit
37d9dba512
Notes:
Alexandre Julliard
2024-01-17 22:42:55 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/450
@@ -2358,6 +2358,8 @@ struct spirv_compiler
|
||||
|
||||
uint32_t *block_label_ids;
|
||||
unsigned int block_count;
|
||||
const char **block_names;
|
||||
size_t block_name_count;
|
||||
};
|
||||
|
||||
static bool is_in_default_phase(const struct spirv_compiler *compiler)
|
||||
@@ -7576,6 +7578,10 @@ static void spirv_compiler_emit_label(struct spirv_compiler *compiler,
|
||||
|
||||
label_id = spirv_compiler_get_label_id(compiler, block_id);
|
||||
vkd3d_spirv_build_op_label(builder, label_id);
|
||||
|
||||
--block_id;
|
||||
if (block_id < compiler->block_name_count && compiler->block_names[block_id])
|
||||
vkd3d_spirv_build_op_name(builder, label_id, compiler->block_names[block_id]);
|
||||
}
|
||||
|
||||
static void spirv_compiler_emit_merge(struct spirv_compiler *compiler,
|
||||
@@ -9671,6 +9677,8 @@ static int spirv_compiler_generate_spirv(struct spirv_compiler *compiler,
|
||||
memset(&shader_desc->output_signature, 0, sizeof(shader_desc->output_signature));
|
||||
memset(&shader_desc->patch_constant_signature, 0, sizeof(shader_desc->patch_constant_signature));
|
||||
compiler->use_vocp = parser->shader_desc.use_vocp;
|
||||
compiler->block_names = parser->shader_desc.block_names;
|
||||
compiler->block_name_count = parser->shader_desc.block_name_count;
|
||||
|
||||
compiler->input_control_point_count = shader_desc->input_control_point_count;
|
||||
compiler->output_control_point_count = shader_desc->output_control_point_count;
|
||||
|
Reference in New Issue
Block a user