Conor McCarthy
a410c448ce
vkd3d-shader/dxil: Validate the function return type after calling the handler.
...
The handler writes the destination value.
2025-06-19 20:44:54 +02:00
Giovanni Mascellani
6f092fb84a
vkd3d-shader/ir: Introduce opcode SIN.
...
It is meant to compute sine.
2025-06-19 20:32:50 +02:00
Giovanni Mascellani
322f2e5496
vkd3d-shader/ir: Introduce opcode COS.
...
It is meant to compute cosine, and gradually replace SINCOS, at
least from a certain point in the pipeline on.
2025-06-19 20:32:41 +02:00
Giovanni Mascellani
8b78747629
vkd3d-shader/dxil: Emit 16-bit UNDEFINED and INVALID values as minimum precision registers.
2025-06-18 15:48:55 +02:00
Giovanni Mascellani
b05153e6f9
vkd3d-shader/dxil: Emit 16-bit GROUPSHAREDMEM values as minimum precision registers.
2025-06-18 15:48:55 +02:00
Giovanni Mascellani
39603f4bc2
vkd3d-shader/dxil: Emit 16-bit structured TGSMs as minimum precision.
2025-06-18 15:48:55 +02:00
Giovanni Mascellani
5e1c8056ae
vkd3d-shader/dxil: Emit 16-bit raw TGSMs as minimum precision.
2025-06-18 15:48:55 +02:00
Giovanni Mascellani
7c0da1747a
vkd3d-shader/dxil: Allow constant zero values to be floating point.
...
This fixes commit 59fb3a7893
, where
the floating point alternative was mistakenly ignored.
2025-06-16 17:41:20 +02:00
Giovanni Mascellani
94cbb333f8
vkd3d-shader/dxil: Emit 16-bit ICB values as minimum precision registers.
2025-06-11 18:20:23 +02:00
Giovanni Mascellani
0b5a96d963
vkd3d-shader/dxil: Emit 16-bit SSA values as minimum precision registers.
2025-06-11 18:20:23 +02:00
Giovanni Mascellani
73940cde73
vkd3d-shader/dxil: Emit 16-bit IDXTEMP values as minimum precision registers.
2025-06-11 18:20:23 +02:00
Giovanni Mascellani
5e86d5c21b
vkd3d-shader/dxil: Emit 16-bit arrays as minimum precision types.
...
The type is not explicitly annotated as minimum precision, because
no backend currently cares about that bit anyway. We're still
relying on the fact that in SM 6.0 16-bit types are always
understood as minimum precision.
2025-06-11 18:20:20 +02:00
Giovanni Mascellani
1d780e1a6b
vkd3d-shader/dxil: Emit 16-bit CONSTANT values as minimum precision registers.
2025-06-11 18:10:12 +02:00
Giovanni Mascellani
1b389f29c5
vkd3d-shader/dxil: Remove field "reg" from struct sm6_value.
...
The VSIR register is now always generated dynamically and we
don't have to carry it around.
2025-06-10 17:40:17 +02:00
Giovanni Mascellani
20d8ba7f8d
vkd3d-shader/dxil: Introduce sm6_value_get_constant_float().
...
Similarly to sm6_value_get_constant_uint() and
sm6_value_get_constant_uint64().
2025-06-10 17:40:17 +02:00
Giovanni Mascellani
873043226c
vkd3d-shader/dxil: Rewrite sm6_parser_init_ssa_value() in terms of the SM6 value.
...
Instead of using the VSIR register.
2025-06-10 17:40:17 +02:00
Giovanni Mascellani
59fb3a7893
vkd3d-shader/dxil: Rewrite sm6_value_is_constant_zero() in terms of the SM6 value.
...
Instead of using the VSIR register.
2025-06-10 17:40:17 +02:00
Giovanni Mascellani
31e4cbba2e
vkd3d-shader/dxil: Rewrite sm6_value_get_constant_uint64() in terms of the SM6 value.
...
Instead of using the VSIR register.
2025-06-10 17:40:17 +02:00
Giovanni Mascellani
2e3f99e61e
vkd3d-shader/dxil: Rewrite sm6_value_get_constant_uint() in terms of the SM6 value.
...
Instead of using the VSIR register.
2025-06-10 17:40:17 +02:00
Giovanni Mascellani
f4f2617584
vkd3d-shader/dxil: Rewrite sm6_value_is_ssa() in terms of the value type.
2025-06-10 17:40:17 +02:00
Giovanni Mascellani
361ecd6cf5
vkd3d-shader/dxil: Rewrite sm6_value_is_undef() in terms of the value type.
2025-06-10 17:40:17 +02:00
Giovanni Mascellani
0ac20b3029
vkd3d-shader/dxil: Rewrite sm6_value_is_constant() in terms of the value type.
2025-06-10 17:40:17 +02:00
Giovanni Mascellani
7e134f85a4
vkd3d-shader/dxil: Do not set the value type in sm6_parser_function_init().
...
It is rewritten in all branches that produce a value.
VALUE_TYPE_REG is therefore never set and can be retired at last.
2025-06-05 16:05:09 +02:00
Giovanni Mascellani
0e406cf0a8
vkd3d-shader/dxil: Do not set the value type in sm6_parser_declare_global().
...
It is rewritten in all branches.
2025-06-05 16:05:09 +02:00
Giovanni Mascellani
00b3fb96d9
vkd3d-shader/dxil: Store a SM6 value in sm6_phi.
...
Rather than a VSIR register.
2025-06-05 16:05:09 +02:00