vkd3d-shader/hlsl: Write SM4 reinterpret instructions.

This commit is contained in:
Zebediah Figura 2022-09-28 15:19:27 -05:00 committed by Alexandre Julliard
parent 2d4d2e1244
commit 1e10b5e616
Notes: Alexandre Julliard 2022-10-18 00:13:00 +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/25
2 changed files with 6 additions and 2 deletions

View File

@ -1664,6 +1664,10 @@ static void write_sm4_expr(struct hlsl_ctx *ctx,
}
break;
case HLSL_OP1_REINTERPRET:
write_sm4_unary_op(buffer, VKD3D_SM4_OP_MOV, &expr->node, arg1, 0);
break;
case HLSL_OP1_ROUND:
assert(type_is_float(dst_type));
write_sm4_unary_op(buffer, VKD3D_SM4_OP_ROUND_NE, &expr->node, arg1, 0);

View File

@ -16,7 +16,7 @@ float4 main(uniform float f, uniform int i, uniform uint u, uniform half h) : sv
[test]
uniform 0 uint4 123 0xc0000000 456 0x7fd69345
todo draw quad
draw quad
probe (320,240) rgba (123.0, 3221225472.0, 456.0, 2144768896.0)
@ -31,7 +31,7 @@ float4 main(uniform float2x2 m, uniform float4 v) : sv_target
uniform 0 uint4 11 12 0 0
uniform 4 uint4 13 14 0 0
uniform 8 uint4 20 21 22 23
todo draw quad
draw quad
probe (320,240) rgba (13.0, 21.0, 0.0, 0.0)