[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 5/9] sdl2: add scanout_disable support
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PULL 5/9] sdl2: add scanout_disable support |
Date: |
Mon, 27 Feb 2017 17:18:39 +0100 |
Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden
---
include/ui/sdl2.h | 1 +
ui/sdl2-gl.c | 16 +++++++++++-----
ui/sdl2.c | 1 +
3 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/include/ui/sdl2.h b/include/ui/sdl2.h
index 2de792f..aaf226c 100644
--- a/include/ui/sdl2.h
+++ b/include/ui/sdl2.h
@@ -62,6 +62,7 @@ int sdl2_gl_make_context_current(DisplayChangeListener *dcl,
QEMUGLContext ctx);
QEMUGLContext sdl2_gl_get_current_context(DisplayChangeListener *dcl);
+void sdl2_gl_scanout_disable(DisplayChangeListener *dcl);
void sdl2_gl_scanout_texture(DisplayChangeListener *dcl,
uint32_t backing_id,
bool backing_y_0_top,
diff --git a/ui/sdl2-gl.c b/ui/sdl2-gl.c
index e25aa3b..1cd77e2 100644
--- a/ui/sdl2-gl.c
+++ b/ui/sdl2-gl.c
@@ -184,6 +184,17 @@ QEMUGLContext
sdl2_gl_get_current_context(DisplayChangeListener *dcl)
return (QEMUGLContext)sdlctx;
}
+void sdl2_gl_scanout_disable(DisplayChangeListener *dcl)
+{
+ struct sdl2_console *scon = container_of(dcl, struct sdl2_console, dcl);
+
+ assert(scon->opengl);
+ scon->w = 0;
+ scon->h = 0;
+ scon->tex_id = 0;
+ sdl2_set_scanout_mode(scon, false);
+}
+
void sdl2_gl_scanout_texture(DisplayChangeListener *dcl,
uint32_t backing_id,
bool backing_y_0_top,
@@ -204,11 +215,6 @@ void sdl2_gl_scanout_texture(DisplayChangeListener *dcl,
SDL_GL_MakeCurrent(scon->real_window, scon->winctx);
- if (scon->tex_id == 0 || scon->w == 0 || scon->h == 0) {
- sdl2_set_scanout_mode(scon, false);
- return;
- }
-
sdl2_set_scanout_mode(scon, true);
if (!scon->fbo_id) {
glGenFramebuffers(1, &scon->fbo_id);
diff --git a/ui/sdl2.c b/ui/sdl2.c
index febda80..faf9bdf 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -733,6 +733,7 @@ static const DisplayChangeListenerOps dcl_gl_ops = {
.dpy_gl_ctx_destroy = sdl2_gl_destroy_context,
.dpy_gl_ctx_make_current = sdl2_gl_make_context_current,
.dpy_gl_ctx_get_current = sdl2_gl_get_current_context,
+ .dpy_gl_scanout_disable = sdl2_gl_scanout_disable,
.dpy_gl_scanout_texture = sdl2_gl_scanout_texture,
.dpy_gl_update = sdl2_gl_scanout_flush,
};
--
1.8.3.1
- [Qemu-devel] [PULL 0/9] ui patch queue, Gerd Hoffmann, 2017/02/27
- [Qemu-devel] [PULL 2/9] console: add dpy_gl_scanout_disable, Gerd Hoffmann, 2017/02/27
- [Qemu-devel] [PULL 3/9] virtio-gpu: use dpy_gl_scanout_disable, Gerd Hoffmann, 2017/02/27
- [Qemu-devel] [PULL 5/9] sdl2: add scanout_disable support,
Gerd Hoffmann <=
- [Qemu-devel] [PULL 4/9] spice: add scanout_disable support, Gerd Hoffmann, 2017/02/27
- [Qemu-devel] [PULL 6/9] gtk-egl: add scanout_disable support, Gerd Hoffmann, 2017/02/27
- [Qemu-devel] [PULL 8/9] spice: add display & head options, Gerd Hoffmann, 2017/02/27
- [Qemu-devel] [PULL 9/9] vnc: fix double free issues, Gerd Hoffmann, 2017/02/27
- [Qemu-devel] [PULL 7/9] ui: Use XkbGetMap and XkbGetNames instead of XkbGetKeyboard, Gerd Hoffmann, 2017/02/27
- [Qemu-devel] [PULL 1/9] console: rename dpy_gl_scanout to dpy_gl_scanout_texture, Gerd Hoffmann, 2017/02/27
- Re: [Qemu-devel] [PULL 0/9] ui patch queue, Peter Maydell, 2017/02/28