summaryrefslogtreecommitdiff
path: root/va/egl/va_backend_egl.h
diff options
context:
space:
mode:
Diffstat (limited to 'va/egl/va_backend_egl.h')
-rw-r--r--va/egl/va_backend_egl.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/va/egl/va_backend_egl.h b/va/egl/va_backend_egl.h
index 925d933..7307b2e 100644
--- a/va/egl/va_backend_egl.h
+++ b/va/egl/va_backend_egl.h
@@ -35,7 +35,56 @@ struct VADriverVTableEGL {
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 */