clients/simple-dmabuf-egl: Create the EGL display using the GBM platform

Since we are managing and rendering to buffers on our own with GBM,
create the EGL display using the GBM platform with the DRM render node,
instead of using the Wayland EGL platform.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
This commit is contained in:
Alexandros Frantzis 2019-03-05 12:51:14 +02:00
parent 1c49b5445e
commit 10a7339611
1 changed files with 7 additions and 5 deletions

View File

@ -1105,8 +1105,8 @@ display_set_up_egl(struct display *display)
const char *gl_extensions = NULL;
display->egl.display =
weston_platform_get_egl_display(EGL_PLATFORM_WAYLAND_KHR,
display->display, NULL);
weston_platform_get_egl_display(EGL_PLATFORM_GBM_KHR,
display->gbm.device, NULL);
if (display->egl.display == EGL_NO_DISPLAY) {
fprintf(stderr, "Failed to create EGLDisplay\n");
goto error;
@ -1340,15 +1340,17 @@ create_display(char const *drm_render_node, int opts)
goto error;
}
/* GBM needs to be initialized before EGL, so that we have a valid
* render node gbm_device to create the EGL display from. */
if (!display_set_up_gbm(display, drm_render_node))
goto error;
if (!display_set_up_egl(display))
goto error;
if (!display_update_supported_modifiers_for_egl(display))
goto error;
if (!display_set_up_gbm(display, drm_render_node))
goto error;
/* We use explicit synchronization only if the user hasn't disabled it,
* the compositor supports it, we can handle fence fds. */
display->use_explicit_sync =