summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/vl/vl_winsys.h
diff options
context:
space:
mode:
authorEmil Velikov <[email protected]>2017-05-02 17:53:17 +0100
committerEmil Velikov <[email protected]>2017-05-19 19:46:41 +0100
commit369e5dd939b4af6c653d6cbbe9be257a9c2c950e (patch)
treec30ed65c3c5d4c56c245d333f06f1f5aadfcc0dd /src/gallium/auxiliary/vl/vl_winsys.h
parent05043e0e8e0bd5e3019f480557d452b4c165f8f2 (diff)
auxiliary/vl: use vl_*_screen_create stubs when building w/o platform
Provide a dummy stub when the user has opted w/o said platform, thus we can build the binaries without unnecessarily requiring X11/other headers. In order to avoid build and link-time issues, we remove the HAVE_DRI3 guards in the VA and VDPAU state-trackers. With this change st/va will return VA_STATUS_ERROR_ALLOCATION_FAILED instead of VA_STATUS_ERROR_UNIMPLEMENTED. That is fine since upstream users of libva such as vlc and mpv do little error checking, let alone distinguish between the two. Cc: Leo Liu <[email protected]> Cc: Guttula, Suresh <[email protected]> Cc: [email protected] Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/vl/vl_winsys.h')
-rw-r--r--src/gallium/auxiliary/vl/vl_winsys.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/vl/vl_winsys.h b/src/gallium/auxiliary/vl/vl_winsys.h
index e1f9b274fcc..77277cefe8b 100644
--- a/src/gallium/auxiliary/vl/vl_winsys.h
+++ b/src/gallium/auxiliary/vl/vl_winsys.h
@@ -32,7 +32,9 @@
#ifndef vl_winsys_h
#define vl_winsys_h
+#ifdef HAVE_X11_PLATFORM
#include <X11/Xlib.h>
+#endif
#include "pipe/p_defines.h"
#include "pipe/p_format.h"
@@ -68,15 +70,28 @@ struct vl_screen
struct pipe_loader_device *dev;
};
+#ifdef HAVE_X11_PLATFORM
struct vl_screen *
vl_dri2_screen_create(Display *display, int screen);
+#else
+static inline struct vl_screen *
+vl_dri2_screen_create(void *display, int screen) { return NULL; };
+#endif
+#if defined(HAVE_X11_PLATFORM) && defined(HAVE_DRI3)
struct vl_screen *
-vl_drm_screen_create(int fd);
+vl_dri3_screen_create(Display *display, int screen);
+#else
+static inline struct vl_screen *
+vl_dri3_screen_create(void *display, int screen) { return NULL; };
+#endif
-#if defined(HAVE_DRI3)
+#ifdef HAVE_DRM_PLATFORM
struct vl_screen *
-vl_dri3_screen_create(Display *display, int screen);
+vl_drm_screen_create(int fd);
+#else
+static inline struct vl_screen *
+vl_drm_screen_create(int fd) { return NULL; };
#endif
#endif