intel_driver.h \
intel_memman.h \
object_heap.h \
+ va_backend_compat.h \
$(NULL)
i965_drv_video_la_LTLIBRARIES = i965_drv_video.la
#define HAS_ACCELERATED_PUTIMAGE(ctx) HAS_VPP(ctx)
static int get_sampling_from_fourcc(unsigned int fourcc);
+#if VA_CHECK_VERSION(0,33,0)
/* Check whether we are rendering to X11 (VA/X11 or VA/GLX API) */
#define IS_VA_X11(ctx) \
(((ctx)->display_type & VA_DISPLAY_MAJOR_MASK) == VA_DISPLAY_X11)
/* Check whether we are rendering to Wayland */
#define IS_VA_WAYLAND(ctx) \
(((ctx)->display_type & VA_DISPLAY_MAJOR_MASK) == VA_DISPLAY_WAYLAND)
+#else
+/* Previous VA-API versions only supported VA/X11 (and VA/GLX) API */
+#define IS_VA_X11(ctx) 1
+#define IS_VA_WAYLAND(ctx) 0
+#endif
enum {
I965_SURFACETYPE_RGBA = 1,
{
struct i965_driver_data * const i965 = i965_driver_data(ctx);
struct dri_vtable * const dri_vtable = &i965->dri_output->vtable;
- struct dri_state * const dri_state = (struct dri_state *)ctx->drm_state;
struct i965_render_state * const render_state = &i965->render_state;
struct dri_drawable *dri_drawable;
union dri_buffer *buffer;
int ret;
/* Currently don't support DRI1 */
- if (dri_state->base.auth_type != VA_DRM_AUTH_DRI2)
+ if (!VA_CHECK_DRM_AUTH_TYPE(ctx, VA_DRM_AUTH_DRI2))
return VA_STATUS_ERROR_UNKNOWN;
/* Some broken sources such as H.264 conformance case FM2_SVA_C
#include <string.h>
#include <assert.h>
-#include <va/va_drmcommon.h>
-
#include "intel_batchbuffer.h"
#include "intel_driver.h"
#include "i965_defines.h"
#include <assert.h>
-#include <va/va_drmcommon.h>
-
#include "intel_batchbuffer.h"
#include "intel_memman.h"
#include "intel_driver.h"
int has_exec2, has_bsd, has_blt;
assert(drm_state);
- assert(drm_state->auth_type == VA_DRM_AUTH_DRI1 ||
- drm_state->auth_type == VA_DRM_AUTH_DRI2 ||
- drm_state->auth_type == VA_DRM_AUTH_CUSTOM);
+ assert(VA_CHECK_DRM_AUTH_TYPE(ctx, VA_DRM_AUTH_DRI1) ||
+ VA_CHECK_DRM_AUTH_TYPE(ctx, VA_DRM_AUTH_DRI2) ||
+ VA_CHECK_DRM_AUTH_TYPE(ctx, VA_DRM_AUTH_CUSTOM));
intel->fd = drm_state->fd;
- intel->dri2Enabled = (drm_state->auth_type == VA_DRM_AUTH_DRI2 ||
- drm_state->auth_type == VA_DRM_AUTH_CUSTOM);
+ intel->dri2Enabled = (VA_CHECK_DRM_AUTH_TYPE(ctx, VA_DRM_AUTH_DRI2) ||
+ VA_CHECK_DRM_AUTH_TYPE(ctx, VA_DRM_AUTH_CUSTOM));
if (!intel->dri2Enabled) {
return False;
#include <intel_bufmgr.h>
#include <va/va_backend.h>
+#include "va_backend_compat.h"
#include "intel_compiler.h"
--- /dev/null
+/*
+ * Copyright (C) 2012 Intel Corporation. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef VA_BACKEND_COMPAT_H
+#define VA_BACKEND_COMPAT_H
+
+#include <va/va_backend.h>
+
+#if VA_CHECK_VERSION(0,33,0)
+# include <va/va_drmcommon.h>
+
+# define VA_CHECK_DRM_AUTH_TYPE(ctx, type) \
+ (((struct drm_state *)(ctx)->drm_state)->auth_type == (type))
+
+#else
+# include <va/va_dricommon.h>
+
+# define VA_CHECK_DRM_AUTH_TYPE(ctx, type) \
+ (((struct dri_state *)(ctx)->dri_state)->driConnectedFlag == (type))
+
+# define drm_state dri_state
+# define VA_DRM_AUTH_DRI1 VA_DRI1
+# define VA_DRM_AUTH_DRI2 VA_DRI2
+# define VA_DRM_AUTH_CUSTOM VA_DUMMY
+#endif
+
+#endif /* VA_BACKEND_COMPAT_H */