• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_device_vulkan
70 ANGLE_EXPORT void EGLAPIENTRY EGL_LockVulkanQueueANGLE(EGLDisplay dpy);
71 ANGLE_EXPORT void EGLAPIENTRY EGL_UnlockVulkanQueueANGLE(EGLDisplay dpy);
72 
73 // EGL_ANGLE_external_context_and_surface
74 ANGLE_EXPORT void EGLAPIENTRY EGL_AcquireExternalContextANGLE(EGLDisplay dpy,
75                                                               EGLSurface drawAndRead);
76 ANGLE_EXPORT void EGLAPIENTRY EGL_ReleaseExternalContextANGLE(EGLDisplay dpy);
77 
78 // EGL_ANGLE_feature_control
79 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryStringiANGLE(EGLDisplay dpy,
80                                                            EGLint name,
81                                                            EGLint index);
82 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribANGLE(EGLDisplay dpy,
83                                                                 EGLint attribute,
84                                                                 EGLAttrib *value);
85 
86 // EGL_ANGLE_metal_shared_event_sync
87 ANGLE_EXPORT void *EGLAPIENTRY EGL_CopyMetalSharedEventANGLE(EGLDisplay dpy, EGLSyncKHR sync);
88 
89 // EGL_ANGLE_no_error
90 ANGLE_EXPORT void EGLAPIENTRY EGL_SetValidationEnabledANGLE(EGLBoolean validationState);
91 
92 // EGL_ANGLE_power_preference
93 ANGLE_EXPORT void EGLAPIENTRY EGL_ReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
94 ANGLE_EXPORT void EGLAPIENTRY EGL_ReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
95 ANGLE_EXPORT void EGLAPIENTRY EGL_HandleGPUSwitchANGLE(EGLDisplay dpy);
96 ANGLE_EXPORT void EGLAPIENTRY EGL_ForceGPUSwitchANGLE(EGLDisplay dpy,
97                                                       EGLint gpuIDHigh,
98                                                       EGLint gpuIDLow);
99 
100 // EGL_ANGLE_prepare_swap_buffers
101 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_PrepareSwapBuffersANGLE(EGLDisplay dpy, EGLSurface surface);
102 
103 // EGL_ANGLE_program_cache_control
104 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib);
105 ANGLE_EXPORT void EGLAPIENTRY EGL_ProgramCacheQueryANGLE(EGLDisplay dpy,
106                                                          EGLint index,
107                                                          void *key,
108                                                          EGLint *keysize,
109                                                          void *binary,
110                                                          EGLint *binarysize);
111 ANGLE_EXPORT void EGLAPIENTRY EGL_ProgramCachePopulateANGLE(EGLDisplay dpy,
112                                                             const void *key,
113                                                             EGLint keysize,
114                                                             const void *binary,
115                                                             EGLint binarysize);
116 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ProgramCacheResizeANGLE(EGLDisplay dpy,
117                                                             EGLint limit,
118                                                             EGLint mode);
119 
120 // EGL_ANGLE_query_surface_pointer
121 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurfacePointerANGLE(EGLDisplay dpy,
122                                                                  EGLSurface surface,
123                                                                  EGLint attribute,
124                                                                  void **value);
125 
126 // EGL_ANGLE_stream_producer_d3d_texture
127 ANGLE_EXPORT EGLBoolean EGLAPIENTRY
128 EGL_CreateStreamProducerD3DTextureANGLE(EGLDisplay dpy,
129                                         EGLStreamKHR stream,
130                                         const EGLAttrib *attrib_list);
131 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamPostD3DTextureANGLE(EGLDisplay dpy,
132                                                                   EGLStreamKHR stream,
133                                                                   void *texture,
134                                                                   const EGLAttrib *attrib_list);
135 
136 // EGL_ANGLE_sync_control_rate
137 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetMscRateANGLE(EGLDisplay dpy,
138                                                         EGLSurface surface,
139                                                         EGLint *numerator,
140                                                         EGLint *denominator);
141 
142 // EGL_ANGLE_vulkan_image
143 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ExportVkImageANGLE(EGLDisplay dpy,
144                                                            EGLImage image,
145                                                            void *vk_image,
146                                                            void *vk_image_create_info);
147 
148 // EGL_ANGLE_wait_until_work_scheduled
149 ANGLE_EXPORT void EGLAPIENTRY EGL_WaitUntilWorkScheduledANGLE(EGLDisplay dpy);
150 
151 // EGL_CHROMIUM_sync_control
152 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncValuesCHROMIUM(EGLDisplay dpy,
153                                                               EGLSurface surface,
154                                                               EGLuint64KHR *ust,
155                                                               EGLuint64KHR *msc,
156                                                               EGLuint64KHR *sbc);
157 
158 // EGL_EXT_device_query
159 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDeviceAttribEXT(EGLDeviceEXT device,
160                                                              EGLint attribute,
161                                                              EGLAttrib *value);
162 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryDeviceStringEXT(EGLDeviceEXT device, EGLint name);
163 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribEXT(EGLDisplay dpy,
164                                                               EGLint attribute,
165                                                               EGLAttrib *value);
166 
167 // EGL_EXT_image_dma_buf_import_modifiers
168 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDmaBufFormatsEXT(EGLDisplay dpy,
169                                                               EGLint max_formats,
170                                                               EGLint *formats,
171                                                               EGLint *num_formats);
172 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDmaBufModifiersEXT(EGLDisplay dpy,
173                                                                 EGLint format,
174                                                                 EGLint max_modifiers,
175                                                                 EGLuint64KHR *modifiers,
176                                                                 EGLBoolean *external_only,
177                                                                 EGLint *num_modifiers);
178 
179 // EGL_EXT_platform_base
180 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurfaceEXT(EGLDisplay dpy,
181                                                                        EGLConfig config,
182                                                                        void *native_pixmap,
183                                                                        const EGLint *attrib_list);
184 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformWindowSurfaceEXT(EGLDisplay dpy,
185                                                                        EGLConfig config,
186                                                                        void *native_window,
187                                                                        const EGLint *attrib_list);
188 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetPlatformDisplayEXT(EGLenum platform,
189                                                               void *native_display,
190                                                               const EGLint *attrib_list);
191 
192 // EGL_EXT_surface_compression
193 ANGLE_EXPORT EGLBoolean EGLAPIENTRY
194 EGL_QuerySupportedCompressionRatesEXT(EGLDisplay dpy,
195                                       EGLConfig config,
196                                       const EGLAttrib *attrib_list,
197                                       EGLint *rates,
198                                       EGLint rate_size,
199                                       EGLint *num_rates);
200 
201 // EGL_KHR_debug
202 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_DebugMessageControlKHR(EGLDEBUGPROCKHR callback,
203                                                            const EGLAttrib *attrib_list);
204 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_LabelObjectKHR(EGLDisplay display,
205                                                    EGLenum objectType,
206                                                    EGLObjectKHR object,
207                                                    EGLLabelKHR label);
208 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDebugKHR(EGLint attribute, EGLAttrib *value);
209 
210 // EGL_KHR_fence_sync
211 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ClientWaitSyncKHR(EGLDisplay dpy,
212                                                       EGLSyncKHR sync,
213                                                       EGLint flags,
214                                                       EGLTimeKHR timeout);
215 ANGLE_EXPORT EGLSyncKHR EGLAPIENTRY EGL_CreateSyncKHR(EGLDisplay dpy,
216                                                       EGLenum type,
217                                                       const EGLint *attrib_list);
218 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync);
219 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncAttribKHR(EGLDisplay dpy,
220                                                          EGLSyncKHR sync,
221                                                          EGLint attribute,
222                                                          EGLint *value);
223 
224 // EGL_KHR_image
225 ANGLE_EXPORT EGLImageKHR EGLAPIENTRY EGL_CreateImageKHR(EGLDisplay dpy,
226                                                         EGLContext ctx,
227                                                         EGLenum target,
228                                                         EGLClientBuffer buffer,
229                                                         const EGLint *attrib_list);
230 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyImageKHR(EGLDisplay dpy, EGLImageKHR image);
231 
232 // EGL_KHR_lock_surface3
233 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_LockSurfaceKHR(EGLDisplay dpy,
234                                                        EGLSurface surface,
235                                                        const EGLint *attrib_list);
236 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurface64KHR(EGLDisplay dpy,
237                                                           EGLSurface surface,
238                                                           EGLint attribute,
239                                                           EGLAttribKHR *value);
240 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_UnlockSurfaceKHR(EGLDisplay dpy, EGLSurface surface);
241 
242 // EGL_KHR_partial_update
243 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SetDamageRegionKHR(EGLDisplay dpy,
244                                                            EGLSurface surface,
245                                                            EGLint *rects,
246                                                            EGLint n_rects);
247 
248 // EGL_KHR_reusable_sync
249 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SignalSyncKHR(EGLDisplay dpy,
250                                                       EGLSyncKHR sync,
251                                                       EGLenum mode);
252 
253 // EGL_KHR_stream
254 ANGLE_EXPORT EGLStreamKHR EGLAPIENTRY EGL_CreateStreamKHR(EGLDisplay dpy,
255                                                           const EGLint *attrib_list);
256 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream);
257 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryStreamKHR(EGLDisplay dpy,
258                                                        EGLStreamKHR stream,
259                                                        EGLenum attribute,
260                                                        EGLint *value);
261 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryStreamu64KHR(EGLDisplay dpy,
262                                                           EGLStreamKHR stream,
263                                                           EGLenum attribute,
264                                                           EGLuint64KHR *value);
265 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamAttribKHR(EGLDisplay dpy,
266                                                         EGLStreamKHR stream,
267                                                         EGLenum attribute,
268                                                         EGLint value);
269 
270 // EGL_KHR_stream_consumer_gltexture
271 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerAcquireKHR(EGLDisplay dpy,
272                                                                  EGLStreamKHR stream);
273 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerGLTextureExternalKHR(EGLDisplay dpy,
274                                                                            EGLStreamKHR stream);
275 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerReleaseKHR(EGLDisplay dpy,
276                                                                  EGLStreamKHR stream);
277 
278 // EGL_KHR_swap_buffers_with_damage
279 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithDamageKHR(EGLDisplay dpy,
280                                                                  EGLSurface surface,
281                                                                  const EGLint *rects,
282                                                                  EGLint n_rects);
283 
284 // EGL_KHR_wait_sync
285 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_WaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
286 
287 // EGL_NV_post_sub_buffer
288 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_PostSubBufferNV(EGLDisplay dpy,
289                                                         EGLSurface surface,
290                                                         EGLint x,
291                                                         EGLint y,
292                                                         EGLint width,
293                                                         EGLint height);
294 
295 // EGL_NV_stream_consumer_gltexture_yuv
296 ANGLE_EXPORT EGLBoolean EGLAPIENTRY
297 EGL_StreamConsumerGLTextureExternalAttribsNV(EGLDisplay dpy,
298                                              EGLStreamKHR stream,
299                                              const EGLAttrib *attrib_list);
300 }  // extern "C"
301 
302 #endif  // LIBGLESV2_ENTRY_POINTS_EGL_EXT_AUTOGEN_H_
303