[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 5/6] sdl2: add scanout_disable support
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 5/6] sdl2: add scanout_disable support |
Date: |
Tue, 21 Feb 2017 10:37:20 +0100 |
Signed-off-by: Gerd Hoffmann <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] [PATCH 0/6] ui: some gl scanout improvements., Gerd Hoffmann, 2017/02/21
- [Qemu-devel] [PATCH 2/6] console: add dpy_gl_scanout_disable, Gerd Hoffmann, 2017/02/21
- [Qemu-devel] [PATCH 5/6] sdl2: add scanout_disable support,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH 1/6] console: rename dpy_gl_scanout to dpy_gl_scanout_texture, Gerd Hoffmann, 2017/02/21
- [Qemu-devel] [PATCH 3/6] virtio-gpu: use dpy_gl_scanout_disable, Gerd Hoffmann, 2017/02/21
- [Qemu-devel] [PATCH 4/6] spice: add scanout_disable support, Gerd Hoffmann, 2017/02/21
- [Qemu-devel] [PATCH 6/6] gtk-egl: add scanout_disable support, Gerd Hoffmann, 2017/02/21
- Re: [Qemu-devel] [PATCH 0/6] ui: some gl scanout improvements., Marc-André Lureau, 2017/02/21