Nikolay Sivov
89e5912fd2
vkd3d-shader/hlsl: Implement RWByteAddressBuffer.Store*() methods.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-28 17:51:04 +01:00
Nikolay Sivov
cf27065b7d
vkd3d-shader/hlsl: Add parser support for the RWByteAddressBuffer type.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-28 17:44:28 +01:00
Nikolay Sivov
4195a2f18a
vkd3d-shader/hlsl: Use a more compact way to store object method configurations.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-28 17:41:46 +01:00
Elizabeth Figura
390a330b8e
vkd3d-shader/hlsl: Avoid leaking the block in the subscript rule.
2024-10-28 15:40:41 +01:00
Elizabeth Figura
bb74180659
vkd3d-shader/hlsl: Return an error expression when an invalid subscript is used.
2024-10-28 15:40:41 +01:00
Elizabeth Figura
7905c47765
vkd3d-shader/hlsl: Handle error expressions in array sizes.
2024-10-28 15:40:41 +01:00
Elizabeth Figura
8b98e483ac
vkd3d-shader/hlsl: Handle error expressions in return statements.
2024-10-28 15:40:41 +01:00
Elizabeth Figura
94cf432035
vkd3d-shader/hlsl: Handle error expressions in conditions.
2024-10-28 15:40:41 +01:00
Nikolay Sivov
5eff8bf918
vkd3d-shader/hlsl: Handle SV_GroupIndex.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-24 20:54:04 +02:00
Henri Verbeet
5e9edf25d0
vkd3d-shader/glsl: Implement VKD3DSIH_GATHER4.
2024-10-24 20:52:37 +02:00
Henri Verbeet
d477a00734
vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE_GRAD.
2024-10-24 20:52:37 +02:00
Henri Verbeet
d58282c6d1
vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE_LOD.
2024-10-24 20:52:37 +02:00
Henri Verbeet
85697d76be
vkd3d-shader/glsl: Implement VKD3DSIH_UMAX and VKD3DSIH_UMIN.
2024-10-24 20:52:37 +02:00
Henri Verbeet
6a119b6946
vkd3d-shader/glsl: Implement VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL.
2024-10-24 20:52:37 +02:00
Francisco Casas
9d82915629
vkd3d-shader/hlsl: Make allocation functions static again.
2024-10-24 20:50:59 +02:00
Francisco Casas
23be6ed0dd
vkd3d-shader/hlsl: Store temp declarations in the vsir program.
...
Move the temp allocation back to hlsl_codegen.c.
Note that the DCL_TEMPS instructions wouldn't be necessary if we had the
capacity to store the temp_count for both the main program and the patch
constant program (or more generally speaking, a temp_count for all
phases).
The plan is to eventually also move the HS_CONTROL_POINT and
HS_FORK_PHASE markers to the vsir_program, making it able to contain
both functions.
2024-10-24 20:50:59 +02:00
Francisco Casas
158bf794e6
vkd3d-shader/hlsl: Introduce hlsl_ir_vsir_instruction_ref, again.
...
This node type will be deleted (again) once the hlsl->vsir->tpf
translation is complete. It serves the purpose of allowing to keep
both real hlsl_ir_nodes and vsir_instructions in the hlsl_block,
until all the former can be translated into the latter.
2024-10-24 20:50:59 +02:00
Francisco Casas
cf7fade580
vkd3d-shader/hlsl: Store the thread group size in the vsir program.
2024-10-24 20:48:20 +02:00
Giovanni Mascellani
91701f8303
vkd3d-shader: Warn instead of erroring out when failing to dump a shader.
...
It's a debug operation and shouldn't be considered fatal, even
for development workflows.
2024-10-23 16:14:33 +02:00
Giovanni Mascellani
6a03369f84
vkd3d-shader: Do not dump the target shader if compilation failed.
...
Otherwise we'd use unitialized data.
2024-10-23 16:14:33 +02:00
Elizabeth Figura
32e6a1bb4d
vkd3d-shader: Validate the parsed shader in vsir_parse().
2024-10-23 16:02:09 +02:00
Elizabeth Figura
3a3f95e1e7
vkd3d-shader: Factor out a vsir_parse() helper.
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
Henri Verbeet
21e9029177
vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE_C_LZ.
2024-10-22 20:39:31 +02:00
Henri Verbeet
5958e527e5
vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE_C.
2024-10-22 20:39:31 +02:00