vkd3d-shader/dxil: Emit bool inputs and outputs as uint.

DXIL reads/writes uint for these.
This commit is contained in:
Conor McCarthy 2023-07-28 16:14:13 +10:00 committed by Alexandre Julliard
parent 5b7191280b
commit ea5624e5e8
Notes: Alexandre Julliard 2024-05-13 22:58:15 +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/857
2 changed files with 5 additions and 1 deletions

View File

@ -9387,6 +9387,10 @@ static enum vkd3d_result sm6_parser_read_signature(struct sm6_parser *sm6, const
e->used_mask <<= index; e->used_mask <<= index;
} }
/* DXIL reads/writes uint for bool I/O. */
if (e->component_type == VKD3D_SHADER_COMPONENT_BOOL)
e->component_type = VKD3D_SHADER_COMPONENT_UINT;
m = element_node->operands[4]; m = element_node->operands[4];
if (!sm6_metadata_value_is_node(m)) if (!sm6_metadata_value_is_node(m))
{ {

View File

@ -49,5 +49,5 @@ float4 main(struct input i) : sv_target
} }
[test] [test]
todo(sm>=6 | glsl) draw triangle strip 4 todo(glsl) draw triangle strip 4
probe all rgba (0.0, 2.0, 2.0, 2.0) probe all rgba (0.0, 2.0, 2.0, 2.0)