Giovanni Mascellani
b7fbd3c0f0
vkd3d-shader/ir: Validate data types for SIGNNEG source modifiers.
2025-06-19 20:11:41 +02:00
Giovanni Mascellani
3689d3076c
vkd3d-shader/ir: Validate data types for SIGN source modifiers.
2025-06-19 20:10:21 +02:00
Giovanni Mascellani
e1ca552173
vkd3d-shader/ir: Validate data types for BIASNEG source modifiers.
2025-06-19 20:08:52 +02:00
Giovanni Mascellani
b2e1c3b90a
vkd3d-shader/ir: Validate data types for BIAS source modifiers.
2025-06-19 20:06:35 +02:00
Giovanni Mascellani
eb3383b04e
vkd3d-shader/ir: Validate data types for NEG source modifiers.
2025-06-19 20:03:17 +02:00
Giovanni Mascellani
4da83fe83b
vkd3d-shader/ir: Validate ATAN instructions.
2025-06-19 19:28:42 +02:00
Giovanni Mascellani
813021e60b
vkd3d-shader/ir: Validate ASIN instructions.
2025-06-19 19:28:42 +02:00
Giovanni Mascellani
16e142465c
vkd3d-shader/ir: Validate AND instructions.
2025-06-19 19:28:41 +02:00
Giovanni Mascellani
0edd654c9e
vkd3d-shader/ir: Validate ADD instructions.
2025-06-19 19:24:36 +02:00
Giovanni Mascellani
475e16b87f
vkd3d-shader/ir: Validate ACOS instructions.
2025-06-19 19:24:36 +02:00
Giovanni Mascellani
65e896fd60
vkd3d-shader/ir: Validate ABS instructions.
2025-06-19 19:24:06 +02:00
Henri Verbeet
d572f4ac1f
vkd3d: Use the DXBC checksum to construct a shader source name.
2025-06-18 15:50:18 +02:00
Henri Verbeet
cef3e07e3d
vkd3d-shader/spirv: Emit an OpSource instruction with the source name.
2025-06-18 15:50:18 +02:00
Giovanni Mascellani
8b78747629
vkd3d-shader/dxil: Emit 16-bit UNDEFINED and INVALID values as minimum precision registers.
2025-06-18 15:48:55 +02:00
Giovanni Mascellani
b05153e6f9
vkd3d-shader/dxil: Emit 16-bit GROUPSHAREDMEM values as minimum precision registers.
2025-06-18 15:48:55 +02:00
Giovanni Mascellani
39603f4bc2
vkd3d-shader/dxil: Emit 16-bit structured TGSMs as minimum precision.
2025-06-18 15:48:55 +02:00
Giovanni Mascellani
5e1c8056ae
vkd3d-shader/dxil: Emit 16-bit raw TGSMs as minimum precision.
2025-06-18 15:48:55 +02:00
Giovanni Mascellani
7c0da1747a
vkd3d-shader/dxil: Allow constant zero values to be floating point.
...
This fixes commit 59fb3a7893
, where
the floating point alternative was mistakenly ignored.
2025-06-16 17:41:20 +02:00
Nikolay Sivov
d08673bad1
vkd3d-shader/d3dbc: Use the actual instruction length in d3dbc_write_instruction().
...
The current calculation doesn't take indirect addressing into account.
This issue is easy to spot in disassembly, when we don't skip correctly
to the next instruction. On Windows the disassembler does not depend on
this it seems and skips naturally after processing all parameters that
may or may not use indirect addressing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-16 17:35:37 +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
Nikolay Sivov
590ea03255
vkd3d-shader/fx: Remove the unused fx_4_fxlc_argument type.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-16 16:04:34 +02:00