Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/angle
Path: blob/main_old/src/libEGL/libEGL_autogen.cpp
1693 views
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
// libEGL_autogen.cpp: Implements the exported EGL functions.
9
10
#include "anglebase/no_destructor.h"
11
#include "common/system_utils.h"
12
13
#include <memory>
14
15
#if defined(ANGLE_USE_EGL_LOADER)
16
# include "libEGL/egl_loader_autogen.h"
17
#else
18
# include "libGLESv2/entry_points_egl_autogen.h"
19
# include "libGLESv2/entry_points_egl_ext_autogen.h"
20
#endif // defined(ANGLE_USE_EGL_LOADER)
21
22
namespace
23
{
24
#if defined(ANGLE_USE_EGL_LOADER)
25
bool gLoaded = false;
26
27
std::unique_ptr<angle::Library> &EntryPointsLib()
28
{
29
static angle::base::NoDestructor<std::unique_ptr<angle::Library>> sEntryPointsLib;
30
return *sEntryPointsLib;
31
}
32
33
angle::GenericProc KHRONOS_APIENTRY GlobalLoad(const char *symbol)
34
{
35
return reinterpret_cast<angle::GenericProc>(EntryPointsLib()->getSymbol(symbol));
36
}
37
38
void EnsureEGLLoaded()
39
{
40
if (gLoaded)
41
{
42
return;
43
}
44
45
EntryPointsLib().reset(
46
angle::OpenSharedLibrary(ANGLE_GLESV2_LIBRARY_NAME, angle::SearchType::ModuleDir));
47
angle::LoadEGL_EGL(GlobalLoad);
48
if (!EGL_GetPlatformDisplay)
49
{
50
fprintf(stderr, "Error loading EGL entry points.\n");
51
}
52
else
53
{
54
gLoaded = true;
55
}
56
}
57
#else
58
void EnsureEGLLoaded() {}
59
#endif // defined(ANGLE_USE_EGL_LOADER)
60
} // anonymous namespace
61
62
extern "C" {
63
64
// EGL 1.0
65
EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy,
66
const EGLint *attrib_list,
67
EGLConfig *configs,
68
EGLint config_size,
69
EGLint *num_config)
70
{
71
EnsureEGLLoaded();
72
return EGL_ChooseConfig(dpy, attrib_list, configs, config_size, num_config);
73
}
74
75
EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy,
76
EGLSurface surface,
77
EGLNativePixmapType target)
78
{
79
EnsureEGLLoaded();
80
return EGL_CopyBuffers(dpy, surface, target);
81
}
82
83
EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy,
84
EGLConfig config,
85
EGLContext share_context,
86
const EGLint *attrib_list)
87
{
88
EnsureEGLLoaded();
89
return EGL_CreateContext(dpy, config, share_context, attrib_list);
90
}
91
92
EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy,
93
EGLConfig config,
94
const EGLint *attrib_list)
95
{
96
EnsureEGLLoaded();
97
return EGL_CreatePbufferSurface(dpy, config, attrib_list);
98
}
99
100
EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy,
101
EGLConfig config,
102
EGLNativePixmapType pixmap,
103
const EGLint *attrib_list)
104
{
105
EnsureEGLLoaded();
106
return EGL_CreatePixmapSurface(dpy, config, pixmap, attrib_list);
107
}
108
109
EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy,
110
EGLConfig config,
111
EGLNativeWindowType win,
112
const EGLint *attrib_list)
113
{
114
EnsureEGLLoaded();
115
return EGL_CreateWindowSurface(dpy, config, win, attrib_list);
116
}
117
118
EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx)
119
{
120
EnsureEGLLoaded();
121
return EGL_DestroyContext(dpy, ctx);
122
}
123
124
EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface)
125
{
126
EnsureEGLLoaded();
127
return EGL_DestroySurface(dpy, surface);
128
}
129
130
EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy,
131
EGLConfig config,
132
EGLint attribute,
133
EGLint *value)
134
{
135
EnsureEGLLoaded();
136
return EGL_GetConfigAttrib(dpy, config, attribute, value);
137
}
138
139
EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy,
140
EGLConfig *configs,
141
EGLint config_size,
142
EGLint *num_config)
143
{
144
EnsureEGLLoaded();
145
return EGL_GetConfigs(dpy, configs, config_size, num_config);
146
}
147
148
EGLDisplay EGLAPIENTRY eglGetCurrentDisplay()
149
{
150
EnsureEGLLoaded();
151
return EGL_GetCurrentDisplay();
152
}
153
154
EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw)
155
{
156
EnsureEGLLoaded();
157
return EGL_GetCurrentSurface(readdraw);
158
}
159
160
EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id)
161
{
162
EnsureEGLLoaded();
163
return EGL_GetDisplay(display_id);
164
}
165
166
EGLint EGLAPIENTRY eglGetError()
167
{
168
EnsureEGLLoaded();
169
return EGL_GetError();
170
}
171
172
__eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress(const char *procname)
173
{
174
EnsureEGLLoaded();
175
return EGL_GetProcAddress(procname);
176
}
177
178
EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
179
{
180
EnsureEGLLoaded();
181
return EGL_Initialize(dpy, major, minor);
182
}
183
184
EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy,
185
EGLSurface draw,
186
EGLSurface read,
187
EGLContext ctx)
188
{
189
EnsureEGLLoaded();
190
return EGL_MakeCurrent(dpy, draw, read, ctx);
191
}
192
193
EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy,
194
EGLContext ctx,
195
EGLint attribute,
196
EGLint *value)
197
{
198
EnsureEGLLoaded();
199
return EGL_QueryContext(dpy, ctx, attribute, value);
200
}
201
202
const char *EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name)
203
{
204
EnsureEGLLoaded();
205
return EGL_QueryString(dpy, name);
206
}
207
208
EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy,
209
EGLSurface surface,
210
EGLint attribute,
211
EGLint *value)
212
{
213
EnsureEGLLoaded();
214
return EGL_QuerySurface(dpy, surface, attribute, value);
215
}
216
217
EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
218
{
219
EnsureEGLLoaded();
220
return EGL_SwapBuffers(dpy, surface);
221
}
222
223
EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy)
224
{
225
EnsureEGLLoaded();
226
return EGL_Terminate(dpy);
227
}
228
229
EGLBoolean EGLAPIENTRY eglWaitGL()
230
{
231
EnsureEGLLoaded();
232
return EGL_WaitGL();
233
}
234
235
EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine)
236
{
237
EnsureEGLLoaded();
238
return EGL_WaitNative(engine);
239
}
240
241
// EGL 1.1
242
EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer)
243
{
244
EnsureEGLLoaded();
245
return EGL_BindTexImage(dpy, surface, buffer);
246
}
247
248
EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer)
249
{
250
EnsureEGLLoaded();
251
return EGL_ReleaseTexImage(dpy, surface, buffer);
252
}
253
254
EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy,
255
EGLSurface surface,
256
EGLint attribute,
257
EGLint value)
258
{
259
EnsureEGLLoaded();
260
return EGL_SurfaceAttrib(dpy, surface, attribute, value);
261
}
262
263
EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval)
264
{
265
EnsureEGLLoaded();
266
return EGL_SwapInterval(dpy, interval);
267
}
268
269
// EGL 1.2
270
EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api)
271
{
272
EnsureEGLLoaded();
273
return EGL_BindAPI(api);
274
}
275
276
EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer(EGLDisplay dpy,
277
EGLenum buftype,
278
EGLClientBuffer buffer,
279
EGLConfig config,
280
const EGLint *attrib_list)
281
{
282
EnsureEGLLoaded();
283
return EGL_CreatePbufferFromClientBuffer(dpy, buftype, buffer, config, attrib_list);
284
}
285
286
EGLenum EGLAPIENTRY eglQueryAPI()
287
{
288
EnsureEGLLoaded();
289
return EGL_QueryAPI();
290
}
291
292
EGLBoolean EGLAPIENTRY eglReleaseThread()
293
{
294
EnsureEGLLoaded();
295
return EGL_ReleaseThread();
296
}
297
298
EGLBoolean EGLAPIENTRY eglWaitClient()
299
{
300
EnsureEGLLoaded();
301
return EGL_WaitClient();
302
}
303
304
// EGL 1.4
305
EGLContext EGLAPIENTRY eglGetCurrentContext()
306
{
307
EnsureEGLLoaded();
308
return EGL_GetCurrentContext();
309
}
310
311
// EGL 1.5
312
EGLint EGLAPIENTRY eglClientWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout)
313
{
314
EnsureEGLLoaded();
315
return EGL_ClientWaitSync(dpy, sync, flags, timeout);
316
}
317
318
EGLImage EGLAPIENTRY eglCreateImage(EGLDisplay dpy,
319
EGLContext ctx,
320
EGLenum target,
321
EGLClientBuffer buffer,
322
const EGLAttrib *attrib_list)
323
{
324
EnsureEGLLoaded();
325
return EGL_CreateImage(dpy, ctx, target, buffer, attrib_list);
326
}
327
328
EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface(EGLDisplay dpy,
329
EGLConfig config,
330
void *native_pixmap,
331
const EGLAttrib *attrib_list)
332
{
333
EnsureEGLLoaded();
334
return EGL_CreatePlatformPixmapSurface(dpy, config, native_pixmap, attrib_list);
335
}
336
337
EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface(EGLDisplay dpy,
338
EGLConfig config,
339
void *native_window,
340
const EGLAttrib *attrib_list)
341
{
342
EnsureEGLLoaded();
343
return EGL_CreatePlatformWindowSurface(dpy, config, native_window, attrib_list);
344
}
345
346
EGLSync EGLAPIENTRY eglCreateSync(EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list)
347
{
348
EnsureEGLLoaded();
349
return EGL_CreateSync(dpy, type, attrib_list);
350
}
351
352
EGLBoolean EGLAPIENTRY eglDestroyImage(EGLDisplay dpy, EGLImage image)
353
{
354
EnsureEGLLoaded();
355
return EGL_DestroyImage(dpy, image);
356
}
357
358
EGLBoolean EGLAPIENTRY eglDestroySync(EGLDisplay dpy, EGLSync sync)
359
{
360
EnsureEGLLoaded();
361
return EGL_DestroySync(dpy, sync);
362
}
363
364
EGLDisplay EGLAPIENTRY eglGetPlatformDisplay(EGLenum platform,
365
void *native_display,
366
const EGLAttrib *attrib_list)
367
{
368
EnsureEGLLoaded();
369
return EGL_GetPlatformDisplay(platform, native_display, attrib_list);
370
}
371
372
EGLBoolean EGLAPIENTRY eglGetSyncAttrib(EGLDisplay dpy,
373
EGLSync sync,
374
EGLint attribute,
375
EGLAttrib *value)
376
{
377
EnsureEGLLoaded();
378
return EGL_GetSyncAttrib(dpy, sync, attribute, value);
379
}
380
381
EGLBoolean EGLAPIENTRY eglWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags)
382
{
383
EnsureEGLLoaded();
384
return EGL_WaitSync(dpy, sync, flags);
385
}
386
387
// EGL_ANDROID_blob_cache
388
void EGLAPIENTRY eglSetBlobCacheFuncsANDROID(EGLDisplay dpy,
389
EGLSetBlobFuncANDROID set,
390
EGLGetBlobFuncANDROID get)
391
{
392
EnsureEGLLoaded();
393
return EGL_SetBlobCacheFuncsANDROID(dpy, set, get);
394
}
395
396
// EGL_ANDROID_create_native_client_buffer
397
EGLClientBuffer EGLAPIENTRY eglCreateNativeClientBufferANDROID(const EGLint *attrib_list)
398
{
399
EnsureEGLLoaded();
400
return EGL_CreateNativeClientBufferANDROID(attrib_list);
401
}
402
403
// EGL_ANDROID_get_frame_timestamps
404
EGLBoolean EGLAPIENTRY eglGetCompositorTimingSupportedANDROID(EGLDisplay dpy,
405
EGLSurface surface,
406
EGLint name)
407
{
408
EnsureEGLLoaded();
409
return EGL_GetCompositorTimingSupportedANDROID(dpy, surface, name);
410
}
411
412
EGLBoolean EGLAPIENTRY eglGetCompositorTimingANDROID(EGLDisplay dpy,
413
EGLSurface surface,
414
EGLint numTimestamps,
415
const EGLint *names,
416
EGLnsecsANDROID *values)
417
{
418
EnsureEGLLoaded();
419
return EGL_GetCompositorTimingANDROID(dpy, surface, numTimestamps, names, values);
420
}
421
422
EGLBoolean EGLAPIENTRY eglGetNextFrameIdANDROID(EGLDisplay dpy,
423
EGLSurface surface,
424
EGLuint64KHR *frameId)
425
{
426
EnsureEGLLoaded();
427
return EGL_GetNextFrameIdANDROID(dpy, surface, frameId);
428
}
429
430
EGLBoolean EGLAPIENTRY eglGetFrameTimestampSupportedANDROID(EGLDisplay dpy,
431
EGLSurface surface,
432
EGLint timestamp)
433
{
434
EnsureEGLLoaded();
435
return EGL_GetFrameTimestampSupportedANDROID(dpy, surface, timestamp);
436
}
437
438
EGLBoolean EGLAPIENTRY eglGetFrameTimestampsANDROID(EGLDisplay dpy,
439
EGLSurface surface,
440
EGLuint64KHR frameId,
441
EGLint numTimestamps,
442
const EGLint *timestamps,
443
EGLnsecsANDROID *values)
444
{
445
EnsureEGLLoaded();
446
return EGL_GetFrameTimestampsANDROID(dpy, surface, frameId, numTimestamps, timestamps, values);
447
}
448
449
// EGL_ANDROID_get_native_client_buffer
450
EGLClientBuffer EGLAPIENTRY eglGetNativeClientBufferANDROID(const struct AHardwareBuffer *buffer)
451
{
452
EnsureEGLLoaded();
453
return EGL_GetNativeClientBufferANDROID(buffer);
454
}
455
456
// EGL_ANDROID_native_fence_sync
457
EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID(EGLDisplay dpy, EGLSyncKHR sync)
458
{
459
EnsureEGLLoaded();
460
return EGL_DupNativeFenceFDANDROID(dpy, sync);
461
}
462
463
// EGL_ANDROID_presentation_time
464
EGLBoolean EGLAPIENTRY eglPresentationTimeANDROID(EGLDisplay dpy,
465
EGLSurface surface,
466
EGLnsecsANDROID time)
467
{
468
EnsureEGLLoaded();
469
return EGL_PresentationTimeANDROID(dpy, surface, time);
470
}
471
472
// EGL_ANGLE_device_creation
473
EGLDeviceEXT EGLAPIENTRY eglCreateDeviceANGLE(EGLint device_type,
474
void *native_device,
475
const EGLAttrib *attrib_list)
476
{
477
EnsureEGLLoaded();
478
return EGL_CreateDeviceANGLE(device_type, native_device, attrib_list);
479
}
480
481
EGLBoolean EGLAPIENTRY eglReleaseDeviceANGLE(EGLDeviceEXT device)
482
{
483
EnsureEGLLoaded();
484
return EGL_ReleaseDeviceANGLE(device);
485
}
486
487
// EGL_ANGLE_feature_control
488
const char *EGLAPIENTRY eglQueryStringiANGLE(EGLDisplay dpy, EGLint name, EGLint index)
489
{
490
EnsureEGLLoaded();
491
return EGL_QueryStringiANGLE(dpy, name, index);
492
}
493
494
EGLBoolean EGLAPIENTRY eglQueryDisplayAttribANGLE(EGLDisplay dpy,
495
EGLint attribute,
496
EGLAttrib *value)
497
{
498
EnsureEGLLoaded();
499
return EGL_QueryDisplayAttribANGLE(dpy, attribute, value);
500
}
501
502
// EGL_ANGLE_power_preference
503
void EGLAPIENTRY eglReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx)
504
{
505
EnsureEGLLoaded();
506
return EGL_ReleaseHighPowerGPUANGLE(dpy, ctx);
507
}
508
509
void EGLAPIENTRY eglReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx)
510
{
511
EnsureEGLLoaded();
512
return EGL_ReacquireHighPowerGPUANGLE(dpy, ctx);
513
}
514
515
void EGLAPIENTRY eglHandleGPUSwitchANGLE(EGLDisplay dpy)
516
{
517
EnsureEGLLoaded();
518
return EGL_HandleGPUSwitchANGLE(dpy);
519
}
520
521
// EGL_ANGLE_program_cache_control
522
EGLint EGLAPIENTRY eglProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib)
523
{
524
EnsureEGLLoaded();
525
return EGL_ProgramCacheGetAttribANGLE(dpy, attrib);
526
}
527
528
void EGLAPIENTRY eglProgramCacheQueryANGLE(EGLDisplay dpy,
529
EGLint index,
530
void *key,
531
EGLint *keysize,
532
void *binary,
533
EGLint *binarysize)
534
{
535
EnsureEGLLoaded();
536
return EGL_ProgramCacheQueryANGLE(dpy, index, key, keysize, binary, binarysize);
537
}
538
539
void EGLAPIENTRY eglProgramCachePopulateANGLE(EGLDisplay dpy,
540
const void *key,
541
EGLint keysize,
542
const void *binary,
543
EGLint binarysize)
544
{
545
EnsureEGLLoaded();
546
return EGL_ProgramCachePopulateANGLE(dpy, key, keysize, binary, binarysize);
547
}
548
549
EGLint EGLAPIENTRY eglProgramCacheResizeANGLE(EGLDisplay dpy, EGLint limit, EGLint mode)
550
{
551
EnsureEGLLoaded();
552
return EGL_ProgramCacheResizeANGLE(dpy, limit, mode);
553
}
554
555
// EGL_ANGLE_query_surface_pointer
556
EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE(EGLDisplay dpy,
557
EGLSurface surface,
558
EGLint attribute,
559
void **value)
560
{
561
EnsureEGLLoaded();
562
return EGL_QuerySurfacePointerANGLE(dpy, surface, attribute, value);
563
}
564
565
// EGL_ANGLE_stream_producer_d3d_texture
566
EGLBoolean EGLAPIENTRY eglCreateStreamProducerD3DTextureANGLE(EGLDisplay dpy,
567
EGLStreamKHR stream,
568
const EGLAttrib *attrib_list)
569
{
570
EnsureEGLLoaded();
571
return EGL_CreateStreamProducerD3DTextureANGLE(dpy, stream, attrib_list);
572
}
573
574
EGLBoolean EGLAPIENTRY eglStreamPostD3DTextureANGLE(EGLDisplay dpy,
575
EGLStreamKHR stream,
576
void *texture,
577
const EGLAttrib *attrib_list)
578
{
579
EnsureEGLLoaded();
580
return EGL_StreamPostD3DTextureANGLE(dpy, stream, texture, attrib_list);
581
}
582
583
// EGL_ANGLE_swap_with_frame_token
584
EGLBoolean EGLAPIENTRY eglSwapBuffersWithFrameTokenANGLE(EGLDisplay dpy,
585
EGLSurface surface,
586
EGLFrameTokenANGLE frametoken)
587
{
588
EnsureEGLLoaded();
589
return EGL_SwapBuffersWithFrameTokenANGLE(dpy, surface, frametoken);
590
}
591
592
// EGL_ANGLE_sync_control_rate
593
EGLBoolean EGLAPIENTRY eglGetMscRateANGLE(EGLDisplay dpy,
594
EGLSurface surface,
595
EGLint *numerator,
596
EGLint *denominator)
597
{
598
EnsureEGLLoaded();
599
return EGL_GetMscRateANGLE(dpy, surface, numerator, denominator);
600
}
601
602
// EGL_CHROMIUM_sync_control
603
EGLBoolean EGLAPIENTRY eglGetSyncValuesCHROMIUM(EGLDisplay dpy,
604
EGLSurface surface,
605
EGLuint64KHR *ust,
606
EGLuint64KHR *msc,
607
EGLuint64KHR *sbc)
608
{
609
EnsureEGLLoaded();
610
return EGL_GetSyncValuesCHROMIUM(dpy, surface, ust, msc, sbc);
611
}
612
613
// EGL_EXT_device_query
614
EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT(EGLDeviceEXT device,
615
EGLint attribute,
616
EGLAttrib *value)
617
{
618
EnsureEGLLoaded();
619
return EGL_QueryDeviceAttribEXT(device, attribute, value);
620
}
621
622
const char *EGLAPIENTRY eglQueryDeviceStringEXT(EGLDeviceEXT device, EGLint name)
623
{
624
EnsureEGLLoaded();
625
return EGL_QueryDeviceStringEXT(device, name);
626
}
627
628
EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT(EGLDisplay dpy, EGLint attribute, EGLAttrib *value)
629
{
630
EnsureEGLLoaded();
631
return EGL_QueryDisplayAttribEXT(dpy, attribute, value);
632
}
633
634
// EGL_EXT_platform_base
635
EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT(EGLDisplay dpy,
636
EGLConfig config,
637
void *native_pixmap,
638
const EGLint *attrib_list)
639
{
640
EnsureEGLLoaded();
641
return EGL_CreatePlatformPixmapSurfaceEXT(dpy, config, native_pixmap, attrib_list);
642
}
643
644
EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT(EGLDisplay dpy,
645
EGLConfig config,
646
void *native_window,
647
const EGLint *attrib_list)
648
{
649
EnsureEGLLoaded();
650
return EGL_CreatePlatformWindowSurfaceEXT(dpy, config, native_window, attrib_list);
651
}
652
653
EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT(EGLenum platform,
654
void *native_display,
655
const EGLint *attrib_list)
656
{
657
EnsureEGLLoaded();
658
return EGL_GetPlatformDisplayEXT(platform, native_display, attrib_list);
659
}
660
661
// EGL_KHR_debug
662
EGLint EGLAPIENTRY eglDebugMessageControlKHR(EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list)
663
{
664
EnsureEGLLoaded();
665
return EGL_DebugMessageControlKHR(callback, attrib_list);
666
}
667
668
EGLint EGLAPIENTRY eglLabelObjectKHR(EGLDisplay display,
669
EGLenum objectType,
670
EGLObjectKHR object,
671
EGLLabelKHR label)
672
{
673
EnsureEGLLoaded();
674
return EGL_LabelObjectKHR(display, objectType, object, label);
675
}
676
677
EGLBoolean EGLAPIENTRY eglQueryDebugKHR(EGLint attribute, EGLAttrib *value)
678
{
679
EnsureEGLLoaded();
680
return EGL_QueryDebugKHR(attribute, value);
681
}
682
683
// EGL_KHR_fence_sync
684
EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy,
685
EGLSyncKHR sync,
686
EGLint flags,
687
EGLTimeKHR timeout)
688
{
689
EnsureEGLLoaded();
690
return EGL_ClientWaitSyncKHR(dpy, sync, flags, timeout);
691
}
692
693
EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list)
694
{
695
EnsureEGLLoaded();
696
return EGL_CreateSyncKHR(dpy, type, attrib_list);
697
}
698
699
EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync)
700
{
701
EnsureEGLLoaded();
702
return EGL_DestroySyncKHR(dpy, sync);
703
}
704
705
EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy,
706
EGLSyncKHR sync,
707
EGLint attribute,
708
EGLint *value)
709
{
710
EnsureEGLLoaded();
711
return EGL_GetSyncAttribKHR(dpy, sync, attribute, value);
712
}
713
714
// EGL_KHR_image
715
EGLImageKHR EGLAPIENTRY eglCreateImageKHR(EGLDisplay dpy,
716
EGLContext ctx,
717
EGLenum target,
718
EGLClientBuffer buffer,
719
const EGLint *attrib_list)
720
{
721
EnsureEGLLoaded();
722
return EGL_CreateImageKHR(dpy, ctx, target, buffer, attrib_list);
723
}
724
725
EGLBoolean EGLAPIENTRY eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR image)
726
{
727
EnsureEGLLoaded();
728
return EGL_DestroyImageKHR(dpy, image);
729
}
730
731
// EGL_KHR_reusable_sync
732
EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode)
733
{
734
EnsureEGLLoaded();
735
return EGL_SignalSyncKHR(dpy, sync, mode);
736
}
737
738
// EGL_KHR_stream
739
EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR(EGLDisplay dpy, const EGLint *attrib_list)
740
{
741
EnsureEGLLoaded();
742
return EGL_CreateStreamKHR(dpy, attrib_list);
743
}
744
745
EGLBoolean EGLAPIENTRY eglDestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream)
746
{
747
EnsureEGLLoaded();
748
return EGL_DestroyStreamKHR(dpy, stream);
749
}
750
751
EGLBoolean EGLAPIENTRY eglQueryStreamKHR(EGLDisplay dpy,
752
EGLStreamKHR stream,
753
EGLenum attribute,
754
EGLint *value)
755
{
756
EnsureEGLLoaded();
757
return EGL_QueryStreamKHR(dpy, stream, attribute, value);
758
}
759
760
EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR(EGLDisplay dpy,
761
EGLStreamKHR stream,
762
EGLenum attribute,
763
EGLuint64KHR *value)
764
{
765
EnsureEGLLoaded();
766
return EGL_QueryStreamu64KHR(dpy, stream, attribute, value);
767
}
768
769
EGLBoolean EGLAPIENTRY eglStreamAttribKHR(EGLDisplay dpy,
770
EGLStreamKHR stream,
771
EGLenum attribute,
772
EGLint value)
773
{
774
EnsureEGLLoaded();
775
return EGL_StreamAttribKHR(dpy, stream, attribute, value);
776
}
777
778
// EGL_KHR_stream_consumer_gltexture
779
EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream)
780
{
781
EnsureEGLLoaded();
782
return EGL_StreamConsumerAcquireKHR(dpy, stream);
783
}
784
785
EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream)
786
{
787
EnsureEGLLoaded();
788
return EGL_StreamConsumerGLTextureExternalKHR(dpy, stream);
789
}
790
791
EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream)
792
{
793
EnsureEGLLoaded();
794
return EGL_StreamConsumerReleaseKHR(dpy, stream);
795
}
796
797
// EGL_KHR_swap_buffers_with_damage
798
EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR(EGLDisplay dpy,
799
EGLSurface surface,
800
const EGLint *rects,
801
EGLint n_rects)
802
{
803
EnsureEGLLoaded();
804
return EGL_SwapBuffersWithDamageKHR(dpy, surface, rects, n_rects);
805
}
806
807
// EGL_KHR_wait_sync
808
EGLint EGLAPIENTRY eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags)
809
{
810
EnsureEGLLoaded();
811
return EGL_WaitSyncKHR(dpy, sync, flags);
812
}
813
814
// EGL_NV_post_sub_buffer
815
EGLBoolean EGLAPIENTRY eglPostSubBufferNV(EGLDisplay dpy,
816
EGLSurface surface,
817
EGLint x,
818
EGLint y,
819
EGLint width,
820
EGLint height)
821
{
822
EnsureEGLLoaded();
823
return EGL_PostSubBufferNV(dpy, surface, x, y, width, height);
824
}
825
826
// EGL_NV_stream_consumer_gltexture_yuv
827
EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalAttribsNV(EGLDisplay dpy,
828
EGLStreamKHR stream,
829
const EGLAttrib *attrib_list)
830
{
831
EnsureEGLLoaded();
832
return EGL_StreamConsumerGLTextureExternalAttribsNV(dpy, stream, attrib_list);
833
}
834
835
} // extern "C"
836
837