ui/dbus: do not require opengl & gbm
Allow to build & use the DBus display without 3d/GPU acceleration support. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
1 parent
0e1be59ed9
commit
84a0a2ef0a
5 files changed
+26
-7
No files matched your search
@@ -30,8 +30,10 @@
|
||||
#include "qom/object_interfaces.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "ui/dbus-module.h"
|
||||
#ifdef CONFIG_OPENGL
|
||||
#include "ui/egl-helpers.h"
|
||||
#include "ui/egl-context.h"
|
||||
#endif
|
||||
#include "audio/audio.h"
|
||||
#include "audio/audio_int.h"
|
||||
#include "qapi/error.h"
|
||||
@@ -41,6 +43,7 @@
|
||||
|
||||
static DBusDisplay *dbus_display;
|
||||
|
||||
#ifdef CONFIG_OPENGL
|
||||
static QEMUGLContext dbus_create_context(DisplayGLCtx *dgc,
|
||||
QEMUGLParams *params)
|
||||
{
|
||||
@@ -84,6 +87,7 @@ static const DisplayGLCtxOps dbus_gl_ops = {
|
||||
.dpy_gl_ctx_destroy_texture = dbus_destroy_texture,
|
||||
.dpy_gl_ctx_update_texture = dbus_update_texture,
|
||||
};
|
||||
#endif
|
||||
|
||||
static NotifierList dbus_display_notifiers =
|
||||
NOTIFIER_LIST_INITIALIZER(dbus_display_notifiers);
|
||||
@@ -112,10 +116,12 @@ dbus_display_init(Object *o)
|
||||
DBusDisplay *dd = DBUS_DISPLAY(o);
|
||||
g_autoptr(GDBusObjectSkeleton) vm = NULL;
|
||||
|
||||
#ifdef CONFIG_OPENGL
|
||||
dd->glctx.ops = &dbus_gl_ops;
|
||||
if (display_opengl) {
|
||||
dd->glctx.gls = qemu_gl_init_shader();
|
||||
}
|
||||
#endif
|
||||
dd->iface = qemu_dbus_display1_vm_skeleton_new();
|
||||
dd->consoles = g_ptr_array_new_with_free_func(g_object_unref);
|
||||
|
||||
@@ -152,7 +158,9 @@ dbus_display_finalize(Object *o)
|
||||
g_clear_object(&dd->iface);
|
||||
g_free(dd->dbus_addr);
|
||||
g_free(dd->audiodev);
|
||||
#ifdef CONFIG_OPENGL
|
||||
g_clear_pointer(&dd->glctx.gls, qemu_gl_fini_shader);
|
||||
#endif
|
||||
dbus_display = NULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user