Commit Graph

8556 Commits

Author SHA1 Message Date
Francisco Casas
be3912f600 tests/shader_runner: Introduce struct input_layout. 2025-12-11 18:45:36 +01:00
Giovanni Mascellani
9fae991877 vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_compute_builtin(). 2025-12-10 16:01:49 +01:00
Giovanni Mascellani
f409b595b2 vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_fabs(). 2025-12-10 16:00:24 +01:00
Giovanni Mascellani
f8358cf1ca vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_eval_attrib(). 2025-12-10 15:44:05 +01:00
Giovanni Mascellani
52bae288c5 vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_dot(). 2025-12-10 15:40:15 +01:00
Giovanni Mascellani
10449755a3 vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_domain_location(). 2025-12-10 15:14:34 +01:00
Giovanni Mascellani
0f3e6afed3 vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_discard(). 2025-12-09 17:13:45 +01:00
Giovanni Mascellani
ad4c497b79 vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_stream(). 2025-12-09 17:11:36 +01:00
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