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 <lepton@google.com>
Message-id: 20180726225900.180698-1-lepton@google.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Tao Wu 2018-07-26 15:59:00 -07:00 committed by Gerd Hoffmann
parent c809d1d2f4
commit 77f60fb436
1 changed files with 5 additions and 0 deletions

View File

@ -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);
}