• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright 2014 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 
7 // entry_points_egl.h : Defines the EGL entry points.
8 
9 #ifndef LIBGLESV2_ENTRYPOINTSEGL_H_
10 #define LIBGLESV2_ENTRYPOINTSEGL_H_
11 
12 #include <EGL/egl.h>
13 #include <export.h>
14 
15 extern "C" {
16 
17 // EGL 1.0
18 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ChooseConfig(EGLDisplay dpy,
19                                                      const EGLint *attrib_list,
20                                                      EGLConfig *configs,
21                                                      EGLint config_size,
22                                                      EGLint *num_config);
23 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_CopyBuffers(EGLDisplay dpy,
24                                                     EGLSurface surface,
25                                                     EGLNativePixmapType target);
26 ANGLE_EXPORT EGLContext EGLAPIENTRY EGL_CreateContext(EGLDisplay dpy,
27                                                       EGLConfig config,
28                                                       EGLContext share_context,
29                                                       const EGLint *attrib_list);
30 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePbufferSurface(EGLDisplay dpy,
31                                                              EGLConfig config,
32                                                              const EGLint *attrib_list);
33 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePixmapSurface(EGLDisplay dpy,
34                                                             EGLConfig config,
35                                                             EGLNativePixmapType pixmap,
36                                                             const EGLint *attrib_list);
37 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreateWindowSurface(EGLDisplay dpy,
38                                                             EGLConfig config,
39                                                             EGLNativeWindowType win,
40                                                             const EGLint *attrib_list);
41 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyContext(EGLDisplay dpy, EGLContext ctx);
42 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroySurface(EGLDisplay dpy, EGLSurface surface);
43 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetConfigAttrib(EGLDisplay dpy,
44                                                         EGLConfig config,
45                                                         EGLint attribute,
46                                                         EGLint *value);
47 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetConfigs(EGLDisplay dpy,
48                                                    EGLConfig *configs,
49                                                    EGLint config_size,
50                                                    EGLint *num_config);
51 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetCurrentDisplay(void);
52 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_GetCurrentSurface(EGLint readdraw);
53 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetDisplay(EGLNativeDisplayType display_id);
54 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_GetError(void);
55 ANGLE_EXPORT __eglMustCastToProperFunctionPointerType EGLAPIENTRY
56 EGL_GetProcAddress(const char *procname);
57 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_Initialize(EGLDisplay dpy, EGLint *major, EGLint *minor);
58 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_MakeCurrent(EGLDisplay dpy,
59                                                     EGLSurface draw,
60                                                     EGLSurface read,
61                                                     EGLContext ctx);
62 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryContext(EGLDisplay dpy,
63                                                      EGLContext ctx,
64                                                      EGLint attribute,
65                                                      EGLint *value);
66 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryString(EGLDisplay dpy, EGLint name);
67 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurface(EGLDisplay dpy,
68                                                      EGLSurface surface,
69                                                      EGLint attribute,
70                                                      EGLint *value);
71 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapBuffers(EGLDisplay dpy, EGLSurface surface);
72 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_Terminate(EGLDisplay dpy);
73 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_WaitGL(void);
74 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_WaitNative(EGLint engine);
75 
76 // EGL 1.1
77 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_BindTexImage(EGLDisplay dpy,
78                                                      EGLSurface surface,
79                                                      EGLint buffer);
80 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ReleaseTexImage(EGLDisplay dpy,
81                                                         EGLSurface surface,
82                                                         EGLint buffer);
83 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SurfaceAttrib(EGLDisplay dpy,
84                                                       EGLSurface surface,
85                                                       EGLint attribute,
86                                                       EGLint value);
87 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapInterval(EGLDisplay dpy, EGLint interval);
88 
89 // EGL 1.2
90 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_BindAPI(EGLenum api);
91 ANGLE_EXPORT EGLenum EGLAPIENTRY EGL_QueryAPI(void);
92 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePbufferFromClientBuffer(EGLDisplay dpy,
93                                                                       EGLenum buftype,
94                                                                       EGLClientBuffer buffer,
95                                                                       EGLConfig config,
96                                                                       const EGLint *attrib_list);
97 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ReleaseThread(void);
98 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_WaitClient(void);
99 
100 // EGL 1.4
101 ANGLE_EXPORT EGLContext EGLAPIENTRY EGL_GetCurrentContext(void);
102 
103 // EGL 1.5
104 ANGLE_EXPORT EGLSync EGLAPIENTRY EGL_CreateSync(EGLDisplay dpy,
105                                                 EGLenum type,
106                                                 const EGLAttrib *attrib_list);
107 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroySync(EGLDisplay dpy, EGLSync sync);
108 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ClientWaitSync(EGLDisplay dpy,
109                                                    EGLSync sync,
110                                                    EGLint flags,
111                                                    EGLTime timeout);
112 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncAttrib(EGLDisplay dpy,
113                                                       EGLSync sync,
114                                                       EGLint attribute,
115                                                       EGLAttrib *value);
116 ANGLE_EXPORT EGLImage EGLAPIENTRY EGL_CreateImage(EGLDisplay dpy,
117                                                   EGLContext ctx,
118                                                   EGLenum target,
119                                                   EGLClientBuffer buffer,
120                                                   const EGLAttrib *attrib_list);
121 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyImage(EGLDisplay dpy, EGLImage image);
122 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetPlatformDisplay(EGLenum platform,
123                                                            void *native_display,
124                                                            const EGLAttrib *attrib_list);
125 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformWindowSurface(EGLDisplay dpy,
126                                                                     EGLConfig config,
127                                                                     void *native_window,
128                                                                     const EGLAttrib *attrib_list);
129 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurface(EGLDisplay dpy,
130                                                                     EGLConfig config,
131                                                                     void *native_pixmap,
132                                                                     const EGLAttrib *attrib_list);
133 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_WaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags);
134 }  // extern "C"
135 
136 #endif  // LIBGLESV2_ENTRYPOINTSEGL_H_
137