vkd3d-shader/ir: Remove a redundant assignment.

The hull shader control point normalisation pass already ensures
that output registers in the control point phase have two
indices (the control point index and the register index).
This commit is contained in:
Giovanni Mascellani 2024-12-16 23:18:32 +01:00 committed by Henri Verbeet
parent e8cc288426
commit 3db458697e
Notes: Henri Verbeet 2024-12-17 16:53:46 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1323

View File

@ -1685,11 +1685,6 @@ static bool io_normaliser_is_in_fork_or_join_phase(const struct io_normaliser *n
return normaliser->phase == VKD3DSIH_HS_FORK_PHASE || normaliser->phase == VKD3DSIH_HS_JOIN_PHASE; return normaliser->phase == VKD3DSIH_HS_FORK_PHASE || normaliser->phase == VKD3DSIH_HS_JOIN_PHASE;
} }
static bool io_normaliser_is_in_control_point_phase(const struct io_normaliser *normaliser)
{
return normaliser->phase == VKD3DSIH_HS_CONTROL_POINT_PHASE;
}
static bool shader_signature_find_element_for_reg(const struct shader_signature *signature, static bool shader_signature_find_element_for_reg(const struct shader_signature *signature,
unsigned int reg_idx, unsigned int write_mask, unsigned int *element_idx) unsigned int reg_idx, unsigned int write_mask, unsigned int *element_idx)
{ {
@ -2162,13 +2157,6 @@ static bool shader_dst_param_io_normalise(struct vkd3d_shader_dst_param *dst_par
vkd3d_unreachable(); vkd3d_unreachable();
e = &signature->elements[element_idx]; e = &signature->elements[element_idx];
if (io_normaliser_is_in_control_point_phase(normaliser) && reg->type == VKD3DSPR_OUTPUT)
{
/* The control point id param. */
VKD3D_ASSERT(reg->idx[0].rel_addr);
id_idx = 1;
}
if ((e->register_count > 1 || vsir_sysval_semantic_is_tess_factor(e->sysval_semantic))) if ((e->register_count > 1 || vsir_sysval_semantic_is_tess_factor(e->sysval_semantic)))
id_idx = shader_register_normalise_arrayed_addressing(reg, id_idx, e->register_index); id_idx = shader_register_normalise_arrayed_addressing(reg, id_idx, e->register_index);