Commit Graph

8548 Commits

Author SHA1 Message Date
Giovanni Mascellani
900c8f10a2 vkd3d-shader/dxil: Do not access unallocated instructions in sm6_parser_emit_dx_create_handle(). 2025-12-09 16:55:50 +01:00
Giovanni Mascellani
267cbbebdf vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_input_register_mov(). 2025-12-09 16:51:44 +01:00
Giovanni Mascellani
e00ba4f3da vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_dx_input_register_mov(). 2025-12-09 16:49:50 +01:00
Elizabeth Figura
47c1b05a5f vkd3d-shader/hlsl: Return an error instruction from add_call() on failure. 2025-12-09 16:44:25 +01:00
Anna (navi) Figueiredo Gomes
00daf9eb0a vkd3d-shader/fx: Handle HLSL_IR_INDEX assignments. 2025-12-09 16:41:16 +01:00
Anna (navi) Figueiredo Gomes
7658f03883 vkd3d-shader/fx: Implement ConstructGSWithSO(). 2025-12-09 16:41:08 +01:00
Anna (navi) Figueiredo Gomes
38e6ba2d58 vkd3d-shader/fx: Introduce write_var_type(). 2025-12-09 16:37:38 +01:00
Anna (navi) Figueiredo Gomes
ffc8f98bba vkd3d-shader/fx: Implement shader initializers. 2025-12-09 16:29:29 +01:00
Anna (navi) Figueiredo Gomes
6e15664bff vkd3d-shader/fx: Implement shader assignment. 2025-12-09 16:21:48 +01:00
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