diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c index e52b7c91b2..2429b9b602 100644 --- a/video/out/gpu/video.c +++ b/video/out/gpu/video.c @@ -3078,7 +3078,9 @@ static void pass_draw_to_screen(struct gl_video *p, const struct ra_fbo *fbo, in if (p->opts.alpha_mode == ALPHA_BLEND_TILES) { // Draw checkerboard pattern to indicate transparency GLSLF("// transparency checkerboard\n"); - GLSL(bvec2 tile = lessThan(fract(gl_FragCoord.xy * 1.0/32.0), vec2(0.5));) + GLSLF("vec2 tile_coord = vec2(gl_FragCoord.x, %d.0 + %f * gl_FragCoord.y);", + fbo->flip ? p->dst_rect.y1 : 0, fbo->flip ? -1.0 : 1.0); + GLSL(bvec2 tile = lessThan(fract(tile_coord * 1.0 / 32.0), vec2(0.5));) GLSL(vec3 background = vec3(tile.x == tile.y ? 0.93 : 0.87);) GLSL(color.rgb += background.rgb * (1.0 - color.a);) GLSL(color.a = 1.0;)