diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2010-01-25 10:44:55 -0500 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2010-01-25 10:45:01 -0500 |
commit | 2b2f8dc764044a40784590e098d4de97b59ea73f (patch) | |
tree | be8b5741b954f136e9b951a51619b54e8365feee | |
parent | 0bdc1f71b7706f0139e835e205551f6e31beb9b3 (diff) |
-rw-r--r-- | eagle.c | 15 | ||||
-rw-r--r-- | eagle.h | 4 | ||||
-rw-r--r-- | test/setup.c | 6 |
3 files changed, 20 insertions, 5 deletions
@@ -310,6 +310,21 @@ eglCreateDisplayNative(struct udev_device *device) return NULL; } +EAGLE_EXPORT EGLDisplay +eglGetDisplay (EGLNativeDisplayType display_id) +{ + EGLDisplay egl_display; + struct udev *udev; + struct udev_device *device; + + udev = udev_new(); + device = udev_device_new_from_syspath(udev, "/sys/class/drm/card0"); + egl_display = eglGetDisplay(device); + udev_device_unref(device); + udev_unref(udev); + + return egl_display; +} EAGLE_EXPORT int eglGetDisplayFD(EGLDisplay display) @@ -194,7 +194,11 @@ typedef int EGLenum; /* FIXME: is this part of EGL? */ extern EGLint eglGetError(void); +typedef void *EGLNativeDisplayType; +#define EGL_DEFAULT_DISPLAY ((void *) 0) + extern EGLDisplay eglCreateDisplayNative(struct udev_device *device); +extern EGLDisplay eglGetDisplay (EGLNativeDisplayType display_id); extern int eglGetDisplayFD(EGLDisplay display); diff --git a/test/setup.c b/test/setup.c index a39868c..cdd8d7f 100644 --- a/test/setup.c +++ b/test/setup.c @@ -115,8 +115,6 @@ page_flip_handler(int fd, unsigned int frame, static void run_native(int x, int y, int width, int height, init_func_t init, render_func_t render) { EGLint major, minor; - struct udev *udev; - struct udev_device *device; struct state state; drmModeConnector *connector; drmModeRes *resources; @@ -131,11 +129,9 @@ static void run_native(int x, int y, int width, int height, init_func_t init, re GLuint rb; } b[2]; - udev = udev_new(); - device = udev_device_new_from_syspath(udev, "/sys/class/drm/card0"); state.width = width; state.height = height; - state.display = eglCreateDisplayNative(device); + state.display = eglGetDisplay(EGL_DEFAULT_DISPLAY); if (state.display == NULL) die("failed to create display\n"); |