• 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 // validationEGL_autogen.h:
9 //   Validation functions for the EGL entry points.
10 
11 #ifndef LIBANGLE_VALIDATION_EGL_AUTOGEN_H_
12 #define LIBANGLE_VALIDATION_EGL_AUTOGEN_H_
13 
14 #include "libANGLE/validationEGL.h"
15 
16 namespace egl
17 {
18 
19 // EGL 1.0
20 bool ValidateChooseConfig(const ValidationContext *val,
21                           const egl::Display *dpyPacked,
22                           const AttributeMap &attrib_listPacked,
23                           const EGLConfig *configs,
24                           EGLint config_size,
25                           const EGLint *num_config);
26 bool ValidateCopyBuffers(const ValidationContext *val,
27                          const egl::Display *dpyPacked,
28                          SurfaceID surfacePacked,
29                          EGLNativePixmapType target);
30 bool ValidateCreateContext(const ValidationContext *val,
31                            const egl::Display *dpyPacked,
32                            const egl::Config *configPacked,
33                            gl::ContextID share_contextPacked,
34                            const AttributeMap &attrib_listPacked);
35 bool ValidateCreatePbufferSurface(const ValidationContext *val,
36                                   const egl::Display *dpyPacked,
37                                   const egl::Config *configPacked,
38                                   const AttributeMap &attrib_listPacked);
39 bool ValidateCreatePixmapSurface(const ValidationContext *val,
40                                  const egl::Display *dpyPacked,
41                                  const egl::Config *configPacked,
42                                  EGLNativePixmapType pixmap,
43                                  const AttributeMap &attrib_listPacked);
44 bool ValidateCreateWindowSurface(const ValidationContext *val,
45                                  const egl::Display *dpyPacked,
46                                  const egl::Config *configPacked,
47                                  EGLNativeWindowType win,
48                                  const AttributeMap &attrib_listPacked);
49 bool ValidateDestroyContext(const ValidationContext *val,
50                             const egl::Display *dpyPacked,
51                             gl::ContextID ctxPacked);
52 bool ValidateDestroySurface(const ValidationContext *val,
53                             const egl::Display *dpyPacked,
54                             SurfaceID surfacePacked);
55 bool ValidateGetConfigAttrib(const ValidationContext *val,
56                              const egl::Display *dpyPacked,
57                              const egl::Config *configPacked,
58                              EGLint attribute,
59                              const EGLint *value);
60 bool ValidateGetConfigs(const ValidationContext *val,
61                         const egl::Display *dpyPacked,
62                         const EGLConfig *configs,
63                         EGLint config_size,
64                         const EGLint *num_config);
65 bool ValidateGetCurrentDisplay(const ValidationContext *val);
66 bool ValidateGetCurrentSurface(const ValidationContext *val, EGLint readdraw);
67 bool ValidateGetDisplay(const ValidationContext *val, EGLNativeDisplayType display_id);
68 bool ValidateGetError(const ValidationContext *val);
69 bool ValidateGetProcAddress(const ValidationContext *val, const char *procname);
70 bool ValidateInitialize(const ValidationContext *val,
71                         const egl::Display *dpyPacked,
72                         const EGLint *major,
73                         const EGLint *minor);
74 bool ValidateMakeCurrent(const ValidationContext *val,
75                          const egl::Display *dpyPacked,
76                          SurfaceID drawPacked,
77                          SurfaceID readPacked,
78                          gl::ContextID ctxPacked);
79 bool ValidateQueryContext(const ValidationContext *val,
80                           const egl::Display *dpyPacked,
81                           gl::ContextID ctxPacked,
82                           EGLint attribute,
83                           const EGLint *value);
84 bool ValidateQueryString(const ValidationContext *val, const egl::Display *dpyPacked, EGLint name);
85 bool ValidateQuerySurface(const ValidationContext *val,
86                           const egl::Display *dpyPacked,
87                           SurfaceID surfacePacked,
88                           EGLint attribute,
89                           const EGLint *value);
90 bool ValidateSwapBuffers(const ValidationContext *val,
91                          const egl::Display *dpyPacked,
92                          SurfaceID surfacePacked);
93 bool ValidateTerminate(const ValidationContext *val, const egl::Display *dpyPacked);
94 bool ValidateWaitGL(const ValidationContext *val);
95 bool ValidateWaitNative(const ValidationContext *val, EGLint engine);
96 
97 // EGL 1.1
98 bool ValidateBindTexImage(const ValidationContext *val,
99                           const egl::Display *dpyPacked,
100                           SurfaceID surfacePacked,
101                           EGLint buffer);
102 bool ValidateReleaseTexImage(const ValidationContext *val,
103                              const egl::Display *dpyPacked,
104                              SurfaceID surfacePacked,
105                              EGLint buffer);
106 bool ValidateSurfaceAttrib(const ValidationContext *val,
107                            const egl::Display *dpyPacked,
108                            SurfaceID surfacePacked,
109                            EGLint attribute,
110                            EGLint value);
111 bool ValidateSwapInterval(const ValidationContext *val,
112                           const egl::Display *dpyPacked,
113                           EGLint interval);
114 
115 // EGL 1.2
116 bool ValidateBindAPI(const ValidationContext *val, EGLenum api);
117 bool ValidateCreatePbufferFromClientBuffer(const ValidationContext *val,
118                                            const egl::Display *dpyPacked,
119                                            EGLenum buftype,
120                                            EGLClientBuffer buffer,
121                                            const egl::Config *configPacked,
122                                            const AttributeMap &attrib_listPacked);
123 bool ValidateQueryAPI(const ValidationContext *val);
124 bool ValidateReleaseThread(const ValidationContext *val);
125 bool ValidateWaitClient(const ValidationContext *val);
126 
127 // EGL 1.4
128 bool ValidateGetCurrentContext(const ValidationContext *val);
129 
130 // EGL 1.5
131 bool ValidateClientWaitSync(const ValidationContext *val,
132                             const egl::Display *dpyPacked,
133                             egl::SyncID syncPacked,
134                             EGLint flags,
135                             EGLTime timeout);
136 bool ValidateCreateImage(const ValidationContext *val,
137                          const egl::Display *dpyPacked,
138                          gl::ContextID ctxPacked,
139                          EGLenum target,
140                          EGLClientBuffer buffer,
141                          const AttributeMap &attrib_listPacked);
142 bool ValidateCreatePlatformPixmapSurface(const ValidationContext *val,
143                                          const egl::Display *dpyPacked,
144                                          const egl::Config *configPacked,
145                                          const void *native_pixmap,
146                                          const AttributeMap &attrib_listPacked);
147 bool ValidateCreatePlatformWindowSurface(const ValidationContext *val,
148                                          const egl::Display *dpyPacked,
149                                          const egl::Config *configPacked,
150                                          const void *native_window,
151                                          const AttributeMap &attrib_listPacked);
152 bool ValidateCreateSync(const ValidationContext *val,
153                         const egl::Display *dpyPacked,
154                         EGLenum type,
155                         const AttributeMap &attrib_listPacked);
156 bool ValidateDestroyImage(const ValidationContext *val,
157                           const egl::Display *dpyPacked,
158                           ImageID imagePacked);
159 bool ValidateDestroySync(const ValidationContext *val,
160                          const egl::Display *dpyPacked,
161                          egl::SyncID syncPacked);
162 bool ValidateGetPlatformDisplay(const ValidationContext *val,
163                                 EGLenum platform,
164                                 const void *native_display,
165                                 const AttributeMap &attrib_listPacked);
166 bool ValidateGetSyncAttrib(const ValidationContext *val,
167                            const egl::Display *dpyPacked,
168                            egl::SyncID syncPacked,
169                            EGLint attribute,
170                            const EGLAttrib *value);
171 bool ValidateWaitSync(const ValidationContext *val,
172                       const egl::Display *dpyPacked,
173                       egl::SyncID syncPacked,
174                       EGLint flags);
175 
176 // EGL_ANDROID_blob_cache
177 bool ValidateSetBlobCacheFuncsANDROID(const ValidationContext *val,
178                                       const egl::Display *dpyPacked,
179                                       EGLSetBlobFuncANDROID set,
180                                       EGLGetBlobFuncANDROID get);
181 
182 // EGL_ANDROID_create_native_client_buffer
183 bool ValidateCreateNativeClientBufferANDROID(const ValidationContext *val,
184                                              const AttributeMap &attrib_listPacked);
185 
186 // EGL_ANDROID_get_frame_timestamps
187 bool ValidateGetCompositorTimingSupportedANDROID(const ValidationContext *val,
188                                                  const egl::Display *dpyPacked,
189                                                  SurfaceID surfacePacked,
190                                                  CompositorTiming namePacked);
191 bool ValidateGetCompositorTimingANDROID(const ValidationContext *val,
192                                         const egl::Display *dpyPacked,
193                                         SurfaceID surfacePacked,
194                                         EGLint numTimestamps,
195                                         const EGLint *names,
196                                         const EGLnsecsANDROID *values);
197 bool ValidateGetNextFrameIdANDROID(const ValidationContext *val,
198                                    const egl::Display *dpyPacked,
199                                    SurfaceID surfacePacked,
200                                    const EGLuint64KHR *frameId);
201 bool ValidateGetFrameTimestampSupportedANDROID(const ValidationContext *val,
202                                                const egl::Display *dpyPacked,
203                                                SurfaceID surfacePacked,
204                                                Timestamp timestampPacked);
205 bool ValidateGetFrameTimestampsANDROID(const ValidationContext *val,
206                                        const egl::Display *dpyPacked,
207                                        SurfaceID surfacePacked,
208                                        EGLuint64KHR frameId,
209                                        EGLint numTimestamps,
210                                        const EGLint *timestamps,
211                                        const EGLnsecsANDROID *values);
212 
213 // EGL_ANDROID_get_native_client_buffer
214 bool ValidateGetNativeClientBufferANDROID(const ValidationContext *val,
215                                           const struct AHardwareBuffer *buffer);
216 
217 // EGL_ANDROID_native_fence_sync
218 bool ValidateDupNativeFenceFDANDROID(const ValidationContext *val,
219                                      const egl::Display *dpyPacked,
220                                      egl::SyncID syncPacked);
221 
222 // EGL_ANDROID_presentation_time
223 bool ValidatePresentationTimeANDROID(const ValidationContext *val,
224                                      const egl::Display *dpyPacked,
225                                      SurfaceID surfacePacked,
226                                      EGLnsecsANDROID time);
227 
228 // EGL_ANGLE_device_creation
229 bool ValidateCreateDeviceANGLE(const ValidationContext *val,
230                                EGLint device_type,
231                                const void *native_device,
232                                const EGLAttrib *attrib_list);
233 bool ValidateReleaseDeviceANGLE(const ValidationContext *val, const egl::Device *devicePacked);
234 
235 // EGL_ANGLE_device_vulkan
236 bool ValidateLockVulkanQueueANGLE(const ValidationContext *val, const egl::Display *dpyPacked);
237 bool ValidateUnlockVulkanQueueANGLE(const ValidationContext *val, const egl::Display *dpyPacked);
238 
239 // EGL_ANGLE_external_context_and_surface
240 bool ValidateAcquireExternalContextANGLE(const ValidationContext *val,
241                                          const egl::Display *dpyPacked,
242                                          SurfaceID drawAndReadPacked);
243 bool ValidateReleaseExternalContextANGLE(const ValidationContext *val,
244                                          const egl::Display *dpyPacked);
245 
246 // EGL_ANGLE_feature_control
247 bool ValidateQueryStringiANGLE(const ValidationContext *val,
248                                const egl::Display *dpyPacked,
249                                EGLint name,
250                                EGLint index);
251 bool ValidateQueryDisplayAttribANGLE(const ValidationContext *val,
252                                      const egl::Display *dpyPacked,
253                                      EGLint attribute,
254                                      const EGLAttrib *value);
255 
256 // EGL_ANGLE_metal_shared_event_sync
257 bool ValidateCopyMetalSharedEventANGLE(const ValidationContext *val,
258                                        const egl::Display *dpyPacked,
259                                        egl::SyncID syncPacked);
260 
261 // EGL_ANGLE_no_error
262 bool ValidateSetValidationEnabledANGLE(const ValidationContext *val, EGLBoolean validationState);
263 
264 // EGL_ANGLE_power_preference
265 bool ValidateReleaseHighPowerGPUANGLE(const ValidationContext *val,
266                                       const egl::Display *dpyPacked,
267                                       gl::ContextID ctxPacked);
268 bool ValidateReacquireHighPowerGPUANGLE(const ValidationContext *val,
269                                         const egl::Display *dpyPacked,
270                                         gl::ContextID ctxPacked);
271 bool ValidateHandleGPUSwitchANGLE(const ValidationContext *val, const egl::Display *dpyPacked);
272 bool ValidateForceGPUSwitchANGLE(const ValidationContext *val,
273                                  const egl::Display *dpyPacked,
274                                  EGLint gpuIDHigh,
275                                  EGLint gpuIDLow);
276 
277 // EGL_ANGLE_prepare_swap_buffers
278 bool ValidatePrepareSwapBuffersANGLE(const ValidationContext *val,
279                                      const egl::Display *dpyPacked,
280                                      SurfaceID surfacePacked);
281 
282 // EGL_ANGLE_program_cache_control
283 bool ValidateProgramCacheGetAttribANGLE(const ValidationContext *val,
284                                         const egl::Display *dpyPacked,
285                                         EGLenum attrib);
286 bool ValidateProgramCacheQueryANGLE(const ValidationContext *val,
287                                     const egl::Display *dpyPacked,
288                                     EGLint index,
289                                     const void *key,
290                                     const EGLint *keysize,
291                                     const void *binary,
292                                     const EGLint *binarysize);
293 bool ValidateProgramCachePopulateANGLE(const ValidationContext *val,
294                                        const egl::Display *dpyPacked,
295                                        const void *key,
296                                        EGLint keysize,
297                                        const void *binary,
298                                        EGLint binarysize);
299 bool ValidateProgramCacheResizeANGLE(const ValidationContext *val,
300                                      const egl::Display *dpyPacked,
301                                      EGLint limit,
302                                      EGLint mode);
303 
304 // EGL_ANGLE_query_surface_pointer
305 bool ValidateQuerySurfacePointerANGLE(const ValidationContext *val,
306                                       const egl::Display *dpyPacked,
307                                       SurfaceID surfacePacked,
308                                       EGLint attribute,
309                                       void *const *value);
310 
311 // EGL_ANGLE_stream_producer_d3d_texture
312 bool ValidateCreateStreamProducerD3DTextureANGLE(const ValidationContext *val,
313                                                  const egl::Display *dpyPacked,
314                                                  const egl::Stream *streamPacked,
315                                                  const AttributeMap &attrib_listPacked);
316 bool ValidateStreamPostD3DTextureANGLE(const ValidationContext *val,
317                                        const egl::Display *dpyPacked,
318                                        const egl::Stream *streamPacked,
319                                        const void *texture,
320                                        const AttributeMap &attrib_listPacked);
321 
322 // EGL_ANGLE_sync_control_rate
323 bool ValidateGetMscRateANGLE(const ValidationContext *val,
324                              const egl::Display *dpyPacked,
325                              SurfaceID surfacePacked,
326                              const EGLint *numerator,
327                              const EGLint *denominator);
328 
329 // EGL_ANGLE_vulkan_image
330 bool ValidateExportVkImageANGLE(const ValidationContext *val,
331                                 const egl::Display *dpyPacked,
332                                 ImageID imagePacked,
333                                 const void *vk_image,
334                                 const void *vk_image_create_info);
335 
336 // EGL_ANGLE_wait_until_work_scheduled
337 bool ValidateWaitUntilWorkScheduledANGLE(const ValidationContext *val,
338                                          const egl::Display *dpyPacked);
339 
340 // EGL_CHROMIUM_sync_control
341 bool ValidateGetSyncValuesCHROMIUM(const ValidationContext *val,
342                                    const egl::Display *dpyPacked,
343                                    SurfaceID surfacePacked,
344                                    const EGLuint64KHR *ust,
345                                    const EGLuint64KHR *msc,
346                                    const EGLuint64KHR *sbc);
347 
348 // EGL_EXT_device_query
349 bool ValidateQueryDeviceAttribEXT(const ValidationContext *val,
350                                   const egl::Device *devicePacked,
351                                   EGLint attribute,
352                                   const EGLAttrib *value);
353 bool ValidateQueryDeviceStringEXT(const ValidationContext *val,
354                                   const egl::Device *devicePacked,
355                                   EGLint name);
356 bool ValidateQueryDisplayAttribEXT(const ValidationContext *val,
357                                    const egl::Display *dpyPacked,
358                                    EGLint attribute,
359                                    const EGLAttrib *value);
360 
361 // EGL_EXT_image_dma_buf_import_modifiers
362 bool ValidateQueryDmaBufFormatsEXT(const ValidationContext *val,
363                                    const egl::Display *dpyPacked,
364                                    EGLint max_formats,
365                                    const EGLint *formats,
366                                    const EGLint *num_formats);
367 bool ValidateQueryDmaBufModifiersEXT(const ValidationContext *val,
368                                      const egl::Display *dpyPacked,
369                                      EGLint format,
370                                      EGLint max_modifiers,
371                                      const EGLuint64KHR *modifiers,
372                                      const EGLBoolean *external_only,
373                                      const EGLint *num_modifiers);
374 
375 // EGL_EXT_platform_base
376 bool ValidateCreatePlatformPixmapSurfaceEXT(const ValidationContext *val,
377                                             const egl::Display *dpyPacked,
378                                             const egl::Config *configPacked,
379                                             const void *native_pixmap,
380                                             const AttributeMap &attrib_listPacked);
381 bool ValidateCreatePlatformWindowSurfaceEXT(const ValidationContext *val,
382                                             const egl::Display *dpyPacked,
383                                             const egl::Config *configPacked,
384                                             const void *native_window,
385                                             const AttributeMap &attrib_listPacked);
386 bool ValidateGetPlatformDisplayEXT(const ValidationContext *val,
387                                    EGLenum platform,
388                                    const void *native_display,
389                                    const AttributeMap &attrib_listPacked);
390 
391 // EGL_EXT_surface_compression
392 bool ValidateQuerySupportedCompressionRatesEXT(const ValidationContext *val,
393                                                const egl::Display *dpyPacked,
394                                                const egl::Config *configPacked,
395                                                const EGLAttrib *attrib_list,
396                                                const EGLint *rates,
397                                                EGLint rate_size,
398                                                const EGLint *num_rates);
399 
400 // EGL_KHR_debug
401 bool ValidateDebugMessageControlKHR(const ValidationContext *val,
402                                     EGLDEBUGPROCKHR callback,
403                                     const AttributeMap &attrib_listPacked);
404 bool ValidateLabelObjectKHR(const ValidationContext *val,
405                             const egl::Display *displayPacked,
406                             ObjectType objectTypePacked,
407                             EGLObjectKHR object,
408                             EGLLabelKHR label);
409 bool ValidateQueryDebugKHR(const ValidationContext *val, EGLint attribute, const EGLAttrib *value);
410 
411 // EGL_KHR_fence_sync
412 bool ValidateClientWaitSyncKHR(const ValidationContext *val,
413                                const egl::Display *dpyPacked,
414                                egl::SyncID syncPacked,
415                                EGLint flags,
416                                EGLTimeKHR timeout);
417 bool ValidateCreateSyncKHR(const ValidationContext *val,
418                            const egl::Display *dpyPacked,
419                            EGLenum type,
420                            const AttributeMap &attrib_listPacked);
421 bool ValidateDestroySyncKHR(const ValidationContext *val,
422                             const egl::Display *dpyPacked,
423                             egl::SyncID syncPacked);
424 bool ValidateGetSyncAttribKHR(const ValidationContext *val,
425                               const egl::Display *dpyPacked,
426                               egl::SyncID syncPacked,
427                               EGLint attribute,
428                               const EGLint *value);
429 
430 // EGL_KHR_image
431 bool ValidateCreateImageKHR(const ValidationContext *val,
432                             const egl::Display *dpyPacked,
433                             gl::ContextID ctxPacked,
434                             EGLenum target,
435                             EGLClientBuffer buffer,
436                             const AttributeMap &attrib_listPacked);
437 bool ValidateDestroyImageKHR(const ValidationContext *val,
438                              const egl::Display *dpyPacked,
439                              ImageID imagePacked);
440 
441 // EGL_KHR_lock_surface3
442 bool ValidateLockSurfaceKHR(const ValidationContext *val,
443                             const egl::Display *dpyPacked,
444                             SurfaceID surfacePacked,
445                             const AttributeMap &attrib_listPacked);
446 bool ValidateQuerySurface64KHR(const ValidationContext *val,
447                                const egl::Display *dpyPacked,
448                                SurfaceID surfacePacked,
449                                EGLint attribute,
450                                const EGLAttribKHR *value);
451 bool ValidateUnlockSurfaceKHR(const ValidationContext *val,
452                               const egl::Display *dpyPacked,
453                               SurfaceID surfacePacked);
454 
455 // EGL_KHR_partial_update
456 bool ValidateSetDamageRegionKHR(const ValidationContext *val,
457                                 const egl::Display *dpyPacked,
458                                 SurfaceID surfacePacked,
459                                 const EGLint *rects,
460                                 EGLint n_rects);
461 
462 // EGL_KHR_reusable_sync
463 bool ValidateSignalSyncKHR(const ValidationContext *val,
464                            const egl::Display *dpyPacked,
465                            egl::SyncID syncPacked,
466                            EGLenum mode);
467 
468 // EGL_KHR_stream
469 bool ValidateCreateStreamKHR(const ValidationContext *val,
470                              const egl::Display *dpyPacked,
471                              const AttributeMap &attrib_listPacked);
472 bool ValidateDestroyStreamKHR(const ValidationContext *val,
473                               const egl::Display *dpyPacked,
474                               const egl::Stream *streamPacked);
475 bool ValidateQueryStreamKHR(const ValidationContext *val,
476                             const egl::Display *dpyPacked,
477                             const egl::Stream *streamPacked,
478                             EGLenum attribute,
479                             const EGLint *value);
480 bool ValidateQueryStreamu64KHR(const ValidationContext *val,
481                                const egl::Display *dpyPacked,
482                                const egl::Stream *streamPacked,
483                                EGLenum attribute,
484                                const EGLuint64KHR *value);
485 bool ValidateStreamAttribKHR(const ValidationContext *val,
486                              const egl::Display *dpyPacked,
487                              const egl::Stream *streamPacked,
488                              EGLenum attribute,
489                              EGLint value);
490 
491 // EGL_KHR_stream_consumer_gltexture
492 bool ValidateStreamConsumerAcquireKHR(const ValidationContext *val,
493                                       const egl::Display *dpyPacked,
494                                       const egl::Stream *streamPacked);
495 bool ValidateStreamConsumerGLTextureExternalKHR(const ValidationContext *val,
496                                                 const egl::Display *dpyPacked,
497                                                 const egl::Stream *streamPacked);
498 bool ValidateStreamConsumerReleaseKHR(const ValidationContext *val,
499                                       const egl::Display *dpyPacked,
500                                       const egl::Stream *streamPacked);
501 
502 // EGL_KHR_swap_buffers_with_damage
503 bool ValidateSwapBuffersWithDamageKHR(const ValidationContext *val,
504                                       const egl::Display *dpyPacked,
505                                       SurfaceID surfacePacked,
506                                       const EGLint *rects,
507                                       EGLint n_rects);
508 
509 // EGL_KHR_wait_sync
510 bool ValidateWaitSyncKHR(const ValidationContext *val,
511                          const egl::Display *dpyPacked,
512                          egl::SyncID syncPacked,
513                          EGLint flags);
514 
515 // EGL_NV_post_sub_buffer
516 bool ValidatePostSubBufferNV(const ValidationContext *val,
517                              const egl::Display *dpyPacked,
518                              SurfaceID surfacePacked,
519                              EGLint x,
520                              EGLint y,
521                              EGLint width,
522                              EGLint height);
523 
524 // EGL_NV_stream_consumer_gltexture_yuv
525 bool ValidateStreamConsumerGLTextureExternalAttribsNV(const ValidationContext *val,
526                                                       const egl::Display *dpyPacked,
527                                                       const egl::Stream *streamPacked,
528                                                       const AttributeMap &attrib_listPacked);
529 }  // namespace egl
530 
531 #endif  // LIBANGLE_VALIDATION_EGL_AUTOGEN_H_
532