Anna (navi) Figueiredo Gomes
46169b1a3b
vkd3d-shader/fx: Add HLSL_CLASS_GEOMETRY_SHADER to helper functions.
...
To avoid tests triggering an assert on the next commit.
2025-12-09 15:46:59 +01:00
Anna (navi) Figueiredo Gomes
b986bfa2fe
tests/hlsl: Add effect CompileShader() tests.
2025-12-09 15:46:45 +01:00
Anna (navi) Figueiredo Gomes
b17923b5ba
vkd3d-shader/hlsl: Store parsed values in hlsl_ir_compile().
...
Makes emitting shaders from fx.c easier, and brings parsing failures
upfront.
Non-effect target profiles don't perform any type checks on
ConstructGSWithSO(), nor use shader objects in any way, but they do
check if the argument count is correct.
So we create a GeometryShader object with NULL decl and profile when
targeting non-effect profiles, so our type checks still work and
implicit conversions aren't attempted.
2025-12-09 15:44:30 +01:00
Anna (navi) Figueiredo Gomes
ffe1a433d9
vkd3d-shader/hlsl: Unify add_shader_compilation() cleanup.
2025-12-09 15:02:27 +01:00
Henri Verbeet
d0318ca14b
vkd3d-shader/ir: Lower VSIR_OP_DP2ADD instructions.
2025-12-08 17:42:03 +01:00
Henri Verbeet
79ddfedbde
tests/d3dbc: Add some tests for dp2add instructions.
...
These are adapted from Wine's dp2add_ps_test() d3d9 test by Jason Green.
2025-12-08 17:42:03 +01:00
Giovanni Mascellani
5348427c62
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_cbuffer_load().
2025-12-08 17:38:56 +01:00
Giovanni Mascellani
4c3f430a5c
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_calculate_lod().
2025-12-08 17:38:41 +01:00
Giovanni Mascellani
6b042b3ce3
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_update_counter().
2025-12-08 17:37:22 +01:00
Giovanni Mascellani
7d481b6c2d
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_store().
2025-12-08 17:34:53 +01:00
Giovanni Mascellani
89c17a142e
vkd3d-shader/dxil: Use sm6_parser_add_function_instruction() in sm6_parser_emit_reg_composite_construct().
2025-12-08 17:28:49 +01:00
Shaun Ren
52f00ceec5
vkd3d-shader/hlsl: Use a block in split_copy().
2025-12-08 17:01:57 +01:00
Shaun Ren
b31dc058b9
vkd3d-shader/hlsl: Validate groupshared variables.
2025-12-08 17:01:57 +01:00
Shaun Ren
d2d50efaea
tests/hlsl: Add more TGSM tests.
2025-12-08 17:01:57 +01:00
Shaun Ren
654a29b788
tests/hlsl: Add some structured copy tests.
2025-12-08 17:01:51 +01:00
Giovanni Mascellani
cd230078a7
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_raw_buffer_load().
2025-12-04 20:11:14 +01:00
Giovanni Mascellani
203fc6d773
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_load().
2025-12-04 20:08:43 +01:00
Giovanni Mascellani
e0ef0c4a67
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_barrier().
2025-12-04 19:41:59 +01:00
Giovanni Mascellani
1941be3cc5
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_atomic_binop().
2025-12-04 19:31:46 +01:00
Giovanni Mascellani
8d0f82c45a
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_unary().
2025-12-04 19:31:45 +01:00
Henri Verbeet
9ddb815127
vkd3d-shader/ir: Rename struct vkd3d_shader_src_param to struct vsir_src_operand.
2025-12-04 19:22:30 +01:00
Henri Verbeet
59c8c1b8fa
vkd3d-shader/ir: Rename struct vkd3d_shader_dst_param to struct vsir_dst_operand.
2025-12-04 19:21:37 +01:00
Giovanni Mascellani
90196f7d01
vkd3d-shader/dxil: Remove sm6_parser_emit_unhandled().
...
It's currently useless, when there is a failure we drop out of
sm6_parser_function_init() before even checking what the current
instruction or value looks like.
2025-12-03 15:23:10 +01:00
Giovanni Mascellani
f64432d4ec
vkd3d-shader/dxil: Take the record from the function emission state in sm6_parser_emit_call().
2025-12-03 15:15:59 +01:00
Giovanni Mascellani
c2ff59e80b
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_br().
2025-12-03 15:15:59 +01:00