From: Tao Wu Date: Thu, 26 Jul 2018 22:59:00 +0000 (-0700) Subject: sdl2: redraw correctly when scanout_mode enabled. X-Git-Tag: v3.1.0-rc0~109^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=77f60fb436ca773ce6f57d37c022ad792445e644;p=thirdparty%2Fqemu.git sdl2: redraw correctly when scanout_mode enabled. When scanout_mode enabled, surface is out of sync with actual screen. In such case, we just call sdl2_gl_scanout_flush to do redraw. This fixes bug reported in https://lists.freedesktop.org/archives/virglrenderer-devel/2018-July/001330.html Signed-off-by: Tao Wu Message-id: 20180726225900.180698-1-lepton@google.com Signed-off-by: Gerd Hoffmann --- diff --git a/ui/sdl2-gl.c b/ui/sdl2-gl.c index 83b71853d15..1bf4542d8d9 100644 --- a/ui/sdl2-gl.c +++ b/ui/sdl2-gl.c @@ -124,6 +124,11 @@ void sdl2_gl_redraw(struct sdl2_console *scon) { assert(scon->opengl); + if (scon->scanout_mode) { + /* sdl2_gl_scanout_flush actually only care about + * the first argument. */ + return sdl2_gl_scanout_flush(&scon->dcl, 0, 0, 0, 0); + } if (scon->surface) { sdl2_gl_render_surface(scon); }