Commit Graph

8538 Commits

Author SHA1 Message Date
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
Giovanni Mascellani
2855f2d605 vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_br(). 2025-12-03 15:15:59 +01:00