wined3d: Fix the odd line condition in gen_yv12_read().

Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Anton Baskanov 2021-08-31 23:26:24 +07:00 committed by Alexandre Julliard
parent 3f845b34de
commit f4d2bdddca
1 changed files with 4 additions and 2 deletions

View File

@ -12621,8 +12621,10 @@ static void gen_yv12_read(struct wined3d_string_buffer *buffer,
* Don't forget to clamp the y values in into the range, otherwise we'll
* get filtering bleeding. */
/* Read odd lines from the right side (add 0.5 to the x coordinate). */
shader_addline(buffer, " if (fract(floor(texcoord.y * size.y) * 0.5 + 1.0 / 6.0) >= 0.5)\n");
/* Read odd lines from the right side (add 0.5 to the x coordinate). Keep
* in mind that each line of the chroma plane corresponds to 2 lines of the
* resulting image. */
shader_addline(buffer, " if (fract(floor(texcoord.y * size.y) * 0.25 + 1.0 / 6.0) >= 0.5)\n");
shader_addline(buffer, " texcoord.x += 0.5;\n");
/* Clamp, keep the half pixel origin in mind. */