From: Tao Wu <lepton(a)google.com>
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/0013...
Signed-off-by: Tao Wu <lepton(a)google.com>
Message-id: 20180726225900.180698-1-lepton(a)google.com
Signed-off-by: Gerd Hoffmann <kraxel(a)redhat.com>
---
ui/sdl2-gl.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/ui/sdl2-gl.c b/ui/sdl2-gl.c
index 83b71853d1..1bf4542d8d 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);
}
--
2.9.3