Conor McCarthy
a410c448ce
vkd3d-shader/dxil: Validate the function return type after calling the handler.
...
The handler writes the destination value.
2025-06-19 20:44:54 +02:00
Nikolay Sivov
f135f7fe07
vkd3d-shader/hlsl: Add a stub for the noise() intrinsic.
...
This function is used in tx_1_0 code, but is also supported in
fx_2_0 and fx_4_0 expressions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-06-19 20:36:27 +02:00
Giovanni Mascellani
93e1a8c784
vkd3d-shader/ir: Lower tpf SINCOS to the new COS and SIN instructions.
2025-06-19 20:33:09 +02:00
Giovanni Mascellani
37c2f709d1
vkd3d-shader/ir: Lower d3dbc SINCOS to the new COS and SIN instructions.
2025-06-19 20:32:55 +02:00
Giovanni Mascellani
6f092fb84a
vkd3d-shader/ir: Introduce opcode SIN.
...
It is meant to compute sine.
2025-06-19 20:32:50 +02:00
Giovanni Mascellani
322f2e5496
vkd3d-shader/ir: Introduce opcode COS.
...
It is meant to compute cosine, and gradually replace SINCOS, at
least from a certain point in the pipeline on.
2025-06-19 20:32:41 +02:00
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