Commit Graph

217 Commits

Author SHA1 Message Date
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
Elizabeth Figura
03d02f9018 vkd3d-shader/hlsl: Write the used sampler dimension for generic samplers in the CTAB. 2025-11-10 16:18:59 +01:00
Henri Verbeet
e3001fcaa4 vkd3d-common: Introduce VKD3D_SHADER_API_VERSION_CURRENT. 2025-08-28 20:04:02 +02:00
Henri Verbeet
f732fb7889 Release 1.17. 2025-08-21 12:52:13 +02:00
Nikolay Sivov
2c49f04411 vkd3d-shader/fx: Do not attempt to parse expressions without code section. 2025-07-28 16:22:13 +02:00
Nikolay Sivov
dcd1747f12 vkd3d-shader/fx: Handle regular shader blobs when parsing the state data.
For the pass shader states this blob will contain compiled shaders, for other
state types it will contain expression code. Complex state data is stored separately,
tracing it back to actual state type will require keeping track of already parsed states.
2025-07-28 16:21:32 +02:00
Nikolay Sivov
3163e589bc vkd3d-shader/fx: Explicitly handle bool state values when parsing.
For bools 0/1 values are treated as named values, outside of this
range it's zero/non-zero.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-07-14 18:38:21 +02:00
Nikolay Sivov
46c75137c7 vkd3d-shader/fx: Use the correct value range for bools in fx_4_0 state values.
The earlier fix a06ecb6867 is missing this.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-07-14 18:38:21 +02:00
Nikolay Sivov
fc77bddb9c vkd3d-shader/fx: Improve register naming in the disassembly output.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-07-14 18:29:10 +02:00
Nikolay Sivov
ba5d5a8091 vkd3d-shader/fx: Fix the order of the "MaterialDiffuse" and "MaterialAmbient" state entries.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-23 18:28:41 +02:00
Nikolay Sivov
92c711a7d5 vkd3d-shader/fx: Add a format-specific callback to write state assignments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-23 18:27:11 +02:00
Nikolay Sivov
3537feb45c vkd3d-shader/fx: Move entry count updates out of the state block writing helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-23 18:17:48 +02:00
Nikolay Sivov
43a29044d6 vkd3d-shader/fx: Move state decomposition to the fx_4_0-specific writing path.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-23 18:16:17 +02:00
Nikolay Sivov
9f9cf59b6e vkd3d-shader/fx: Use the same state data helpers for both fx_2_0 and fx_4+.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-23 18:12:27 +02:00
Nikolay Sivov
99d61aeb89 vkd3d-shader/fx: Use a version-independent structure for states.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-23 18:12:27 +02:00
Nikolay Sivov
7281f4ed39 vkd3d-shader/fx: Add support for tx -> text output.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-16 16:19:47 +02:00
Nikolay Sivov
586b2b5a79 vkd3d-shader/fx: Add the "noise" opcode name.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-16 16:07:35 +02:00
Nikolay Sivov
e28af05957 vkd3d-shader/fx: Output indirect register access in arguments.
This uses the notation from Wine's d3dx9 effects runtime implementation.
Indirect addressing in fx_4_0 looks pretty much broken - it compiles
to something that produces non-sensical text disassembly and fails
runtime effect creation.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-16 16:06:41 +02:00
Nikolay Sivov
3f6013ea27 vkd3d-shader/fx: Output value expressions for fx_2_0.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-16 16:04:52 +02:00
Nikolay Sivov
ddb433d552 vkd3d-shader/fx: Explicitly check all known state assignment types for fx_2_0.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2025-06-16 16:04:52 +02:00