OLD | NEW |
(Empty) | |
| 1 #ifndef _VA_EGL_PRIVATE_H_ |
| 2 #define _VA_EGL_PRIVATE_H_ |
| 3 |
| 4 #include "va.h" |
| 5 #include "va_backend.h" |
| 6 #include "va_egl.h" |
| 7 #include "va_backend_egl.h" |
| 8 |
| 9 typedef struct VADisplayContextEGL *VADisplayContextEGLP; |
| 10 typedef struct VADriverContextEGL *VADriverContextEGLP; |
| 11 typedef struct VASurfaceImplEGL *VASurfaceImplEGLP; |
| 12 typedef struct VADriverVTableEGL *VADriverVTableEGLP; |
| 13 typedef struct VADriverVTablePrivEGL *VADriverVTablePrivEGLP; |
| 14 typedef void (*vaDestroyFunc)(VADisplayContextP); |
| 15 |
| 16 struct VADisplayContextEGL { |
| 17 vaDestroyFunc vaDestroy; |
| 18 }; |
| 19 |
| 20 #define VA_DRIVER_CONTEXT_EGL(ctx) ((VADriverContextEGLP)((ctx)->egl)) |
| 21 |
| 22 struct VADriverVTablePrivEGL { |
| 23 VAStatus (*vaQuerySurfaceTargetsEGL)( |
| 24 VADisplay dpy, |
| 25 EGLenum *target_list, /* out */ |
| 26 int *num_targets /* out */ |
| 27 ); |
| 28 |
| 29 VAStatus (*vaCreateSurfaceEGL)( |
| 30 VADisplay dpy, |
| 31 EGLenum target, |
| 32 unsigned int width, |
| 33 unsigned int height, |
| 34 VASurfaceEGL *gl_surface |
| 35 ); |
| 36 |
| 37 VAStatus (*vaDestroySurfaceEGL)( |
| 38 VADisplay dpy, |
| 39 VASurfaceEGL egl_surface |
| 40 ); |
| 41 |
| 42 VAStatus (*vaAssociateSurfaceEGL)( |
| 43 VADisplay dpy, |
| 44 VASurfaceEGL egl_surface, |
| 45 VASurfaceID surface, |
| 46 unsigned int flags |
| 47 ); |
| 48 |
| 49 VAStatus (*vaSyncSurfaceEGL)( |
| 50 VADisplay dpy, |
| 51 VASurfaceEGL egl_surface |
| 52 ); |
| 53 |
| 54 VAStatus (*vaGetSurfaceInfoEGL)( |
| 55 VADisplay dpy, |
| 56 VASurfaceEGL egl_surface, |
| 57 EGLenum *target, |
| 58 EGLClientBuffer *buffer, |
| 59 EGLint *attrib_list, |
| 60 int *num_attribs |
| 61 ); |
| 62 |
| 63 VAStatus (*vaDeassociateSurfaceEGL)( |
| 64 VADisplay dpy, |
| 65 VASurfaceEGL egl_surface |
| 66 ); |
| 67 }; |
| 68 |
| 69 struct VADriverContextEGL { |
| 70 struct VADriverVTablePrivEGL vtable; |
| 71 unsigned int is_initialized : 1; |
| 72 EGLDisplay egl_display; |
| 73 }; |
| 74 |
| 75 #endif /* _VA_EGL_PRIVATE_H_ */ |
OLD | NEW |