diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2022-02-16 19:33:37 +0400 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@redhat.com> | 2022-03-14 15:16:01 +0400 |
commit | a62c4a178fb154a3b810870502cb4c63a6b4cf28 (patch) | |
tree | c548b0ce1df3ec573a03a2335e8d17fd04289084 /ui/sdl2.c | |
parent | 398d1c91ed58fb7fe3dd3e9596519678c816bb69 (diff) | |
download | qemu-a62c4a178fb154a3b810870502cb4c63a6b4cf28.zip qemu-a62c4a178fb154a3b810870502cb4c63a6b4cf28.tar.gz qemu-a62c4a178fb154a3b810870502cb4c63a6b4cf28.tar.bz2 |
ui/console: move dcl compatiblity check to a callback
As expected from the "compatible_dcl" comment, a simple comparison of
ops isn't enough. The following patch will fix a regression introduced
by this limited check by extending the compatibility callback for
egl-headless.
For now, this patch simply replaces the the "compatible_dcl" ops pointer
with a "dpy_gl_ctx_is_compatible_ctx" callback.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/sdl2.c')
-rw-r--r-- | ui/sdl2.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -788,8 +788,15 @@ static const DisplayChangeListenerOps dcl_gl_ops = { .dpy_gl_update = sdl2_gl_scanout_flush, }; +static bool +sdl2_gl_is_compatible_dcl(DisplayGLCtx *dgc, + DisplayChangeListener *dcl) +{ + return dcl->ops == &dcl_gl_ops; +} + static const DisplayGLCtxOps gl_ctx_ops = { - .compatible_dcl = &dcl_gl_ops, + .dpy_gl_ctx_is_compatible_dcl = sdl2_gl_is_compatible_dcl, .dpy_gl_ctx_create = sdl2_gl_create_context, .dpy_gl_ctx_destroy = sdl2_gl_destroy_context, .dpy_gl_ctx_make_current = sdl2_gl_make_context_current, |