| Index: third_party/libva/va/va_backend.h
|
| diff --git a/third_party/libva/va/va_backend.h b/third_party/libva/va/va_backend.h
|
| index 47ca71902da701615d68e97d53cb2dd83205dc94..9fe3dcfb9bf7fde419fcd8fb3507adac8b1ca4f1 100644
|
| --- a/third_party/libva/va/va_backend.h
|
| +++ b/third_party/libva/va/va_backend.h
|
| @@ -35,6 +35,23 @@
|
| typedef struct VADriverContext *VADriverContextP;
|
| typedef struct VADisplayContext *VADisplayContextP;
|
|
|
| +/** \brief VA display types. */
|
| +enum {
|
| + /** \brief Mask to major identifier for VA display type. */
|
| + VA_DISPLAY_MAJOR_MASK = 0xf0,
|
| +
|
| + /** \brief VA/X11 API is used, through vaGetDisplay() entry-point. */
|
| + VA_DISPLAY_X11 = 0x10,
|
| + /** \brief VA/GLX API is used, through vaGetDisplayGLX() entry-point. */
|
| + VA_DISPLAY_GLX = (VA_DISPLAY_X11 | (1 << 0)),
|
| + /** \brief VA/Android API is used, through vaGetDisplay() entry-point. */
|
| + VA_DISPLAY_ANDROID = 0x20,
|
| + /** \brief VA/DRM API is used, through vaGetDisplayDRM() entry-point. */
|
| + VA_DISPLAY_DRM = 0x30,
|
| + /** \brief VA/Wayland API is used, through vaGetDisplayWl() entry-point. */
|
| + VA_DISPLAY_WAYLAND = 0x40,
|
| +};
|
| +
|
| struct VADriverVTable
|
| {
|
| VAStatus (*vaTerminate) ( VADriverContextP ctx );
|
| @@ -374,6 +391,35 @@ struct VADriverVTable
|
| VADriverContextP ctx,
|
| VASurfaceID surface
|
| );
|
| +
|
| + /* DEPRECATED */
|
| + VAStatus
|
| + (*vaGetSurfaceAttributes)(
|
| + VADriverContextP dpy,
|
| + VAConfigID config,
|
| + VASurfaceAttrib *attrib_list,
|
| + unsigned int num_attribs
|
| + );
|
| +
|
| + VAStatus
|
| + (*vaCreateSurfaces2)(
|
| + VADriverContextP ctx,
|
| + unsigned int format,
|
| + unsigned int width,
|
| + unsigned int height,
|
| + VASurfaceID *surfaces,
|
| + unsigned int num_surfaces,
|
| + VASurfaceAttrib *attrib_list,
|
| + unsigned int num_attribs
|
| + );
|
| +
|
| + VAStatus
|
| + (*vaQuerySurfaceAttributes)(
|
| + VADriverContextP dpy,
|
| + VAConfigID config,
|
| + VASurfaceAttrib *attrib_list,
|
| + unsigned int *num_attribs
|
| + );
|
| };
|
|
|
| struct VADriverContext
|
| @@ -427,11 +473,43 @@ struct VADriverContext
|
| const char *str_vendor;
|
|
|
| void *handle; /* dlopen handle */
|
| -
|
| - void *dri_state;
|
| +
|
| + /**
|
| + * \brief DRM state.
|
| + *
|
| + * This field holds driver specific data for DRM-based
|
| + * drivers. This structure is allocated from libva with
|
| + * calloc(). Do not deallocate from within VA driver
|
| + * implementations.
|
| + *
|
| + * All structures shall be derived from struct drm_state. So, for
|
| + * instance, this field holds a dri_state structure for VA/X11
|
| + * drivers that use the DRM protocol.
|
| + */
|
| + void *drm_state;
|
| +
|
| void *glx; /* opaque for GLX code */
|
| - void *egl;
|
| - unsigned long reserved[44]; /* reserve for future add-ins, decrease the subscript accordingly */
|
| +
|
| + /** \brief VA display type. */
|
| + unsigned long display_type;
|
| +
|
| + /**
|
| + * The VA/Wayland implementation hooks.
|
| + *
|
| + * This structure is intended for drivers that implement the
|
| + * VA/Wayland API. libVA allocates this structure with calloc()
|
| + * and owns the resulting memory.
|
| + */
|
| + struct VADriverVTableWayland *vtable_wayland;
|
| +
|
| + /**
|
| + * \brief The VA/VPP implementation hooks.
|
| + *
|
| + * This structure is allocated from libva with calloc().
|
| + */
|
| + struct VADriverVTableVPP *vtable_vpp;
|
| +
|
| + unsigned long reserved[42]; /* reserve for future add-ins, decrease the subscript accordingly */
|
| };
|
|
|
| #define VA_DISPLAY_MAGIC 0x56414430 /* VAD0 */
|
| @@ -456,16 +534,6 @@ struct VADisplayContext
|
| );
|
|
|
| void *opaque; /* opaque for display extensions (e.g. GLX) */
|
| -
|
| - VAStatus (*vaCreateNativePixmap) (
|
| - VADisplayContextP pDisplayContext,
|
| - unsigned int width,
|
| - unsigned int height,
|
| - void **native_pixmap);
|
| -
|
| - VAStatus (*vaFreeNativePixmap) (
|
| - VADisplayContextP pDisplayContext,
|
| - void *native_pixmap);
|
| };
|
|
|
| typedef VAStatus (*VADriverInit) (
|
|
|