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