-
Notifications
You must be signed in to change notification settings - Fork 11
/
legacy_wl_drm.c
29 lines (22 loc) · 775 Bytes
/
legacy_wl_drm.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#define _POSIX_C_SOURCE 200809L
#include <stdio.h>
#include <gbm.h>
#include <EGL/egl.h>
#include <EGL/eglext.h>
static PFNEGLBINDWAYLANDDISPLAYWL eglBindWaylandDisplayWL = 0;
void legacy_wl_drm_init(struct wl_display *D, struct gbm_device *gbm) {
EGLDisplay display = eglGetPlatformDisplay(EGL_PLATFORM_GBM_MESA, gbm,
NULL);
if (display == EGL_NO_DISPLAY) {
fprintf(stderr, "eglGetPlatformDisplay failed\n");
}
EGLint major, minor;
if (eglInitialize(display, &major, &minor) == EGL_FALSE) {
fprintf(stderr, "eglInitialize failed\n");
}
eglBindWaylandDisplayWL = (PFNEGLBINDWAYLANDDISPLAYWL)
eglGetProcAddress("eglBindWaylandDisplayWL");
if (eglBindWaylandDisplayWL(display, D) == EGL_FALSE) {
fprintf(stderr, "eglBindWaylandDisplayWL failed\n");
}
}