Commit Graph

574 Commits

Author SHA1 Message Date
Giovanni Mascellani
0789578175 vkd3d-shader/ir: Introduce vsir_program_append().
To append an instruction to the end of the vsir program.
2025-07-22 15:12:37 +02:00
Henri Verbeet
1487764e23 vkd3d-shader/ir: Rename VKD3D_DATA_UINT64 to VSIR_DATA_U64. 2025-07-22 14:57:26 +02:00
Henri Verbeet
742cce9a08 vkd3d-shader/ir: Rename VKD3D_DATA_UINT to VSIR_DATA_U32. 2025-07-22 14:57:26 +02:00
Henri Verbeet
163b87444f vkd3d-shader/ir: Rename VKD3D_DATA_UINT16 to VSIR_DATA_U16. 2025-07-22 14:57:26 +02:00
Henri Verbeet
40bbd61abd vkd3d-shader/ir: Rename VKD3D_DATA_UINT8 to VSIR_DATA_U8. 2025-07-22 14:57:26 +02:00
Henri Verbeet
a04e4e4010 vkd3d-shader/ir: Rename VKD3D_DATA_INT to VSIR_DATA_I32. 2025-07-22 14:57:26 +02:00
Giovanni Mascellani
decc155cca vkd3d-shader/ir: Split updating DCL_TEMPS instructions to a dedicated pass.
So that it can be used in other contexts as well. And so that
register allocation can be run also when there is no need to update
or create DCL_TEMPS instructions.
2025-07-21 12:31:08 +02:00
Henri Verbeet
db149cd8cf vkd3d-shader/ir: Rename VKD3D_DATA_DOUBLE to VSIR_DATA_F64. 2025-07-21 12:10:43 +02:00
Henri Verbeet
c5c1c03430 vkd3d-shader/ir: Rename VKD3D_DATA_FLOAT to VSIR_DATA_F32. 2025-07-21 12:10:43 +02:00
Henri Verbeet
d1dcbc26e5 vkd3d-shader/ir: Rename VKD3D_DATA_HALF to VSIR_DATA_F16. 2025-07-21 12:10:43 +02:00
Henri Verbeet
0126beb3b2 vkd3d-shader/ir: Rename enum vkd3d_data_type to vsir_data_type. 2025-07-21 12:10:43 +02:00
Francisco Casas
7e9834ee36 vkd3d-shader/hlsl: Make output semantics on structs cascade down onto the fields. 2025-07-21 11:57:00 +02:00
Giovanni Mascellani
9867d48c3a vkd3d-shader/ir: Use the iterator in vsir_program_lower_ifc(). 2025-07-17 14:04:28 +02:00
Giovanni Mascellani
2d848b5bc0 vkd3d-shader/ir: Introduce an abstraction to iterate through vsir instructions. 2025-07-17 14:04:00 +02:00
Giovanni Mascellani
32bf71ba96 vkd3d-shader/ir: Validate descriptor flags in vsir programs. 2025-07-16 17:34:35 +02:00
Giovanni Mascellani
82ef9bf2e5 vkd3d-shader/ir: Introduce VSIR_OP_UREM.
It is meant to compute the unsigned integer remainder.
2025-06-25 16:43:34 +02:00
Giovanni Mascellani
78e0f8412d vkd3d-shader/ir: Introduce VSIR_OP_UDIV_SIMPLE.
It is meant to compute the unsigned integer division, without
computing the modulo at the same time.
2025-06-25 16:40:43 +02:00
Giovanni Mascellani
823a8724de vkd3d-shader/ir: Introduce VSIR_OP_IREM.
It is meant to compute the signed integer remainder.
2025-06-25 16:38:38 +02:00
Henri Verbeet
d219cccc99 vkd3d-shader/ir: Rename the VKD3DSIH_* enum elements to VSIR_OP_*. 2025-06-25 15:53:41 +02:00
Giovanni Mascellani
4a39db797b vkd3d-shader/ir: Introduce VKD3DSIH_IMUL_LOW.
It is meant to compute the lower word of an integer multiplication.
2025-06-24 15:15:56 +02:00
Shaun Ren
f3dec58423 vkd3d-shader/hlsl: Ignore the 'groupshared' modifier for non-compute shaders. 2025-06-24 14:54:25 +02:00
Elizabeth Figura
288020bce8 vkd3d-shader/ir: Allocate SSA registers to temps. 2025-06-23 17:39:12 +02:00
Elizabeth Figura
5e4c61eba6 vkd3d-shader/ir: Introduce a stub SSA to temp allocation pass. 2025-06-23 17:32:59 +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