Elizabeth Figura
32e6a1bb4d
vkd3d-shader: Validate the parsed shader in vsir_parse().
2024-10-23 16:02:09 +02:00
Henri Verbeet
1113d24a70
vkd3d-shader/ir: Store the global flags in struct vsir_program.
2024-10-22 20:40:31 +02:00
Nikolay Sivov
cf3e251a9f
vkd3d-shader/hlsl: Implement the f32tof16() intrinsic.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-22 20:28:33 +02:00
Francisco Casas
2a8c1b2823
vkd3d-shader/hlsl: Sort signature elements by register id.
2024-10-22 20:25:40 +02:00
Francisco Casas
7fd6c29ee8
vkd3d-shader/hlsl: Allow accounting for interpolation mode when allocating semantics.
...
For now this has no effect since semantics are allocated with reg_size
4, but will have effect when optimizing interstage signatures.
2024-10-22 20:03:39 +02:00
Nikolay Sivov
fb2b974466
vkd3d-shader/hlsl: Handle snorm/unorm types as resource formats.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-22 19:14:51 +02:00
Giovanni Mascellani
ed4d45355a
vkd3d-shader/ir: Represent the normalisation level with an enumeration.
2024-10-21 18:21:39 +02:00
Shaun Ren
abed6d9cb7
vkd3d-shader/tpf: Implement semantics for domain shaders.
2024-10-21 18:18:25 +02:00
Shaun Ren
0273ff007b
vkd3d-shader/tpf: Write domain shader declarations.
2024-10-21 18:18:00 +02:00
Shaun Ren
26efba30b4
vkd3d-shader/tpf: Use vpc input registers for domain shaders.
2024-10-21 18:17:06 +02:00
Shaun Ren
2b897296a1
vkd3d-shader/tpf: Write the input signature of domain shaders as PCSG.
2024-10-21 18:16:50 +02:00
Giovanni Mascellani
eba8fd4720
vkd3d-shader: Keep track of whether programs have normalised I/O.
2024-10-17 17:34:55 +02:00
Shaun Ren
1ed5f1a4d0
vkd3d-shader/tpf: Write the patch constant function in hull shaders.
...
We use a single hs_fork_phase here for the patch constant function.
2024-10-16 21:40:40 +02:00
Shaun Ren
ae2d86b99c
vkd3d-shader/tpf: Determine SIV from SV and index in write_sm4_dcl_semantic().
2024-10-16 21:12:29 +02:00
Shaun Ren
df3aaac7cf
vkd3d-shader/tpf: Introduce tpf_write_shader_function().
2024-10-16 21:12:13 +02:00
Shaun Ren
147f8898ca
vkd3d-shader/hlsl: Process the patch constant function in hlsl_emit_bytecode().
...
Also, support patch constant function semantics in sm4_sysval_semantic_from_semantic_name().
2024-10-16 21:10:24 +02:00
Shaun Ren
cbed70c60f
vkd3d-shader/tpf: Implement semantics for hull shaders.
2024-10-16 21:07:53 +02:00
Shaun Ren
beb342ed5f
vkd3d-shader/tpf: Write hull shader declarations.
2024-10-16 21:07:53 +02:00
Francisco Casas
7eee877dd4
vkd3d-shader/tpf: Make hlsl_sm4_register_from_semantic() independent of HLSL IR.
2024-10-16 21:07:51 +02:00
Francisco Casas
a243862b8c
vkd3d-shader/tpf: Make sysval_semantic_from_hlsl() independent of HLSL IR.
2024-10-16 21:05:10 +02:00
Francisco Casas
7cc8151b81
vkd3d-shader/tpf: Replace uses of ctx->profile with tpf->program->shader_version.
2024-10-16 18:50:15 +02:00
Francisco Casas
c75fbaf94e
vkd3d-shader/tpf: Use the I/O signatures from the vsir program in tpf_write_signature().
2024-10-16 17:40:26 +02:00
Francisco Casas
10442369d8
vkd3d-shader/tpf: Pass a tpf_compiler structure to tpf_compile() callees.
2024-10-16 17:26:47 +02:00
Francisco Casas
16d9a10dd5
vkd3d-shader/tpf: Rename "tpf_writer" to "tpf_compiler".
...
Analog to d3dbc_compiler.
2024-10-16 17:09:15 +02:00
Francisco Casas
5b21cc67f1
vkd3d-shader/hlsl: Split hlsl_sm4_write().
...
Similarly to the already done split from
HLSL IR -> d3dbc
to
HLSL IR -> vsir -> d3bc
we now start splitting the
HLSL IR -> tpf
translation into
HLSL IR -> vsir -> tpf
So hlsl_sm4_write is split into two functions, sm4_generate_vsir() and
tpf_compile().
This translation should be completed once tpf_compile() no longer needs
the hlsl_ctx and entry_func parameters.
2024-10-16 17:08:50 +02:00