b09cfbda90
vkd3d-shader/ir: Validate instruction handlers.
2023-09-22 11:06:15 +02:00
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
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
531c41306d
vkd3d-shader/dxil: Destroy the SM6 parser on parsing errors.
2023-09-22 11:06:11 +02:00
78220ed07e
vkd3d-shader/tpf: Destroy the SM4 parser on parsing errors.
2023-09-22 11:06:10 +02:00
a2fb9588c7
vkd3d-shader/d3dbc: Destroy the SM1 parser on parsing errors.
2023-09-22 11:06:09 +02:00
d1cb6b41b1
vkd3d-shader/d3dbc: Skip DCL semantic tokens properly.
2023-09-22 11:06:08 +02:00
9487cc6ab5
vkd3d-shader/ir: Simplify the control flow in shader_instruction_normalise_io_params().
2023-09-22 11:06:06 +02:00
5220125c9f
vkd3d-shader/ir: Fully reinitialize an instruction when making it a NOP.
2023-09-22 11:06:05 +02:00
05af25eecb
vkd3d-shader: Rename shader_instruction_init().
2023-09-22 11:06:05 +02:00
78ff0f3df4
vkd3d: Add ID3D12Device2 interface.
2023-09-22 11:05:59 +02:00
90d4529f27
Release 1.9.
2023-09-21 19:16:32 +02:00
9417c7cfb7
vkd3d-shader/d3dbc: Translate sm1 fragment outputs to system values.
2023-09-21 19:16:31 +02:00
1615e5a76b
vkd3d-shader/dxbc: Map sm4 fragment outputs to system values based on their name.
2023-09-21 19:16:29 +02:00
fd120d8f2d
vkd3d-shader: Rename vkd3d_shader_next_stage_info to vkd3d_shader_varying_map_info.
...
It was originally intended that this structure could hold other information
about the next stage which compilation might depend on. For example, compilation
to GLSL needs to know the type of the next shader in some circumstances.
That was never actualized, and since the API is fixed at this point for 1.9, it
makes the most sense to rename the structure to match its actual scope.
The documentation was written and arranged to imply that the structure would
hold other information about the next shader than the varying map; this is
changed accordingly as well.
2023-09-21 19:16:27 +02:00
f796d8668e
vkd3d-shader: Export vkd3d_shader_build_varying_map.
2023-09-19 21:30:35 +02:00
da89da2bf3
vkd3d-shader: Hide support for DXIL sources.
...
Unfortunately this is not sufficiently ready to release.
2023-09-18 21:04:19 +02:00
ee28861837
vkd3d-shader/hlsl: Document some possibly obscure HLSL opcodes.
2023-09-14 20:28:55 +02:00
f251da574c
vkd3d-shader/hlsl: Remove HLSL_OP3_LERP.
...
It is unused, and it's not clear whether it would be of any help to
have it.
2023-09-14 20:28:54 +02:00
45541dd9b2
vkd3d-shader/asm: Tweak TEXCOORD declaration name.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-09-13 23:11:16 +02:00
ee6c66eb1b
vkd3d-shader/d3dbc: Disallow 1D sampler types when writing sampler declaration.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-09-13 23:11:14 +02:00
177ea3bcbd
vkd3d-shader/hlsl: Produce 2D resource declarations and loads for tex1D().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-09-13 23:11:11 +02:00
39563aa5b3
vkd3d-shader/hlsl: Lower matrix swizzles.
2023-09-13 23:10:38 +02:00
fc2aaee224
vkd3d-shader: Use ternary operator in fmod() implementation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-09-07 19:15:26 +02:00
1002a6b357
vkd3d-shader/tpf: Use 'movc' to implement ternary operator.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2023-09-07 19:15:25 +02:00