| Index: third_party/libva/va/egl/va_backend_egl.h | 
| diff --git a/third_party/libva/va/egl/va_backend_egl.h b/third_party/libva/va/egl/va_backend_egl.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..bd0538c5da1dab66578d0cff00cfaff7d7c4d852 | 
| --- /dev/null | 
| +++ b/third_party/libva/va/egl/va_backend_egl.h | 
| @@ -0,0 +1,90 @@ | 
| +/* | 
| + * Copyright (C) 2009 Splitted-Desktop Systems. 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_EGL_H | 
| +#define VA_BACKEND_EGL_H | 
| + | 
| +#include <va/va_egl.h> | 
| +#include <va/va_backend.h> | 
| + | 
| +struct VADriverVTableEGL { | 
| +    /* Get EGL ClientBufer buffer index and device id from surface id*/ | 
| +    VAStatus (*vaGetEGLClientBufferFromSurface) ( | 
| +        VADriverContextP ctx, | 
| +        VASurfaceID surface, | 
| +        void **buffer | 
| +    ); | 
| + | 
| +    /* TBD: more APIs for EGL */ | 
| +    int max_egl_surface_targets; | 
| +    int max_egl_surface_attributes; | 
| + | 
| +    VAStatus (*vaQuerySurfaceTargetsEGL)( | 
| +        VADriverContextP ctx, | 
| +        EGLenum *target_list,           /* out */ | 
| +        int *num_targets		/* out */ | 
| +    ); | 
| + | 
| +    VAStatus (*vaCreateSurfaceEGL)( | 
| +        VADriverContextP ctx, | 
| +        EGLenum target, | 
| +        unsigned int width, | 
| +        unsigned int height, | 
| +        VASurfaceEGL *gl_surface | 
| +    ); | 
| + | 
| +    /* Optional: destroy a VA/EGL surface */ | 
| +    VAStatus (*vaDestroySurfaceEGL)( | 
| +        VADriverContextP ctx, | 
| +        VASurfaceEGL egl_surface | 
| +    ); | 
| + | 
| +    VAStatus (*vaAssociateSurfaceEGL)( | 
| +        VADriverContextP ctx, | 
| +        VASurfaceEGL egl_surface, | 
| +        VASurfaceID surface, | 
| +        unsigned int flags | 
| +    ); | 
| + | 
| +    VAStatus (*vaSyncSurfaceEGL)( | 
| +        VADriverContextP ctx, | 
| +        VASurfaceEGL egl_surface | 
| +    ); | 
| + | 
| +    VAStatus (*vaGetSurfaceInfoEGL)( | 
| +        VADisplay dpy, | 
| +        VASurfaceEGL egl_surface, | 
| +        EGLenum *target, | 
| +        EGLClientBuffer *buffer, | 
| +        EGLint *attrib_list, | 
| +        int *num_attribs | 
| +    ); | 
| + | 
| +    VAStatus (*vaDeassociateSurfaceEGL)( | 
| +        VADriverContextP ctx, | 
| +        VASurfaceEGL egl_surface | 
| +    ); | 
| +}; | 
| + | 
| +#endif /* VA_BACKEND_EGL_H */ | 
|  |