Commit Graph

6286 Commits

Author SHA1 Message Date
Giovanni Mascellani
d503fbfd79 vkd3d-shader/ir: Use VSIR_OP_SATURATE in vsir_program_normalise_ps1_output(). 2025-10-27 18:43:33 +01:00
Giovanni Mascellani
617ebb9826 vkd3d-shader/ir: Explicitly assert that vsir_program_normalise_ps1_output() runs before I/O normalization. 2025-10-27 18:43:33 +01:00
Giovanni Mascellani
c1991ba785 vkd3d-shader/ir: Use VSIR_OP_SATURATE in vsir_program_lower_texcoord(). 2025-10-27 18:43:33 +01:00
Elizabeth Figura
98ca1ecbda vkd3d-shader: Lower TEXBEML instructions. 2025-10-27 18:23:20 +01:00
Elizabeth Figura
02b0a754bd vkd3d-shader: Lower TEXBEM instructions. 2025-10-27 18:14:13 +01:00
Elizabeth Figura
5363730e17 vkd3d-shader: Lower BEM instructions.
This requires an interface to specify bump mapping constants.
2025-10-27 18:06:26 +01:00
Elizabeth Figura
24d84e2ee2 vkd3d-shader/spirv: Allow swizzling parameters.
This was previously not a concern, since all of our parameter usage involved
trivial swizzles and write masks, but bump parameters will not.
2025-10-27 17:35:14 +01:00
Giovanni Mascellani
86b8f2de35 vkd3d-shader/ir: Error out on unsupported source modifiers. 2025-10-16 15:15:05 +02:00
Giovanni Mascellani
c99c729513 vkd3d-shader/ir: Error out on unsupported destination modifiers. 2025-10-16 15:10:39 +02:00
Giovanni Mascellani
8a100fa06d vkd3d-shader/ir: Ignore and drop PARTIALPRECISION modifiers. 2025-10-16 14:57:56 +02:00
Giovanni Mascellani
8ec4f75654 vkd3d-shader/ir: Process all destinations when lowering SATURATE modifiers.
The instruction iterator should not be advanced when iterating
over more than one destination.
2025-10-16 14:56:30 +02:00
Giovanni Mascellani
737158e7b8 vkd3d-shader/ir: Remove SATURATE modifiers after lowering them. 2025-10-16 14:55:51 +02:00
Henri Verbeet
346b62bc70 vkd3d-shader/spirv: Free the output on failure in spirv_compiler_generate_spirv(). 2025-10-16 14:31:18 +02:00
Henri Verbeet
8df581b2d9 vkd3d-shader: Avoid referencing "ins" after insertion in vsir_program_materialise_phi_ssas_to_temps_in_function(). 2025-10-16 14:30:41 +02:00
Shaun Ren
27f0475dbe vkd3d-shader/ir: Keep source swizzles for registers with fixed masks in temp_allocator_set_src(). 2025-10-16 14:29:11 +02:00
Shaun Ren
b5e2e1dd06 vkd3d-shader/ir: Determine the correct writemask for destinations with fixed masks. 2025-10-16 14:27:29 +02:00
Elizabeth Figura
507990d3c5 vkd3d-shader/d3dbc: Fix writing vertex input semantics. 2025-10-15 12:55:16 +02:00
Henri Verbeet
e7f258c622 vkd3d-shader/d3dbc: Get the resource/sampler index from the destination operand in vsir_program_lower_texld_sm1(). 2025-10-15 12:45:39 +02:00
Henri Verbeet
0e7eae00ba vkd3d-shader/d3dbc: Trace the vsir program before applying any transformations.
Specifically, before running vsir_program_lower_d3dbc().
2025-10-15 12:45:39 +02:00
Conor McCarthy
997d445724 vkd3d-shader/ir: Fix the FTOU swizzle for MOVA in vsir_program_normalize_addr(). 2025-10-15 12:41:49 +02:00
Conor McCarthy
13e631779d vkd3d-shader/ir: Use an SSA intermediate in vsir_program_lower_precise_mad(). 2025-10-15 12:41:49 +02:00
Conor McCarthy
1c23976660 vkd3d-shader/ir: Fix the addition swizzle in vsir_program_lower_precise_mad().
The swizzle from vsir_swizzle_from_writemask() is for use with a
contiguous write mask starting at bit zero, but we need the final write
mask to match that of the original MAD instruction.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58746
2025-10-15 12:41:49 +02:00
Henri Verbeet
a2ce610cc9 vkd3d-shader/glsl: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in shader_glsl_vprint_assignment(). 2025-10-15 12:41:49 +02:00
Conor McCarthy
3943f9aca6 vkd3d-shader/spirv: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in image_format_for_image_read().
Typed UAVs can be declared snorm or unorm.
2025-10-15 12:41:49 +02:00
Conor McCarthy
1586c2294a vkd3d-shader/spirv: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in spirv_get_type_id(). 2025-10-15 12:41:49 +02:00