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>
dev
Alexandros Frantzis 6 years ago
parent 1c49b5445e
commit 10a7339611
  1. 12
      clients/simple-dmabuf-egl.c

@ -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,13 +1340,15 @@ create_display(char const *drm_render_node, int opts)
goto error;
}
if (!display_set_up_egl(display))
/* 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_update_supported_modifiers_for_egl(display))
if (!display_set_up_egl(display))
goto error;
if (!display_set_up_gbm(display, drm_render_node))
if (!display_update_supported_modifiers_for_egl(display))
goto error;
/* We use explicit synchronization only if the user hasn't disabled it,

Loading…
Cancel
Save