vkd3d-shader/ir: Process all destinations when lowering SATURATE modifiers.

The instruction iterator should not be advanced when iterating
over more than one destination.
This commit is contained in:
Giovanni Mascellani
2025-10-16 12:22:27 +02:00
committed by Henri Verbeet
parent 737158e7b8
commit 8ec4f75654
Notes: Henri Verbeet 2025-10-16 15:22:54 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1797

View File

@@ -2238,8 +2238,8 @@ static enum vkd3d_result vsir_program_lower_modifiers(struct vsir_program *progr
{
if (!vsir_program_iterator_insert_after(&it, 1))
return VKD3D_ERROR_OUT_OF_MEMORY;
ins = vsir_program_iterator_current(&it);
new_ins = vsir_program_iterator_next(&it);
ins = vsir_program_iterator_prev(&it);
if (!vsir_instruction_init_with_params(program, new_ins, &ins->location, VSIR_OP_SATURATE, 1, 1))
{