mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-04 11:09:05 +00:00
sdl2: add scanout_disable support
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-id: 1487669841-13668-6-git-send-email-kraxel@redhat.com
This commit is contained in:
parent
46ffd0c031
commit
db6cdfbeba
@ -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,
|
||||
|
16
ui/sdl2-gl.c
16
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);
|
||||
|
@ -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,
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user