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
Henri Verbeet
808191eb8e
vkd3d-shader/spirv: Emit an error for unhandled types in spirv_get_type_id().
2025-10-15 12:41:49 +02:00
Giovanni Mascellani
40bdaa43af
vkd3d: Do not put immutable samplers in the push descriptor set.
...
This was the original intention, but it didn't happen because of a bug:
what we need to know at this point is whether the push descriptor set is
being used in general (which is tracked by the corresponding Vulkan
extension bit), not whether the descriptors we're currently processing
are to be put in the push descriptor set (which is tracked by
`push_descriptor'). Indeed, `push_descriptor' is always false when
processing static samplers, precisely because we want to segregate them
in different sets.
This fixes a rendering bug in "The Dark Pictures Anthology: Man of
Medan".
Fixes: 07b7975d09
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58589
2025-10-14 16:23:07 +02:00
Giovanni Mascellani
8b8ee542d7
vkd3d-shader/ir: Lower SATURATE modifiers to instructions.
2025-10-14 16:21:05 +02:00
Giovanni Mascellani
835044dd8e
vkd3d-shader/ir: Introduce VSIR_OP_SATURATE to represent floating-point clamping to [0, 1].
2025-10-14 15:53:26 +02:00
Henri Verbeet
9b98761909
vkd3d-shader/msl: Implement VSIR_OP_IREM.
2025-10-14 15:49:18 +02:00
Henri Verbeet
c89fd93859
vkd3d-shader/ir: Require signed operands for IREM instructions.
2025-10-14 15:49:18 +02:00
Henri Verbeet
b6acac49f1
vkd3d-shader/msl: Implement VSIR_OP_UREM.
2025-10-14 15:49:18 +02:00