vkd3d-shader/dxil: Read the DXIL input and output signatures.

These can differ from the DXBC signatures by having multiple rows, and
load/store instructions reference them by id instead of register index.
This commit is contained in:
Conor McCarthy
2023-09-28 16:33:11 +10:00
committed by Alexandre Julliard
parent 62badbff7a
commit 8648ca0e77
Notes: Alexandre Julliard 2023-10-16 22:59:53 +02: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/403
3 changed files with 360 additions and 4 deletions

View File

@@ -435,6 +435,8 @@ static int shader_parse_signature(const struct vkd3d_shader_dxbc_section_desc *s
else
e[i].min_precision = VKD3D_SHADER_MINIMUM_PRECISION_NONE;
e[i].interpolation_mode = VKD3DSIM_NONE;
TRACE("Stream: %u, semantic: %s, semantic idx: %u, sysval_semantic %#x, "
"type %u, register idx: %u, use_mask %#x, input_mask %#x, precision %u.\n",
e[i].stream_index, debugstr_a(e[i].semantic_name), e[i].semantic_index, e[i].sysval_semantic,