diff options
author | Samuel Thibault <[email protected]> | 2013-11-10 19:32:01 +0100 |
---|---|---|
committer | Maarten Lankhorst <[email protected]> | 2013-11-10 22:11:42 +0100 |
commit | a594cec7e3ef275c386054127a357110a19dd823 (patch) | |
tree | 9fad096391e7818a1f8ab16c3ff62326abe56c72 /src/egl/drivers/dri2 | |
parent | 5442c0eae3a639d0c9daf447cdfecdbafb475658 (diff) |
EGL: fix build without libdrm
This fixes building EGL without libdrm support.
Signed-off-by: Samuel Thibault <[email protected]>
Diffstat (limited to 'src/egl/drivers/dri2')
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.c | 16 | ||||
-rw-r--r-- | src/egl/drivers/dri2/platform_x11.c | 6 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index a64f4e8e9c2..e703f282c92 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -33,8 +33,10 @@ #include <fcntl.h> #include <errno.h> #include <unistd.h> +#ifdef HAVE_DRM_PLATFORM #include <xf86drm.h> #include <drm_fourcc.h> +#endif #include <GL/gl.h> #include <GL/internal/dri_interface.h> #include <sys/types.h> @@ -520,10 +522,12 @@ dri2_setup_screen(_EGLDisplay *disp) disp->Extensions.KHR_gl_texture_2D_image = EGL_TRUE; disp->Extensions.KHR_gl_texture_cubemap_image = EGL_TRUE; } +#ifdef HAVE_DRM_PLATFORM if (dri2_dpy->image->base.version >= 8 && dri2_dpy->image->createImageFromDmaBufs) { disp->Extensions.EXT_image_dma_buf_import = EGL_TRUE; } +#endif } } @@ -1158,6 +1162,7 @@ dri2_create_image_khr_renderbuffer(_EGLDisplay *disp, _EGLContext *ctx, return dri2_create_image(disp, dri_image); } +#ifdef HAVE_DRM_PLATFORM static _EGLImage * dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx, EGLClientBuffer buffer, const EGLint *attr_list) @@ -1202,6 +1207,7 @@ dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx, return dri2_create_image(disp, dri_image); } +#endif #ifdef HAVE_WAYLAND_PLATFORM @@ -1375,6 +1381,7 @@ dri2_create_image_khr_texture(_EGLDisplay *disp, _EGLContext *ctx, return &dri2_img->base; } +#ifdef HAVE_DRM_PLATFORM static EGLBoolean dri2_check_dma_buf_attribs(const _EGLImageAttribs *attrs) { @@ -1629,6 +1636,7 @@ dri2_create_image_dma_buf(_EGLDisplay *disp, _EGLContext *ctx, return res; } +#endif _EGLImage * dri2_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp, @@ -1648,14 +1656,18 @@ dri2_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp, return dri2_create_image_khr_texture(disp, ctx, target, buffer, attr_list); case EGL_GL_RENDERBUFFER_KHR: return dri2_create_image_khr_renderbuffer(disp, ctx, buffer, attr_list); +#ifdef HAVE_DRM_PLATFORM case EGL_DRM_BUFFER_MESA: return dri2_create_image_mesa_drm_buffer(disp, ctx, buffer, attr_list); +#endif #ifdef HAVE_WAYLAND_PLATFORM case EGL_WAYLAND_BUFFER_WL: return dri2_create_image_wayland_wl_buffer(disp, ctx, buffer, attr_list); #endif +#ifdef HAVE_DRM_PLATFORM case EGL_LINUX_DMA_BUF_EXT: return dri2_create_image_dma_buf(disp, ctx, buffer, attr_list); +#endif default: _eglError(EGL_BAD_PARAMETER, "dri2_create_image_khr"); return EGL_NO_IMAGE_KHR; @@ -1676,6 +1688,7 @@ dri2_destroy_image_khr(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *image) return EGL_TRUE; } +#ifdef HAVE_DRM_PLATFORM static _EGLImage * dri2_create_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp, const EGLint *attr_list) @@ -1786,6 +1799,7 @@ dri2_export_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, return EGL_TRUE; } +#endif #ifdef HAVE_WAYLAND_PLATFORM @@ -2020,8 +2034,10 @@ _eglBuiltInDriverDRI2(const char *args) dri2_drv->base.API.ReleaseTexImage = dri2_release_tex_image; dri2_drv->base.API.CreateImageKHR = dri2_create_image_khr; dri2_drv->base.API.DestroyImageKHR = dri2_destroy_image_khr; +#ifdef HAVE_DRM_PLATFORM dri2_drv->base.API.CreateDRMImageMESA = dri2_create_drm_image_mesa; dri2_drv->base.API.ExportDRMImageMESA = dri2_export_drm_image_mesa; +#endif #ifdef HAVE_WAYLAND_PLATFORM dri2_drv->base.API.BindWaylandDisplayWL = dri2_bind_wayland_display_wl; dri2_drv->base.API.UnbindWaylandDisplayWL = dri2_unbind_wayland_display_wl; diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index a518db17a1e..c56a4138a64 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -33,7 +33,9 @@ #include <fcntl.h> #include <errno.h> #include <unistd.h> +#ifdef HAVE_DRM_PLATFORM #include <xf86drm.h> +#endif #include <sys/types.h> #include <sys/stat.h> @@ -606,6 +608,7 @@ dri2_x11_authenticate(_EGLDisplay *disp, uint32_t id) static EGLBoolean dri2_authenticate(_EGLDisplay *disp) { +#ifdef HAVE_DRM_PLATFORM struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); drm_magic_t magic; @@ -620,6 +623,9 @@ dri2_authenticate(_EGLDisplay *disp) } return EGL_TRUE; +#else + return EGL_FALSE; +#endif } static EGLBoolean |