summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac6
-rw-r--r--vmwgfx/vmwgfx_drmi.c2
-rw-r--r--vmwgfx/vmwgfx_drmi.h2
-rw-r--r--vmwgfx/vmwgfx_saa.c2
-rw-r--r--vmwgfx/vmwgfx_saa.h2
-rw-r--r--vmwgfx/vmwgfx_xmir.c2
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"