xref: /aosp_15_r20/external/libva/va/glx/va_backend_glx.h (revision 54e60f844a168e9a219354de272cd517ee8cd4b7)
1*54e60f84SAndroid Build Coastguard Worker /*
2*54e60f84SAndroid Build Coastguard Worker  * Copyright (C) 2009 Splitted-Desktop Systems. All Rights Reserved.
3*54e60f84SAndroid Build Coastguard Worker  *
4*54e60f84SAndroid Build Coastguard Worker  * Permission is hereby granted, free of charge, to any person obtaining a
5*54e60f84SAndroid Build Coastguard Worker  * copy of this software and associated documentation files (the
6*54e60f84SAndroid Build Coastguard Worker  * "Software"), to deal in the Software without restriction, including
7*54e60f84SAndroid Build Coastguard Worker  * without limitation the rights to use, copy, modify, merge, publish,
8*54e60f84SAndroid Build Coastguard Worker  * distribute, sub license, and/or sell copies of the Software, and to
9*54e60f84SAndroid Build Coastguard Worker  * permit persons to whom the Software is furnished to do so, subject to
10*54e60f84SAndroid Build Coastguard Worker  * the following conditions:
11*54e60f84SAndroid Build Coastguard Worker  *
12*54e60f84SAndroid Build Coastguard Worker  * The above copyright notice and this permission notice (including the
13*54e60f84SAndroid Build Coastguard Worker  * next paragraph) shall be included in all copies or substantial portions
14*54e60f84SAndroid Build Coastguard Worker  * of the Software.
15*54e60f84SAndroid Build Coastguard Worker  *
16*54e60f84SAndroid Build Coastguard Worker  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17*54e60f84SAndroid Build Coastguard Worker  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18*54e60f84SAndroid Build Coastguard Worker  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19*54e60f84SAndroid Build Coastguard Worker  * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
20*54e60f84SAndroid Build Coastguard Worker  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21*54e60f84SAndroid Build Coastguard Worker  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22*54e60f84SAndroid Build Coastguard Worker  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23*54e60f84SAndroid Build Coastguard Worker  */
24*54e60f84SAndroid Build Coastguard Worker 
25*54e60f84SAndroid Build Coastguard Worker #ifndef VA_BACKEND_GLX_H
26*54e60f84SAndroid Build Coastguard Worker #define VA_BACKEND_GLX_H
27*54e60f84SAndroid Build Coastguard Worker 
28*54e60f84SAndroid Build Coastguard Worker struct VADriverContext;
29*54e60f84SAndroid Build Coastguard Worker 
30*54e60f84SAndroid Build Coastguard Worker struct VADriverVTableGLX {
31*54e60f84SAndroid Build Coastguard Worker     /* Optional: create a surface used for display to OpenGL */
32*54e60f84SAndroid Build Coastguard Worker     VAStatus(*vaCreateSurfaceGLX)(
33*54e60f84SAndroid Build Coastguard Worker         struct VADriverContext *ctx,
34*54e60f84SAndroid Build Coastguard Worker         unsigned int            gl_target,
35*54e60f84SAndroid Build Coastguard Worker         unsigned int            gl_texture,
36*54e60f84SAndroid Build Coastguard Worker         void                  **gl_surface
37*54e60f84SAndroid Build Coastguard Worker     );
38*54e60f84SAndroid Build Coastguard Worker 
39*54e60f84SAndroid Build Coastguard Worker     /* Optional: destroy a VA/GLX surface */
40*54e60f84SAndroid Build Coastguard Worker     VAStatus(*vaDestroySurfaceGLX)(
41*54e60f84SAndroid Build Coastguard Worker         struct VADriverContext *ctx,
42*54e60f84SAndroid Build Coastguard Worker         void                   *gl_surface
43*54e60f84SAndroid Build Coastguard Worker     );
44*54e60f84SAndroid Build Coastguard Worker 
45*54e60f84SAndroid Build Coastguard Worker     /* Optional: copy a VA surface to a VA/GLX surface */
46*54e60f84SAndroid Build Coastguard Worker     VAStatus(*vaCopySurfaceGLX)(
47*54e60f84SAndroid Build Coastguard Worker         struct VADriverContext *ctx,
48*54e60f84SAndroid Build Coastguard Worker         void                   *gl_surface,
49*54e60f84SAndroid Build Coastguard Worker         VASurfaceID             surface,
50*54e60f84SAndroid Build Coastguard Worker         unsigned int            flags
51*54e60f84SAndroid Build Coastguard Worker     );
52*54e60f84SAndroid Build Coastguard Worker };
53*54e60f84SAndroid Build Coastguard Worker 
54*54e60f84SAndroid Build Coastguard Worker #endif /* VA_BACKEND_GLX_H */
55