diff options
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | vmwgfx/vmwgfx_drmi.c | 2 | ||||
-rw-r--r-- | vmwgfx/vmwgfx_drmi.h | 2 | ||||
-rw-r--r-- | vmwgfx/vmwgfx_saa.c | 2 | ||||
-rw-r--r-- | vmwgfx/vmwgfx_saa.h | 2 | ||||
-rw-r--r-- | vmwgfx/vmwgfx_xmir.c | 2 |
6 files changed, 14 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 123356c..3e8d541 100644 --- a/configure.ac +++ b/configure.ac @@ -127,6 +127,12 @@ if test x$BUILD_VMWGFX = xyes; then [AC_DEFINE([HAVE_XA_2], 1, [Has version 2 of XA])])], [],[BUILD_VMWGFX=no]) +# +# Check for prime. +# + PKG_CHECK_EXISTS([libdrm >= 2.4.38], + [AC_DEFINE([HAVE_LIBDRM_2_4_38], 1, + [Has version 2.4.38 or greater of libdrm])]) fi DRIVER_NAME=vmware diff --git a/vmwgfx/vmwgfx_drmi.c b/vmwgfx/vmwgfx_drmi.c index d926019..b6fb56d 100644 --- a/vmwgfx/vmwgfx_drmi.c +++ b/vmwgfx/vmwgfx_drmi.c @@ -501,6 +501,7 @@ vmwgfx_max_fb_size(int drm_fd, size_t *size) return 0; } +#ifdef HAVE_LIBDRM_2_4_38 /** * vmwgfx_prime_fd_to_handle - Return a TTM handle to a prime object * @@ -537,3 +538,4 @@ vmwgfx_prime_release_handle(int drm_fd, uint32_t handle) (void) drmCommandWrite(drm_fd, DRM_VMW_UNREF_SURFACE, &s_arg, sizeof(s_arg)); } +#endif /* HAVE_LIBDRM_2_4_38 */ diff --git a/vmwgfx/vmwgfx_drmi.h b/vmwgfx/vmwgfx_drmi.h index 1494485..3168088 100644 --- a/vmwgfx/vmwgfx_drmi.h +++ b/vmwgfx/vmwgfx_drmi.h @@ -85,9 +85,11 @@ vmwgfx_update_gui_layout(int drm_fd, unsigned int num_rects, int vmwgfx_get_param(int drm_fd, uint32_t param, uint64_t *out); +#ifdef HAVE_LIBDRM_2_4_38 int vmwgfx_prime_fd_to_handle(int drm_fd, int prime_fd, uint32_t *handle); void vmwgfx_prime_release_handle(int drm_fd, uint32_t handle); +#endif /* HAVE_LIBDRM_2_4_38 */ #endif diff --git a/vmwgfx/vmwgfx_saa.c b/vmwgfx/vmwgfx_saa.c index cb55849..8c97618 100644 --- a/vmwgfx/vmwgfx_saa.c +++ b/vmwgfx/vmwgfx_saa.c @@ -1618,7 +1618,7 @@ vmwgfx_saa_drop_master(ScreenPtr pScreen) * Helpers for hosted. */ -#if (XA_TRACKER_VERSION_MAJOR >= 2) +#if (XA_TRACKER_VERSION_MAJOR >= 2) && defined(HAVE_LIBDRM_2_4_38) /** * vmwgfx_saa_copy_to_surface - Copy Drawable contents to an external surface. diff --git a/vmwgfx/vmwgfx_saa.h b/vmwgfx/vmwgfx_saa.h index 55f0ded..921fabd 100644 --- a/vmwgfx/vmwgfx_saa.h +++ b/vmwgfx/vmwgfx_saa.h @@ -116,9 +116,11 @@ vmwgfx_saa_set_master(ScreenPtr pScreen); void vmwgfx_saa_drop_master(ScreenPtr pScreen); +#if (XA_TRACKER_VERSION_MAJOR >= 2) && defined(HAVE_LIBDRM_2_4_38) Bool vmwgfx_saa_copy_to_surface(DrawablePtr pDraw, uint32_t surface_fd, const BoxRec *dst_box, RegionPtr region); +#endif /* (XA_TRACKER_VERSION_MAJOR >= 2) && defined(HAVE_LIBDRM_2_4_38) */ #if (XA_TRACKER_VERSION_MAJOR <= 1) && !defined(HAVE_XA_2) diff --git a/vmwgfx/vmwgfx_xmir.c b/vmwgfx/vmwgfx_xmir.c index e0ff6a4..ede6753 100644 --- a/vmwgfx/vmwgfx_xmir.c +++ b/vmwgfx/vmwgfx_xmir.c @@ -32,7 +32,7 @@ #include "vmwgfx_hosted_priv.h" #include <xa_tracker.h> -#if XMIR && (XA_TRACKER_VERSION_MAJOR >= 2) +#if XMIR && (XA_TRACKER_VERSION_MAJOR >= 2) && defined(HAVE_LIBDRM_2_4_38) #include "vmwgfx_hosted.h" #include "vmwgfx_saa.h" |