aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/ui/console.h2
-rw-r--r--qapi/ui.json5
-rw-r--r--ui/egl-headless.c2
-rw-r--r--vl.c3
4 files changed, 7 insertions, 5 deletions
diff --git a/include/ui/console.h b/include/ui/console.h
index 4e4d027936..183d9f2913 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -505,6 +505,6 @@ static inline void early_gtk_display_init(DisplayOptions *opts)
#endif
/* egl-headless.c */
-void egl_headless_init(void);
+void egl_headless_init(DisplayOptions *opts);
#endif
diff --git a/qapi/ui.json b/qapi/ui.json
index 2efe9675b7..43de75fa27 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1020,7 +1020,7 @@
#
##
{ 'enum' : 'DisplayType',
- 'data' : [ 'none', 'gtk', 'sdl' ] }
+ 'data' : [ 'none', 'gtk', 'sdl', 'egl-headless' ] }
##
# @DisplayOptions:
@@ -1043,4 +1043,5 @@
'discriminator' : 'type',
'data' : { 'none' : 'DisplayNoOpts',
'gtk' : 'DisplayGTK',
- 'sdl' : 'DisplayNoOpts' } }
+ 'sdl' : 'DisplayNoOpts',
+ 'egl-headless' : 'DisplayNoOpts' } }
diff --git a/ui/egl-headless.c b/ui/egl-headless.c
index 5d50226869..38b3766548 100644
--- a/ui/egl-headless.c
+++ b/ui/egl-headless.c
@@ -154,7 +154,7 @@ static const DisplayChangeListenerOps egl_ops = {
.dpy_gl_update = egl_scanout_flush,
};
-void egl_headless_init(void)
+void egl_headless_init(DisplayOptions *opts)
{
QemuConsole *con;
egl_dpy *edpy;
diff --git a/vl.c b/vl.c
index f52bc3b879..38c18ef2e6 100644
--- a/vl.c
+++ b/vl.c
@@ -2178,6 +2178,7 @@ static LegacyDisplayType select_display(const char *p)
request_opengl = 1;
display_opengl = 1;
display = DT_EGL;
+ dpy.type = DISPLAY_TYPE_EGL_HEADLESS;
#else
error_report("egl support is disabled");
exit(1);
@@ -4726,7 +4727,7 @@ int main(int argc, char **argv, char **envp)
#ifdef CONFIG_OPENGL_DMABUF
if (display_type == DT_EGL) {
- egl_headless_init();
+ egl_headless_init(&dpy);
}
#endif