diff options
Diffstat (limited to 'va/egl/va_backend_egl.h')
-rw-r--r-- | va/egl/va_backend_egl.h | 49 |
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 */ |