mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/ir: Insert hull shader control point input declarations if no control point phase is defined.
The SPIR-V backend will emit a default control point phase. Inserting inputs into the IR allows handling of declarations via the usual path instead of an ad hoc implementation which may not match later changes to input handling.
This commit is contained in:
committed by
Alexandre Julliard
parent
14295a224d
commit
98b5e2c6e0
Notes:
Alexandre Julliard
2023-04-12 22:34:30 +02:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/141
@@ -1202,6 +1202,14 @@ static inline enum vkd3d_data_type vkd3d_data_type_from_component_type(
|
||||
}
|
||||
}
|
||||
|
||||
enum vkd3d_shader_input_sysval_semantic vkd3d_siv_from_sysval_indexed(enum vkd3d_shader_sysval_semantic sysval,
|
||||
unsigned int index);
|
||||
|
||||
static inline enum vkd3d_shader_input_sysval_semantic vkd3d_siv_from_sysval(enum vkd3d_shader_sysval_semantic sysval)
|
||||
{
|
||||
return vkd3d_siv_from_sysval_indexed(sysval, 0);
|
||||
}
|
||||
|
||||
static inline unsigned int vkd3d_write_mask_get_component_idx(DWORD write_mask)
|
||||
{
|
||||
unsigned int i;
|
||||
@@ -1340,7 +1348,8 @@ struct vkd3d_shader_normaliser
|
||||
void shader_normaliser_init(struct vkd3d_shader_normaliser *normaliser,
|
||||
struct vkd3d_shader_instruction_array *instructions);
|
||||
enum vkd3d_result shader_normaliser_flatten_hull_shader_phases(struct vkd3d_shader_normaliser *normaliser);
|
||||
enum vkd3d_result shader_normaliser_normalise_hull_shader_control_point_io(struct vkd3d_shader_normaliser *normaliser);
|
||||
enum vkd3d_result shader_normaliser_normalise_hull_shader_control_point_io(struct vkd3d_shader_normaliser *normaliser,
|
||||
const struct vkd3d_shader_signature *input_signature);
|
||||
void shader_normaliser_destroy(struct vkd3d_shader_normaliser *normaliser);
|
||||
|
||||
#endif /* __VKD3D_SHADER_PRIVATE_H */
|
||||
|
Reference in New Issue
Block a user