diff options
author | Zhigang Gong <zhigang.gong@linux.intel.com> | 2012-01-20 12:10:06 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@linux.intel.com> | 2012-01-29 16:40:49 +0800 |
commit | f9b4bd8ab5643bbf82eb896c0ded381fb3b0c423 (patch) | |
tree | 33a4efbc5134141b0fb406b1f1b0c4c8f7b801a8 /src/glamor_egl.c | |
parent | f9bcc8909dae77e3936b98afba79a3618c629e1c (diff) |
glamor_egl: Add support for the platform doesn't have gbm.
Maybe we should use eglGetDisplayDRM to get display, but current
PVR's driver is using eglGetDisplay.
Signed-off-by: Peng Li <peng.li@intel.com>
Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Diffstat (limited to 'src/glamor_egl.c')
-rw-r--r-- | src/glamor_egl.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/glamor_egl.c b/src/glamor_egl.c index 1b18c4c..c273e8a 100644 --- a/src/glamor_egl.c +++ b/src/glamor_egl.c @@ -46,7 +46,9 @@ #define EGL_EGLEXT_PROTOTYPES #define EGL_DISPLAY_NO_X_MESA +#ifdef GLAMOR_HAS_GBM #include <gbm.h> +#endif #if GLAMOR_GLES2 #include <GLES2/gl2.h> @@ -84,7 +86,9 @@ struct glamor_egl_screen_private { int fd; int front_buffer_handle; int cpp; +#ifdef GLAMOR_HAS_GBM struct gbm_device *gbm; +#endif PFNEGLCREATEIMAGEKHRPROC egl_create_image_khr; PFNEGLDESTROYIMAGEKHRPROC egl_destroy_image_khr; @@ -297,12 +301,16 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd) scrn->privates[xf86GlamorEGLPrivateIndex].ptr = glamor_egl; glamor_egl->fd = fd; +#ifdef GLAMOR_HAS_GBM glamor_egl->gbm = gbm_create_device(glamor_egl->fd); if (glamor_egl->gbm == NULL) { ErrorF("couldn't get display device\n"); return FALSE; } glamor_egl->display = eglGetDisplay(glamor_egl->gbm); +#else + glamor_egl->display = eglGetDisplay((EGLNativeDisplayType)fd); +#endif #ifndef GLAMOR_GLES2 eglBindAPI(EGL_OPENGL_API); |