diff options
author | Emil Velikov <[email protected]> | 2017-05-02 17:53:17 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2017-05-19 19:46:41 +0100 |
commit | 369e5dd939b4af6c653d6cbbe9be257a9c2c950e (patch) | |
tree | c30ed65c3c5d4c56c245d333f06f1f5aadfcc0dd /src/gallium/auxiliary/vl | |
parent | 05043e0e8e0bd5e3019f480557d452b4c165f8f2 (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')
-rw-r--r-- | src/gallium/auxiliary/vl/vl_winsys.h | 21 |
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 |