OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Splitted-Desktop Systems. All Rights Reserved. | 2 * Copyright (C) 2009 Splitted-Desktop Systems. All Rights Reserved. |
3 * | 3 * |
4 * Permission is hereby granted, free of charge, to any person obtaining a | 4 * Permission is hereby granted, free of charge, to any person obtaining a |
5 * copy of this software and associated documentation files (the | 5 * copy of this software and associated documentation files (the |
6 * "Software"), to deal in the Software without restriction, including | 6 * "Software"), to deal in the Software without restriction, including |
7 * without limitation the rights to use, copy, modify, merge, publish, | 7 * without limitation the rights to use, copy, modify, merge, publish, |
8 * distribute, sub license, and/or sell copies of the Software, and to | 8 * distribute, sub license, and/or sell copies of the Software, and to |
9 * permit persons to whom the Software is furnished to do so, subject to | 9 * permit persons to whom the Software is furnished to do so, subject to |
10 * the following conditions: | 10 * the following conditions: |
11 * | 11 * |
12 * The above copyright notice and this permission notice (including the | 12 * The above copyright notice and this permission notice (including the |
13 * next paragraph) shall be included in all copies or substantial portions | 13 * next paragraph) shall be included in all copies or substantial portions |
14 * of the Software. | 14 * of the Software. |
15 * | 15 * |
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | 17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. | 18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. |
19 * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR | 19 * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR |
20 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | 20 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
21 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | 21 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
22 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | 22 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
23 */ | 23 */ |
24 | 24 |
25 #ifndef VA_BACKEND_EGL_H | 25 #ifndef VA_BACKEND_EGL_H |
26 #define VA_BACKEND_EGL_H | 26 #define VA_BACKEND_EGL_H |
27 | 27 |
28 #include <va/va_egl.h> | 28 #include <va/va.h> |
29 #include <va/va_backend.h> | 29 #include <va/va_backend.h> |
30 | 30 |
31 struct VADriverVTableEGL { | 31 struct VADriverVTableEGL { |
32 /* Get EGL ClientBufer buffer index and device id from surface id*/ | 32 /* Get EGL ClientBufer buffer index and device id from surface id*/ |
33 VAStatus (*vaGetEGLClientBufferFromSurface) ( | 33 VAStatus (*vaGetEGLClientBufferFromSurface) ( |
34 VADriverContextP ctx, | 34 VADriverContextP ctx, |
35 VASurfaceID surface, | 35 VASurfaceID surface, |
36 void **buffer | 36 void **buffer |
37 ); | 37 ); |
38 | |
39 /* TBD: more APIs for EGL */ | 38 /* TBD: more APIs for EGL */ |
40 int max_egl_surface_targets; | |
41 int max_egl_surface_attributes; | |
42 | |
43 VAStatus (*vaQuerySurfaceTargetsEGL)( | |
44 VADriverContextP ctx, | |
45 EGLenum *target_list, /* out */ | |
46 int *num_targets /* out */ | |
47 ); | |
48 | |
49 VAStatus (*vaCreateSurfaceEGL)( | |
50 VADriverContextP ctx, | |
51 EGLenum target, | |
52 unsigned int width, | |
53 unsigned int height, | |
54 VASurfaceEGL *gl_surface | |
55 ); | |
56 | |
57 /* Optional: destroy a VA/EGL surface */ | |
58 VAStatus (*vaDestroySurfaceEGL)( | |
59 VADriverContextP ctx, | |
60 VASurfaceEGL egl_surface | |
61 ); | |
62 | |
63 VAStatus (*vaAssociateSurfaceEGL)( | |
64 VADriverContextP ctx, | |
65 VASurfaceEGL egl_surface, | |
66 VASurfaceID surface, | |
67 unsigned int flags | |
68 ); | |
69 | |
70 VAStatus (*vaSyncSurfaceEGL)( | |
71 VADriverContextP ctx, | |
72 VASurfaceEGL egl_surface | |
73 ); | |
74 | |
75 VAStatus (*vaGetSurfaceInfoEGL)( | |
76 VADisplay dpy, | |
77 VASurfaceEGL egl_surface, | |
78 EGLenum *target, | |
79 EGLClientBuffer *buffer, | |
80 EGLint *attrib_list, | |
81 int *num_attribs | |
82 ); | |
83 | |
84 VAStatus (*vaDeassociateSurfaceEGL)( | |
85 VADriverContextP ctx, | |
86 VASurfaceEGL egl_surface | |
87 ); | |
88 }; | 39 }; |
89 | 40 |
90 #endif /* VA_BACKEND_EGL_H */ | 41 #endif /* VA_BACKEND_EGL_H */ |
OLD | NEW |