1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by generate_entry_points.py using data from egl.xml and egl_angle_ext.xml.
3 //
4 // Copyright 2020 The ANGLE Project Authors. All rights reserved.
5 // Use of this source code is governed by a BSD-style license that can be
6 // found in the LICENSE file.
7 //
8 // entry_points_egl_ext_autogen.h:
9 //   Defines the EGL Extension entry points.
10 
11 #ifndef LIBGLESV2_ENTRY_POINTS_EGL_EXT_AUTOGEN_H_
12 #define LIBGLESV2_ENTRY_POINTS_EGL_EXT_AUTOGEN_H_
13 
14 #include <EGL/egl.h>
15 #include <EGL/eglext.h>
16 #include <export.h>
17 
18 extern "C" {
19 
20 // EGL_ANDROID_blob_cache
21 ANGLE_EXPORT void EGLAPIENTRY EGL_SetBlobCacheFuncsANDROID(EGLDisplay dpy,
22                                                            EGLSetBlobFuncANDROID set,
23                                                            EGLGetBlobFuncANDROID get);
24 
25 // EGL_ANDROID_create_native_client_buffer
26 ANGLE_EXPORT EGLClientBuffer EGLAPIENTRY
27 EGL_CreateNativeClientBufferANDROID(const EGLint *attrib_list);
28 
29 // EGL_ANDROID_get_frame_timestamps
30 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetCompositorTimingSupportedANDROID(EGLDisplay dpy,
31                                                                             EGLSurface surface,
32                                                                             EGLint name);
33 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetCompositorTimingANDROID(EGLDisplay dpy,
34                                                                    EGLSurface surface,
35                                                                    EGLint numTimestamps,
36                                                                    const EGLint *names,
37                                                                    EGLnsecsANDROID *values);
38 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetNextFrameIdANDROID(EGLDisplay dpy,
39                                                               EGLSurface surface,
40                                                               EGLuint64KHR *frameId);
41 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetFrameTimestampSupportedANDROID(EGLDisplay dpy,
42                                                                           EGLSurface surface,
43                                                                           EGLint timestamp);
44 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetFrameTimestampsANDROID(EGLDisplay dpy,
45                                                                   EGLSurface surface,
46                                                                   EGLuint64KHR frameId,
47                                                                   EGLint numTimestamps,
48                                                                   const EGLint *timestamps,
49                                                                   EGLnsecsANDROID *values);
50 
51 // EGL_ANDROID_get_native_client_buffer
52 ANGLE_EXPORT EGLClientBuffer EGLAPIENTRY
53 EGL_GetNativeClientBufferANDROID(const struct AHardwareBuffer *buffer);
54 
55 // EGL_ANDROID_native_fence_sync
56 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_DupNativeFenceFDANDROID(EGLDisplay dpy, EGLSyncKHR sync);
57 
58 // EGL_ANDROID_presentation_time
59 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_PresentationTimeANDROID(EGLDisplay dpy,
60                                                                 EGLSurface surface,
61                                                                 EGLnsecsANDROID time);
62 
63 // EGL_ANGLE_device_creation
64 ANGLE_EXPORT EGLDeviceEXT EGLAPIENTRY EGL_CreateDeviceANGLE(EGLint device_type,
65                                                             void *native_device,
66                                                             const EGLAttrib *attrib_list);
67 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ReleaseDeviceANGLE(EGLDeviceEXT device);
68 
69 // EGL_ANGLE_feature_control
70 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryStringiANGLE(EGLDisplay dpy,
71                                                            EGLint name,
72                                                            EGLint index);
73 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribANGLE(EGLDisplay dpy,
74                                                                 EGLint attribute,
75                                                                 EGLAttrib *value);
76 
77 // EGL_ANGLE_power_preference
78 ANGLE_EXPORT void EGLAPIENTRY EGL_ReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
79 ANGLE_EXPORT void EGLAPIENTRY EGL_ReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
80 ANGLE_EXPORT void EGLAPIENTRY EGL_HandleGPUSwitchANGLE(EGLDisplay dpy);
81 
82 // EGL_ANGLE_program_cache_control
83 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib);
84 ANGLE_EXPORT void EGLAPIENTRY EGL_ProgramCacheQueryANGLE(EGLDisplay dpy,
85                                                          EGLint index,
86                                                          void *key,
87                                                          EGLint *keysize,
88                                                          void *binary,
89                                                          EGLint *binarysize);
90 ANGLE_EXPORT void EGLAPIENTRY EGL_ProgramCachePopulateANGLE(EGLDisplay dpy,
91                                                             const void *key,
92                                                             EGLint keysize,
93                                                             const void *binary,
94                                                             EGLint binarysize);
95 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ProgramCacheResizeANGLE(EGLDisplay dpy,
96                                                             EGLint limit,
97                                                             EGLint mode);
98 
99 // EGL_ANGLE_query_surface_pointer
100 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurfacePointerANGLE(EGLDisplay dpy,
101                                                                  EGLSurface surface,
102                                                                  EGLint attribute,
103                                                                  void **value);
104 
105 // EGL_ANGLE_stream_producer_d3d_texture
106 ANGLE_EXPORT EGLBoolean EGLAPIENTRY
107 EGL_CreateStreamProducerD3DTextureANGLE(EGLDisplay dpy,
108                                         EGLStreamKHR stream,
109                                         const EGLAttrib *attrib_list);
110 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamPostD3DTextureANGLE(EGLDisplay dpy,
111                                                                   EGLStreamKHR stream,
112                                                                   void *texture,
113                                                                   const EGLAttrib *attrib_list);
114 
115 // EGL_ANGLE_swap_with_frame_token
116 ANGLE_EXPORT EGLBoolean EGLAPIENTRY
117 EGL_SwapBuffersWithFrameTokenANGLE(EGLDisplay dpy,
118                                    EGLSurface surface,
119                                    EGLFrameTokenANGLE frametoken);
120 
121 // EGL_ANGLE_sync_control_rate
122 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetMscRateANGLE(EGLDisplay dpy,
123                                                         EGLSurface surface,
124                                                         EGLint *numerator,
125                                                         EGLint *denominator);
126 
127 // EGL_CHROMIUM_sync_control
128 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncValuesCHROMIUM(EGLDisplay dpy,
129                                                               EGLSurface surface,
130                                                               EGLuint64KHR *ust,
131                                                               EGLuint64KHR *msc,
132                                                               EGLuint64KHR *sbc);
133 
134 // EGL_EXT_device_query
135 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDeviceAttribEXT(EGLDeviceEXT device,
136                                                              EGLint attribute,
137                                                              EGLAttrib *value);
138 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryDeviceStringEXT(EGLDeviceEXT device, EGLint name);
139 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribEXT(EGLDisplay dpy,
140                                                               EGLint attribute,
141                                                               EGLAttrib *value);
142 
143 // EGL_EXT_platform_base
144 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurfaceEXT(EGLDisplay dpy,
145                                                                        EGLConfig config,
146                                                                        void *native_pixmap,
147                                                                        const EGLint *attrib_list);
148 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformWindowSurfaceEXT(EGLDisplay dpy,
149                                                                        EGLConfig config,
150                                                                        void *native_window,
151                                                                        const EGLint *attrib_list);
152 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetPlatformDisplayEXT(EGLenum platform,
153                                                               void *native_display,
154                                                               const EGLint *attrib_list);
155 
156 // EGL_KHR_debug
157 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_DebugMessageControlKHR(EGLDEBUGPROCKHR callback,
158                                                            const EGLAttrib *attrib_list);
159 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_LabelObjectKHR(EGLDisplay display,
160                                                    EGLenum objectType,
161                                                    EGLObjectKHR object,
162                                                    EGLLabelKHR label);
163 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDebugKHR(EGLint attribute, EGLAttrib *value);
164 
165 // EGL_KHR_fence_sync
166 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ClientWaitSyncKHR(EGLDisplay dpy,
167                                                       EGLSyncKHR sync,
168                                                       EGLint flags,
169                                                       EGLTimeKHR timeout);
170 ANGLE_EXPORT EGLSyncKHR EGLAPIENTRY EGL_CreateSyncKHR(EGLDisplay dpy,
171                                                       EGLenum type,
172                                                       const EGLint *attrib_list);
173 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync);
174 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncAttribKHR(EGLDisplay dpy,
175                                                          EGLSyncKHR sync,
176                                                          EGLint attribute,
177                                                          EGLint *value);
178 
179 // EGL_KHR_image
180 ANGLE_EXPORT EGLImageKHR EGLAPIENTRY EGL_CreateImageKHR(EGLDisplay dpy,
181                                                         EGLContext ctx,
182                                                         EGLenum target,
183                                                         EGLClientBuffer buffer,
184                                                         const EGLint *attrib_list);
185 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyImageKHR(EGLDisplay dpy, EGLImageKHR image);
186 
187 // EGL_KHR_reusable_sync
188 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SignalSyncKHR(EGLDisplay dpy,
189                                                       EGLSyncKHR sync,
190                                                       EGLenum mode);
191 
192 // EGL_KHR_stream
193 ANGLE_EXPORT EGLStreamKHR EGLAPIENTRY EGL_CreateStreamKHR(EGLDisplay dpy,
194                                                           const EGLint *attrib_list);
195 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream);
196 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryStreamKHR(EGLDisplay dpy,
197                                                        EGLStreamKHR stream,
198                                                        EGLenum attribute,
199                                                        EGLint *value);
200 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryStreamu64KHR(EGLDisplay dpy,
201                                                           EGLStreamKHR stream,
202                                                           EGLenum attribute,
203                                                           EGLuint64KHR *value);
204 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamAttribKHR(EGLDisplay dpy,
205                                                         EGLStreamKHR stream,
206                                                         EGLenum attribute,
207                                                         EGLint value);
208 
209 // EGL_KHR_stream_consumer_gltexture
210 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerAcquireKHR(EGLDisplay dpy,
211                                                                  EGLStreamKHR stream);
212 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerGLTextureExternalKHR(EGLDisplay dpy,
213                                                                            EGLStreamKHR stream);
214 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerReleaseKHR(EGLDisplay dpy,
215                                                                  EGLStreamKHR stream);
216 
217 // EGL_KHR_swap_buffers_with_damage
218 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithDamageKHR(EGLDisplay dpy,
219                                                                  EGLSurface surface,
220                                                                  const EGLint *rects,
221                                                                  EGLint n_rects);
222 
223 // EGL_KHR_wait_sync
224 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_WaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
225 
226 // EGL_NV_post_sub_buffer
227 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_PostSubBufferNV(EGLDisplay dpy,
228                                                         EGLSurface surface,
229                                                         EGLint x,
230                                                         EGLint y,
231                                                         EGLint width,
232                                                         EGLint height);
233 
234 // EGL_NV_stream_consumer_gltexture_yuv
235 ANGLE_EXPORT EGLBoolean EGLAPIENTRY
236 EGL_StreamConsumerGLTextureExternalAttribsNV(EGLDisplay dpy,
237                                              EGLStreamKHR stream,
238                                              const EGLAttrib *attrib_list);
239 }  // extern "C"
240 
241 #endif  // LIBGLESV2_ENTRY_POINTS_EGL_EXT_AUTOGEN_H_
242