Petrichor Park
e35604dbf0
vkd3d-shader/hlsl: Implement the firstbitlow() intrinsic.
2025-09-22 11:26:42 +02:00
Petrichor Park
e6d840170d
vkd3d-shader/hlsl: Implement the firstbithigh() intrinsic.
2025-09-22 11:26:42 +02:00
Petrichor Park
e49beca0d5
vkd3d-shader/hlsl: Implement the countbits() intrinsic.
2025-09-22 11:26:42 +02:00
Petrichor Park
16cb69a324
tests/hlsl: Split the test for countbits()/firstbithigh()/firstbitlow().
...
And add some more.
2025-09-22 11:26:42 +02:00
Giovanni Mascellani
52b9aa416b
vkd3d-shader/ir: Fix r0 allocation for PS 1.x shaders.
...
In order to allocate it properly we have to ensure it is the first
register to be processed. The current algorithm fails to do so, so
a more explicit approach is introduced.
2025-09-19 12:48:50 +02:00
Henri Verbeet
89b05594f5
vkd3d-shader/d3dbc: Don't call vsir_update_dcl_temps().
2025-09-19 12:48:08 +02:00
Henri Verbeet
21b5a2be8c
vkd3d-shader/ir: Return early for shader model < 4 in vsir_update_dcl_temps().
2025-09-19 12:48:08 +02:00
Henri Verbeet
007792c33b
vkd3d-shader/msl: Handle VSIR_DATA_BOOL operands.
2025-09-19 12:47:15 +02:00
Henri Verbeet
72071fcf08
vkd3d-shader/ir: Avoid memset() in vsir_instruction_init().
...
Primarily to avoid -Warray-bounds warnings from newer gcc, specifically
for the first vsir_instruction_init() call in vsir_update_dcl_temps().
This seems to be a false positive created by the interaction between
vsir_program_iterator_insert_after() and vsir_program_iterator_next()
error handling; it may be possible to avoid that by rearranging things,
but it doesn't seem worth it.
2025-09-19 12:46:54 +02:00
Henri Verbeet
269376229b
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_f16tof32().
2025-09-19 12:45:51 +02:00
Henri Verbeet
75a50c40ed
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bitfield_instruction().
2025-09-19 12:45:51 +02:00
Henri Verbeet
e67cd10ce2
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dtof().
2025-09-19 12:45:51 +02:00
Henri Verbeet
b228b626b0
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ftou().
2025-09-19 12:45:51 +02:00
Henri Verbeet
c5bafc4408
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ftoi().
2025-09-19 12:45:51 +02:00
Henri Verbeet
47f2ec1a08
vkd3d-shader/ir: Require default swizzles on vec4 immediate constants.
...
The SPIR-V, GLSL and MSL backends implicitly handle swizzles on
immediate constants, but the TPF and d3d-asm backends assume a default
swizzle. In principle there's no reason those couldn't support swizzles
on immediate constants, but they're a little pointless.
2025-09-18 11:35:05 +02:00
Henri Verbeet
a1451f8113
vkd3d-shader/ir: Require signed operands for IMIN instructions.
2025-09-18 11:30:20 +02:00
Henri Verbeet
8eebc71c13
vkd3d-shader/ir: Require signed operands for IMAX instructions.
2025-09-18 11:30:19 +02:00
Henri Verbeet
6e8192e198
vkd3d-shader/ir: Require signed source operands for signed integer comparison instructions.
2025-09-18 11:30:19 +02:00
Henri Verbeet
1912f50f52
vkd3d-shader/ir: Validate USHR instructions.
2025-09-18 11:30:18 +02:00
Henri Verbeet
31eb152917
vkd3d-shader/ir: Require signed operands for ISHR instructions.
2025-09-18 11:26:52 +02:00
Nikolay Sivov
c481414572
vkd3d: Implement d3d12_device_CreateCommandList1().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-09-17 12:50:16 +02:00
Nikolay Sivov
faec701cce
vkd3d: Check that the allocator type matches the list type in d3d12_command_list_Reset().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com >
2025-09-17 12:38:27 +02:00
Shaun Ren
b6d274e68e
vkd3d-shader/hlsl: Remove the whitespace before the closing parenthesis in dump_ir_expr().
2025-09-17 12:36:54 +02:00
Henri Verbeet
d09f1502ba
tests/hlsl: Add a missing "}" to trigonometry.shader_test.
2025-09-17 12:34:56 +02:00
Henri Verbeet
d914b3f5a4
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dot().
2025-09-17 12:34:13 +02:00