Conor McCarthy
|
5984b4e455
|
vkd3d-shader/dxbc: Load input signatures also from ISG1 chunks.
When DXBC contains DXIL code it uses ISG1 signatures.
|
2023-09-25 22:07:06 +02:00 |
|
Conor McCarthy
|
575135a9ce
|
vkd3d-shader/spirv: Build undefined values once.
|
2023-09-25 22:07:05 +02:00 |
|
Conor McCarthy
|
3249723972
|
vkd3d-shader/spirv: Introduce a Static Single Assignment register type.
|
2023-09-25 22:07:04 +02:00 |
|
Conor McCarthy
|
a67a85989f
|
vkd3d-shader/d3d-asm: Trace undefined registers.
|
2023-09-25 22:07:02 +02:00 |
|
Conor McCarthy
|
b765f3c770
|
vkd3d-shader: Make the paramater allocator slab size at least MAX_REG_OUTPUT.
The allocator is used for DXIL input/output parameter arrays.
|
2023-09-25 22:07:01 +02:00 |
|
Zebediah Figura
|
257a351f37
|
vkd3d-shader/spirv: Flush NaN to zero in ftoi.
|
2023-09-25 22:06:45 +02:00 |
|
Zebediah Figura
|
a5b6162d25
|
vkd3d-shader/spirv: Clamp ftoi upper bound to INT_MAX.
|
2023-09-25 22:06:44 +02:00 |
|
Zebediah Figura
|
9dee15da5b
|
vkd3d-shader/spirv: Clamp ftoi lower bound to INT_MIN.
|
2023-09-25 22:06:43 +02:00 |
|
Zebediah Figura
|
cc893a3368
|
vkd3d-shader/spirv: Clamp ftou upper bound to UINT_MAX.
|
2023-09-25 22:06:41 +02:00 |
|
Zebediah Figura
|
491146fa94
|
vkd3d-shader/spirv: Clamp ftou lower bound to zero.
|
2023-09-25 22:06:39 +02:00 |
|
Nikolay Sivov
|
485cbe8cb7
|
vkd3d-shader/hlsl: Add constant folding for 'sat'.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
|
2023-09-22 11:06:35 +02:00 |
|
Nikolay Sivov
|
89c99cccce
|
vkd3d-shader/hlsl: Add constant folding for 'exp2'.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
|
2023-09-22 11:06:34 +02:00 |
|
Nikolay Sivov
|
c16c5caad8
|
vkd3d-shader/hlsl: Add constant folding for 'fract'.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
|
2023-09-22 11:06:33 +02:00 |
|
Giovanni Mascellani
|
c69562128a
|
vkd3d-shader/hlsl: Correctly fold casts from double.
|
2023-09-22 11:06:29 +02:00 |
|
Giovanni Mascellani
|
49bbd98a04
|
vkd3d-shader/hlsl: Correctly fold casts from float.
I.e., without invoking undefined behavior in the compiler. The rules
are desumed from the the MSDN documentation for ftoi and ftou.
|
2023-09-22 11:06:28 +02:00 |
|
Nikolay Sivov
|
d9c984c11a
|
vkd3d-shader/hlsl: Add constant folding for the ternary operator.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
|
2023-09-22 11:06:23 +02:00 |
|
Nikolay Sivov
|
6d1ba83856
|
vkd3d-shader/hlsl: Use conditional moves for arithmetic operators instead of branching.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
|
2023-09-22 11:06:22 +02:00 |
|
Giovanni Mascellani
|
34b1c0fe5d
|
vkd3d-shader/ir: Validate source parameters.
|
2023-09-22 11:06:18 +02:00 |
|
Giovanni Mascellani
|
603170106c
|
vkd3d-shader/ir: Validate destination parameters.
|
2023-09-22 11:06:17 +02:00 |
|
Giovanni Mascellani
|
585e60ad3b
|
vkd3d-shader/ir: Validate register types.
|
2023-09-22 11:06:16 +02:00 |
|
Giovanni Mascellani
|
b09cfbda90
|
vkd3d-shader/ir: Validate instruction handlers.
|
2023-09-22 11:06:15 +02:00 |
|
Giovanni Mascellani
|
c052cd8998
|
vkd3d-shader/ir: Introduce a boilerplate to validate the generated IR.
For the moment the validator is trivial, it never fails. Checks will
be added incrementally.
|
2023-09-22 11:06:13 +02:00 |
|
Giovanni Mascellani
|
cf871d2cb2
|
vkd3d-shader: Embed the parsing location in vkd3d_shader_instruction.
So that it can be used for printing meaningful error locations by
downstream processors.
|
2023-09-22 11:06:12 +02:00 |
|
Giovanni Mascellani
|
531c41306d
|
vkd3d-shader/dxil: Destroy the SM6 parser on parsing errors.
|
2023-09-22 11:06:11 +02:00 |
|
Giovanni Mascellani
|
78220ed07e
|
vkd3d-shader/tpf: Destroy the SM4 parser on parsing errors.
|
2023-09-22 11:06:10 +02:00 |
|