The open source OpenXR runtime

external: Update EGL bindings and more extensions

+163 -41
+46
src/external/glad/command.sh
··· 1 + # SPDX-FileCopyrightText: 2020, Collabora, Ltd. and the Monado contributors 2 + # SPDX-License-Identifier: CC0-1.0 3 + 4 + # 5 + # To install glad2 as a user on your system. 6 + # 7 + # git clone <glad-repo> 8 + # git checkout glad2 9 + # pip3 install --user . 10 + # 11 + 12 + # command line (for the glad2 branch!) 13 + 14 + glad --merge \ 15 + --api='gl:core=4.5,gles2=3.2,egl=1.4' \ 16 + --extensions=\ 17 + GL_EXT_external_buffer,\ 18 + GL_EXT_memory_object,\ 19 + GL_EXT_memory_object_fd,\ 20 + GL_EXT_memory_object_win32,\ 21 + GL_EXT_YUV_target,\ 22 + GL_EXT_sRGB,\ 23 + GL_EXT_EGL_image_storage,\ 24 + GL_OES_depth_texture,\ 25 + GL_OES_rgb8_rgba8,\ 26 + GL_OES_packed_depth_stencil,\ 27 + GL_OES_EGL_image,\ 28 + GL_OES_EGL_image_external,\ 29 + GL_OES_EGL_image_external_essl3,\ 30 + EGL_KHR_create_context,\ 31 + EGL_KHR_gl_colorspace,\ 32 + EGL_KHR_fence_sync,\ 33 + EGL_KHR_reusable_sync,\ 34 + EGL_KHR_wait_sync,\ 35 + EGL_KHR_image,\ 36 + EGL_KHR_image_base,\ 37 + EGL_KHR_platform_android,\ 38 + EGL_EXT_image_gl_colorspace,\ 39 + EGL_EXT_image_dma_buf_import,\ 40 + EGL_EXT_image_dma_buf_import_modifiers,\ 41 + EGL_ANDROID_get_native_client_buffer,\ 42 + EGL_ANDROID_image_native_buffer,\ 43 + EGL_ANDROID_native_fence_sync,\ 44 + EGL_ANDROID_front_buffer_auto_refresh,\ 45 + EGL_IMG_context_priority,\ 46 + --out-path . c
+11 -24
src/external/glad/include/EGL/eglplatform.h
··· 2 2 #define __eglplatform_h_ 3 3 4 4 /* 5 - ** Copyright (c) 2007-2016 The Khronos Group Inc. 6 - ** 7 - ** Permission is hereby granted, free of charge, to any person obtaining a 8 - ** copy of this software and/or associated documentation files (the 9 - ** "Materials"), to deal in the Materials without restriction, including 10 - ** without limitation the rights to use, copy, modify, merge, publish, 11 - ** distribute, sublicense, and/or sell copies of the Materials, and to 12 - ** permit persons to whom the Materials are furnished to do so, subject to 13 - ** the following conditions: 14 - ** 15 - ** The above copyright notice and this permission notice shall be included 16 - ** in all copies or substantial portions of the Materials. 17 - ** 18 - ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19 - ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 - ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 - ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 - ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 - ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 - ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 5 + ** Copyright 2007-2020 The Khronos Group Inc. 6 + ** SPDX-License-Identifier: Apache-2.0 25 7 */ 26 8 27 9 /* Platform-specific types and definitions for egl.h 28 - * $Revision: 30994 $ on $Date: 2015-04-30 13:36:48 -0700 (Thu, 30 Apr 2015) $ 29 10 * 30 11 * Adopters may modify khrplatform.h and this file to suit their platform. 31 12 * You are encouraged to submit all modifications to the Khronos group so that 32 13 * they can be included in future versions of this file. Please submit changes 33 - * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) 34 - * by filing a bug against product "EGL" component "Registry". 14 + * by filing an issue or pull request on the public Khronos EGL Registry, at 15 + * https://www.github.com/KhronosGroup/EGL-Registry/ 35 16 */ 36 17 37 18 #include <KHR/khrplatform.h> ··· 67 48 * implementations. 68 49 */ 69 50 70 - #if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ 51 + #if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES) 52 + 53 + typedef void *EGLNativeDisplayType; 54 + typedef void *EGLNativePixmapType; 55 + typedef void *EGLNativeWindowType; 56 + 57 + #elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ 71 58 #ifndef WIN32_LEAN_AND_MEAN 72 59 #define WIN32_LEAN_AND_MEAN 1 73 60 #endif
+62 -4
src/external/glad/include/glad/egl.h
··· 1 1 /** 2 - * Loader generated by glad 2.0.0-beta on Wed Aug 19 18:16:11 2020 2 + * Loader generated by glad 2.0.0-beta on Fri Dec 18 17:45:30 2020 3 3 * 4 4 * Generator: C/C++ 5 5 * Specification: egl 6 - * Extensions: 12 6 + * Extensions: 16 7 7 * 8 8 * APIs: 9 9 * - egl=1.4 ··· 18 18 * - ON_DEMAND = False 19 19 * 20 20 * Commandline: 21 - * --merge --api='egl=1.4' --extensions='EGL_ANDROID_front_buffer_auto_refresh,EGL_ANDROID_get_native_client_buffer,EGL_ANDROID_image_native_buffer,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_EXT_image_gl_colorspace,EGL_IMG_context_priority,EGL_KHR_create_context,EGL_KHR_gl_colorspace,EGL_KHR_image,EGL_KHR_image_base,EGL_KHR_platform_android' c 21 + * --merge --api='egl=1.4' --extensions='EGL_ANDROID_front_buffer_auto_refresh,EGL_ANDROID_get_native_client_buffer,EGL_ANDROID_image_native_buffer,EGL_ANDROID_native_fence_sync,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_EXT_image_gl_colorspace,EGL_IMG_context_priority,EGL_KHR_create_context,EGL_KHR_fence_sync,EGL_KHR_gl_colorspace,EGL_KHR_image,EGL_KHR_image_base,EGL_KHR_platform_android,EGL_KHR_reusable_sync,EGL_KHR_wait_sync' c 22 22 * 23 23 * Online: 24 - * http://glad.sh/#api=egl%3D1.4&extensions=EGL_ANDROID_front_buffer_auto_refresh%2CEGL_ANDROID_get_native_client_buffer%2CEGL_ANDROID_image_native_buffer%2CEGL_EXT_image_dma_buf_import%2CEGL_EXT_image_dma_buf_import_modifiers%2CEGL_EXT_image_gl_colorspace%2CEGL_IMG_context_priority%2CEGL_KHR_create_context%2CEGL_KHR_gl_colorspace%2CEGL_KHR_image%2CEGL_KHR_image_base%2CEGL_KHR_platform_android&generator=c&options=MERGE 24 + * http://glad.sh/#api=egl%3D1.4&extensions=EGL_ANDROID_front_buffer_auto_refresh%2CEGL_ANDROID_get_native_client_buffer%2CEGL_ANDROID_image_native_buffer%2CEGL_ANDROID_native_fence_sync%2CEGL_EXT_image_dma_buf_import%2CEGL_EXT_image_dma_buf_import_modifiers%2CEGL_EXT_image_gl_colorspace%2CEGL_IMG_context_priority%2CEGL_KHR_create_context%2CEGL_KHR_fence_sync%2CEGL_KHR_gl_colorspace%2CEGL_KHR_image%2CEGL_KHR_image_base%2CEGL_KHR_platform_android%2CEGL_KHR_reusable_sync%2CEGL_KHR_wait_sync&generator=c&options=MERGE 25 25 * 26 26 */ 27 27 ··· 178 178 #define EGL_COLORSPACE_LINEAR 0x308A 179 179 #define EGL_COLORSPACE_sRGB 0x3089 180 180 #define EGL_COLOR_BUFFER_TYPE 0x303F 181 + #define EGL_CONDITION_SATISFIED 0x30F6 182 + #define EGL_CONDITION_SATISFIED_KHR 0x30F6 181 183 #define EGL_CONFIG_CAVEAT 0x3027 182 184 #define EGL_CONFIG_ID 0x3028 183 185 #define EGL_CONFORMANT 0x3042 ··· 231 233 #define EGL_DRAW 0x3059 232 234 #define EGL_EXTENSIONS 0x3055 233 235 #define EGL_FALSE 0 236 + #define EGL_FOREVER 0xFFFFFFFFFFFFFFFF 237 + #define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFF 234 238 #define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C 235 239 #define EGL_GL_COLORSPACE 0x309D 236 240 #define EGL_GL_COLORSPACE_DEFAULT_EXT 0x314D ··· 275 279 #define EGL_NO_CONTEXT EGL_CAST(EGLContext,0) 276 280 #define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0) 277 281 #define EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR,0) 282 + #define EGL_NO_NATIVE_FENCE_FD_ANDROID -1 278 283 #define EGL_NO_RESET_NOTIFICATION 0x31BE 279 284 #define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE 280 285 #define EGL_NO_SURFACE EGL_CAST(EGLSurface,0) 286 + #define EGL_NO_SYNC EGL_CAST(EGLSync,0) 287 + #define EGL_NO_SYNC_KHR EGL_CAST(EGLSync,0) 281 288 #define EGL_NO_TEXTURE 0x305C 282 289 #define EGL_OPENGL_API 0x30A2 283 290 #define EGL_OPENGL_BIT 0x0008 ··· 301 308 #define EGL_SAMPLES 0x3031 302 309 #define EGL_SAMPLE_BUFFERS 0x3032 303 310 #define EGL_SAMPLE_RANGE_HINT_EXT 0x327C 311 + #define EGL_SIGNALED 0x30F2 312 + #define EGL_SIGNALED_KHR 0x30F2 304 313 #define EGL_SINGLE_BUFFER 0x3085 305 314 #define EGL_SLOW_CONFIG 0x3050 306 315 #define EGL_STENCIL_SIZE 0x3026 ··· 308 317 #define EGL_SURFACE_TYPE 0x3033 309 318 #define EGL_SWAP_BEHAVIOR 0x3093 310 319 #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 320 + #define EGL_SYNC_CONDITION 0x30F8 321 + #define EGL_SYNC_CONDITION_KHR 0x30F8 322 + #define EGL_SYNC_FENCE 0x30F9 323 + #define EGL_SYNC_FENCE_KHR 0x30F9 324 + #define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001 325 + #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 326 + #define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 327 + #define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 328 + #define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 329 + #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0 330 + #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 331 + #define EGL_SYNC_REUSABLE_KHR 0x30FA 332 + #define EGL_SYNC_STATUS 0x30F1 333 + #define EGL_SYNC_STATUS_KHR 0x30F1 334 + #define EGL_SYNC_TYPE 0x30F7 335 + #define EGL_SYNC_TYPE_KHR 0x30F7 311 336 #define EGL_TEXTURE_2D 0x305F 312 337 #define EGL_TEXTURE_FORMAT 0x3080 313 338 #define EGL_TEXTURE_RGB 0x305D 314 339 #define EGL_TEXTURE_RGBA 0x305E 315 340 #define EGL_TEXTURE_TARGET 0x3081 341 + #define EGL_TIMEOUT_EXPIRED 0x30F5 342 + #define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 316 343 #define EGL_TRANSPARENT_BLUE_VALUE 0x3035 317 344 #define EGL_TRANSPARENT_GREEN_VALUE 0x3036 318 345 #define EGL_TRANSPARENT_RED_VALUE 0x3037 ··· 320 347 #define EGL_TRANSPARENT_TYPE 0x3034 321 348 #define EGL_TRUE 1 322 349 #define EGL_UNKNOWN EGL_CAST(EGLint,-1) 350 + #define EGL_UNSIGNALED 0x30F3 351 + #define EGL_UNSIGNALED_KHR 0x30F3 323 352 #define EGL_VENDOR 0x3053 324 353 #define EGL_VERSION 0x3054 325 354 #define EGL_VERTICAL_RESOLUTION 0x3091 ··· 463 492 GLAD_API_CALL int GLAD_EGL_ANDROID_get_native_client_buffer; 464 493 #define EGL_ANDROID_image_native_buffer 1 465 494 GLAD_API_CALL int GLAD_EGL_ANDROID_image_native_buffer; 495 + #define EGL_ANDROID_native_fence_sync 1 496 + GLAD_API_CALL int GLAD_EGL_ANDROID_native_fence_sync; 466 497 #define EGL_EXT_image_dma_buf_import 1 467 498 GLAD_API_CALL int GLAD_EGL_EXT_image_dma_buf_import; 468 499 #define EGL_EXT_image_dma_buf_import_modifiers 1 ··· 473 504 GLAD_API_CALL int GLAD_EGL_IMG_context_priority; 474 505 #define EGL_KHR_create_context 1 475 506 GLAD_API_CALL int GLAD_EGL_KHR_create_context; 507 + #define EGL_KHR_fence_sync 1 508 + GLAD_API_CALL int GLAD_EGL_KHR_fence_sync; 476 509 #define EGL_KHR_gl_colorspace 1 477 510 GLAD_API_CALL int GLAD_EGL_KHR_gl_colorspace; 478 511 #define EGL_KHR_image 1 ··· 481 514 GLAD_API_CALL int GLAD_EGL_KHR_image_base; 482 515 #define EGL_KHR_platform_android 1 483 516 GLAD_API_CALL int GLAD_EGL_KHR_platform_android; 517 + #define EGL_KHR_reusable_sync 1 518 + GLAD_API_CALL int GLAD_EGL_KHR_reusable_sync; 519 + #define EGL_KHR_wait_sync 1 520 + GLAD_API_CALL int GLAD_EGL_KHR_wait_sync; 484 521 485 522 486 523 typedef EGLBoolean (GLAD_API_PTR *PFNEGLBINDAPIPROC)(EGLenum api); 487 524 typedef EGLBoolean (GLAD_API_PTR *PFNEGLBINDTEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer); 488 525 typedef EGLBoolean (GLAD_API_PTR *PFNEGLCHOOSECONFIGPROC)(EGLDisplay dpy, const EGLint * attrib_list, EGLConfig * configs, EGLint config_size, EGLint * num_config); 526 + typedef EGLint (GLAD_API_PTR *PFNEGLCLIENTWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); 489 527 typedef EGLBoolean (GLAD_API_PTR *PFNEGLCOPYBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); 490 528 typedef EGLContext (GLAD_API_PTR *PFNEGLCREATECONTEXTPROC)(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list); 491 529 typedef EGLImageKHR (GLAD_API_PTR *PFNEGLCREATEIMAGEKHRPROC)(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint * attrib_list); 492 530 typedef EGLSurface (GLAD_API_PTR *PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC)(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list); 493 531 typedef EGLSurface (GLAD_API_PTR *PFNEGLCREATEPBUFFERSURFACEPROC)(EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list); 494 532 typedef EGLSurface (GLAD_API_PTR *PFNEGLCREATEPIXMAPSURFACEPROC)(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list); 533 + typedef EGLSyncKHR (GLAD_API_PTR *PFNEGLCREATESYNCKHRPROC)(EGLDisplay dpy, EGLenum type, const EGLint * attrib_list); 495 534 typedef EGLSurface (GLAD_API_PTR *PFNEGLCREATEWINDOWSURFACEPROC)(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list); 496 535 typedef EGLBoolean (GLAD_API_PTR *PFNEGLDESTROYCONTEXTPROC)(EGLDisplay dpy, EGLContext ctx); 497 536 typedef EGLBoolean (GLAD_API_PTR *PFNEGLDESTROYIMAGEKHRPROC)(EGLDisplay dpy, EGLImageKHR image); 498 537 typedef EGLBoolean (GLAD_API_PTR *PFNEGLDESTROYSURFACEPROC)(EGLDisplay dpy, EGLSurface surface); 538 + typedef EGLBoolean (GLAD_API_PTR *PFNEGLDESTROYSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync); 539 + typedef EGLint (GLAD_API_PTR *PFNEGLDUPNATIVEFENCEFDANDROIDPROC)(EGLDisplay dpy, EGLSyncKHR sync); 499 540 typedef EGLBoolean (GLAD_API_PTR *PFNEGLGETCONFIGATTRIBPROC)(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value); 500 541 typedef EGLBoolean (GLAD_API_PTR *PFNEGLGETCONFIGSPROC)(EGLDisplay dpy, EGLConfig * configs, EGLint config_size, EGLint * num_config); 501 542 typedef EGLContext (GLAD_API_PTR *PFNEGLGETCURRENTCONTEXTPROC)(void); ··· 505 546 typedef EGLint (GLAD_API_PTR *PFNEGLGETERRORPROC)(void); 506 547 typedef EGLClientBuffer (GLAD_API_PTR *PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC)(const struct AHardwareBuffer * buffer); 507 548 typedef __eglMustCastToProperFunctionPointerType (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char * procname); 549 + typedef EGLBoolean (GLAD_API_PTR *PFNEGLGETSYNCATTRIBKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint * value); 508 550 typedef EGLBoolean (GLAD_API_PTR *PFNEGLINITIALIZEPROC)(EGLDisplay dpy, EGLint * major, EGLint * minor); 509 551 typedef EGLBoolean (GLAD_API_PTR *PFNEGLMAKECURRENTPROC)(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); 510 552 typedef EGLenum (GLAD_API_PTR *PFNEGLQUERYAPIPROC)(void); ··· 515 557 typedef EGLBoolean (GLAD_API_PTR *PFNEGLQUERYSURFACEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint * value); 516 558 typedef EGLBoolean (GLAD_API_PTR *PFNEGLRELEASETEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer); 517 559 typedef EGLBoolean (GLAD_API_PTR *PFNEGLRELEASETHREADPROC)(void); 560 + typedef EGLBoolean (GLAD_API_PTR *PFNEGLSIGNALSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); 518 561 typedef EGLBoolean (GLAD_API_PTR *PFNEGLSURFACEATTRIBPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); 519 562 typedef EGLBoolean (GLAD_API_PTR *PFNEGLSWAPBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface); 520 563 typedef EGLBoolean (GLAD_API_PTR *PFNEGLSWAPINTERVALPROC)(EGLDisplay dpy, EGLint interval); ··· 522 565 typedef EGLBoolean (GLAD_API_PTR *PFNEGLWAITCLIENTPROC)(void); 523 566 typedef EGLBoolean (GLAD_API_PTR *PFNEGLWAITGLPROC)(void); 524 567 typedef EGLBoolean (GLAD_API_PTR *PFNEGLWAITNATIVEPROC)(EGLint engine); 568 + typedef EGLint (GLAD_API_PTR *PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); 525 569 526 570 GLAD_API_CALL PFNEGLBINDAPIPROC glad_eglBindAPI; 527 571 #define eglBindAPI glad_eglBindAPI ··· 529 573 #define eglBindTexImage glad_eglBindTexImage 530 574 GLAD_API_CALL PFNEGLCHOOSECONFIGPROC glad_eglChooseConfig; 531 575 #define eglChooseConfig glad_eglChooseConfig 576 + GLAD_API_CALL PFNEGLCLIENTWAITSYNCKHRPROC glad_eglClientWaitSyncKHR; 577 + #define eglClientWaitSyncKHR glad_eglClientWaitSyncKHR 532 578 GLAD_API_CALL PFNEGLCOPYBUFFERSPROC glad_eglCopyBuffers; 533 579 #define eglCopyBuffers glad_eglCopyBuffers 534 580 GLAD_API_CALL PFNEGLCREATECONTEXTPROC glad_eglCreateContext; ··· 541 587 #define eglCreatePbufferSurface glad_eglCreatePbufferSurface 542 588 GLAD_API_CALL PFNEGLCREATEPIXMAPSURFACEPROC glad_eglCreatePixmapSurface; 543 589 #define eglCreatePixmapSurface glad_eglCreatePixmapSurface 590 + GLAD_API_CALL PFNEGLCREATESYNCKHRPROC glad_eglCreateSyncKHR; 591 + #define eglCreateSyncKHR glad_eglCreateSyncKHR 544 592 GLAD_API_CALL PFNEGLCREATEWINDOWSURFACEPROC glad_eglCreateWindowSurface; 545 593 #define eglCreateWindowSurface glad_eglCreateWindowSurface 546 594 GLAD_API_CALL PFNEGLDESTROYCONTEXTPROC glad_eglDestroyContext; ··· 549 597 #define eglDestroyImageKHR glad_eglDestroyImageKHR 550 598 GLAD_API_CALL PFNEGLDESTROYSURFACEPROC glad_eglDestroySurface; 551 599 #define eglDestroySurface glad_eglDestroySurface 600 + GLAD_API_CALL PFNEGLDESTROYSYNCKHRPROC glad_eglDestroySyncKHR; 601 + #define eglDestroySyncKHR glad_eglDestroySyncKHR 602 + GLAD_API_CALL PFNEGLDUPNATIVEFENCEFDANDROIDPROC glad_eglDupNativeFenceFDANDROID; 603 + #define eglDupNativeFenceFDANDROID glad_eglDupNativeFenceFDANDROID 552 604 GLAD_API_CALL PFNEGLGETCONFIGATTRIBPROC glad_eglGetConfigAttrib; 553 605 #define eglGetConfigAttrib glad_eglGetConfigAttrib 554 606 GLAD_API_CALL PFNEGLGETCONFIGSPROC glad_eglGetConfigs; ··· 567 619 #define eglGetNativeClientBufferANDROID glad_eglGetNativeClientBufferANDROID 568 620 GLAD_API_CALL PFNEGLGETPROCADDRESSPROC glad_eglGetProcAddress; 569 621 #define eglGetProcAddress glad_eglGetProcAddress 622 + GLAD_API_CALL PFNEGLGETSYNCATTRIBKHRPROC glad_eglGetSyncAttribKHR; 623 + #define eglGetSyncAttribKHR glad_eglGetSyncAttribKHR 570 624 GLAD_API_CALL PFNEGLINITIALIZEPROC glad_eglInitialize; 571 625 #define eglInitialize glad_eglInitialize 572 626 GLAD_API_CALL PFNEGLMAKECURRENTPROC glad_eglMakeCurrent; ··· 587 641 #define eglReleaseTexImage glad_eglReleaseTexImage 588 642 GLAD_API_CALL PFNEGLRELEASETHREADPROC glad_eglReleaseThread; 589 643 #define eglReleaseThread glad_eglReleaseThread 644 + GLAD_API_CALL PFNEGLSIGNALSYNCKHRPROC glad_eglSignalSyncKHR; 645 + #define eglSignalSyncKHR glad_eglSignalSyncKHR 590 646 GLAD_API_CALL PFNEGLSURFACEATTRIBPROC glad_eglSurfaceAttrib; 591 647 #define eglSurfaceAttrib glad_eglSurfaceAttrib 592 648 GLAD_API_CALL PFNEGLSWAPBUFFERSPROC glad_eglSwapBuffers; ··· 601 657 #define eglWaitGL glad_eglWaitGL 602 658 GLAD_API_CALL PFNEGLWAITNATIVEPROC glad_eglWaitNative; 603 659 #define eglWaitNative glad_eglWaitNative 660 + GLAD_API_CALL PFNEGLWAITSYNCKHRPROC glad_eglWaitSyncKHR; 661 + #define eglWaitSyncKHR glad_eglWaitSyncKHR 604 662 605 663 606 664
+2 -2
src/external/glad/include/glad/gl.h
··· 1 1 /** 2 - * Loader generated by glad 2.0.0-beta on Wed Aug 19 18:16:10 2020 2 + * Loader generated by glad 2.0.0-beta on Fri Dec 18 17:45:30 2020 3 3 * 4 4 * Generator: C/C++ 5 5 * Specification: gl ··· 2263 2263 typedef void (GLAD_API_PTR *PFNGLSCISSORARRAYVPROC)(GLuint first, GLsizei count, const GLint * v); 2264 2264 typedef void (GLAD_API_PTR *PFNGLSCISSORINDEXEDPROC)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); 2265 2265 typedef void (GLAD_API_PTR *PFNGLSCISSORINDEXEDVPROC)(GLuint index, const GLint * v); 2266 - typedef void (GLAD_API_PTR *PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint * shaders, GLenum binaryformat, const void * binary, GLsizei length); 2266 + typedef void (GLAD_API_PTR *PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint * shaders, GLenum binaryFormat, const void * binary, GLsizei length); 2267 2267 typedef void (GLAD_API_PTR *PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length); 2268 2268 typedef void (GLAD_API_PTR *PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); 2269 2269 typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask);
+42
src/external/glad/src/egl.c
··· 28 28 int GLAD_EGL_ANDROID_front_buffer_auto_refresh = 0; 29 29 int GLAD_EGL_ANDROID_get_native_client_buffer = 0; 30 30 int GLAD_EGL_ANDROID_image_native_buffer = 0; 31 + int GLAD_EGL_ANDROID_native_fence_sync = 0; 31 32 int GLAD_EGL_EXT_image_dma_buf_import = 0; 32 33 int GLAD_EGL_EXT_image_dma_buf_import_modifiers = 0; 33 34 int GLAD_EGL_EXT_image_gl_colorspace = 0; 34 35 int GLAD_EGL_IMG_context_priority = 0; 35 36 int GLAD_EGL_KHR_create_context = 0; 37 + int GLAD_EGL_KHR_fence_sync = 0; 36 38 int GLAD_EGL_KHR_gl_colorspace = 0; 37 39 int GLAD_EGL_KHR_image = 0; 38 40 int GLAD_EGL_KHR_image_base = 0; 39 41 int GLAD_EGL_KHR_platform_android = 0; 42 + int GLAD_EGL_KHR_reusable_sync = 0; 43 + int GLAD_EGL_KHR_wait_sync = 0; 40 44 41 45 42 46 43 47 PFNEGLBINDAPIPROC glad_eglBindAPI = NULL; 44 48 PFNEGLBINDTEXIMAGEPROC glad_eglBindTexImage = NULL; 45 49 PFNEGLCHOOSECONFIGPROC glad_eglChooseConfig = NULL; 50 + PFNEGLCLIENTWAITSYNCKHRPROC glad_eglClientWaitSyncKHR = NULL; 46 51 PFNEGLCOPYBUFFERSPROC glad_eglCopyBuffers = NULL; 47 52 PFNEGLCREATECONTEXTPROC glad_eglCreateContext = NULL; 48 53 PFNEGLCREATEIMAGEKHRPROC glad_eglCreateImageKHR = NULL; 49 54 PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC glad_eglCreatePbufferFromClientBuffer = NULL; 50 55 PFNEGLCREATEPBUFFERSURFACEPROC glad_eglCreatePbufferSurface = NULL; 51 56 PFNEGLCREATEPIXMAPSURFACEPROC glad_eglCreatePixmapSurface = NULL; 57 + PFNEGLCREATESYNCKHRPROC glad_eglCreateSyncKHR = NULL; 52 58 PFNEGLCREATEWINDOWSURFACEPROC glad_eglCreateWindowSurface = NULL; 53 59 PFNEGLDESTROYCONTEXTPROC glad_eglDestroyContext = NULL; 54 60 PFNEGLDESTROYIMAGEKHRPROC glad_eglDestroyImageKHR = NULL; 55 61 PFNEGLDESTROYSURFACEPROC glad_eglDestroySurface = NULL; 62 + PFNEGLDESTROYSYNCKHRPROC glad_eglDestroySyncKHR = NULL; 63 + PFNEGLDUPNATIVEFENCEFDANDROIDPROC glad_eglDupNativeFenceFDANDROID = NULL; 56 64 PFNEGLGETCONFIGATTRIBPROC glad_eglGetConfigAttrib = NULL; 57 65 PFNEGLGETCONFIGSPROC glad_eglGetConfigs = NULL; 58 66 PFNEGLGETCURRENTCONTEXTPROC glad_eglGetCurrentContext = NULL; ··· 62 70 PFNEGLGETERRORPROC glad_eglGetError = NULL; 63 71 PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC glad_eglGetNativeClientBufferANDROID = NULL; 64 72 PFNEGLGETPROCADDRESSPROC glad_eglGetProcAddress = NULL; 73 + PFNEGLGETSYNCATTRIBKHRPROC glad_eglGetSyncAttribKHR = NULL; 65 74 PFNEGLINITIALIZEPROC glad_eglInitialize = NULL; 66 75 PFNEGLMAKECURRENTPROC glad_eglMakeCurrent = NULL; 67 76 PFNEGLQUERYAPIPROC glad_eglQueryAPI = NULL; ··· 72 81 PFNEGLQUERYSURFACEPROC glad_eglQuerySurface = NULL; 73 82 PFNEGLRELEASETEXIMAGEPROC glad_eglReleaseTexImage = NULL; 74 83 PFNEGLRELEASETHREADPROC glad_eglReleaseThread = NULL; 84 + PFNEGLSIGNALSYNCKHRPROC glad_eglSignalSyncKHR = NULL; 75 85 PFNEGLSURFACEATTRIBPROC glad_eglSurfaceAttrib = NULL; 76 86 PFNEGLSWAPBUFFERSPROC glad_eglSwapBuffers = NULL; 77 87 PFNEGLSWAPINTERVALPROC glad_eglSwapInterval = NULL; ··· 79 89 PFNEGLWAITCLIENTPROC glad_eglWaitClient = NULL; 80 90 PFNEGLWAITGLPROC glad_eglWaitGL = NULL; 81 91 PFNEGLWAITNATIVEPROC glad_eglWaitNative = NULL; 92 + PFNEGLWAITSYNCKHRPROC glad_eglWaitSyncKHR = NULL; 82 93 83 94 84 95 static void glad_egl_load_EGL_VERSION_1_0( GLADuserptrloadfunc load, void* userptr) { ··· 131 142 if(!GLAD_EGL_ANDROID_get_native_client_buffer) return; 132 143 glad_eglGetNativeClientBufferANDROID = (PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC) load(userptr, "eglGetNativeClientBufferANDROID"); 133 144 } 145 + static void glad_egl_load_EGL_ANDROID_native_fence_sync( GLADuserptrloadfunc load, void* userptr) { 146 + if(!GLAD_EGL_ANDROID_native_fence_sync) return; 147 + glad_eglDupNativeFenceFDANDROID = (PFNEGLDUPNATIVEFENCEFDANDROIDPROC) load(userptr, "eglDupNativeFenceFDANDROID"); 148 + } 134 149 static void glad_egl_load_EGL_EXT_image_dma_buf_import_modifiers( GLADuserptrloadfunc load, void* userptr) { 135 150 if(!GLAD_EGL_EXT_image_dma_buf_import_modifiers) return; 136 151 glad_eglQueryDmaBufFormatsEXT = (PFNEGLQUERYDMABUFFORMATSEXTPROC) load(userptr, "eglQueryDmaBufFormatsEXT"); 137 152 glad_eglQueryDmaBufModifiersEXT = (PFNEGLQUERYDMABUFMODIFIERSEXTPROC) load(userptr, "eglQueryDmaBufModifiersEXT"); 138 153 } 154 + static void glad_egl_load_EGL_KHR_fence_sync( GLADuserptrloadfunc load, void* userptr) { 155 + if(!GLAD_EGL_KHR_fence_sync) return; 156 + glad_eglClientWaitSyncKHR = (PFNEGLCLIENTWAITSYNCKHRPROC) load(userptr, "eglClientWaitSyncKHR"); 157 + glad_eglCreateSyncKHR = (PFNEGLCREATESYNCKHRPROC) load(userptr, "eglCreateSyncKHR"); 158 + glad_eglDestroySyncKHR = (PFNEGLDESTROYSYNCKHRPROC) load(userptr, "eglDestroySyncKHR"); 159 + glad_eglGetSyncAttribKHR = (PFNEGLGETSYNCATTRIBKHRPROC) load(userptr, "eglGetSyncAttribKHR"); 160 + } 139 161 static void glad_egl_load_EGL_KHR_image( GLADuserptrloadfunc load, void* userptr) { 140 162 if(!GLAD_EGL_KHR_image) return; 141 163 glad_eglCreateImageKHR = (PFNEGLCREATEIMAGEKHRPROC) load(userptr, "eglCreateImageKHR"); ··· 146 168 glad_eglCreateImageKHR = (PFNEGLCREATEIMAGEKHRPROC) load(userptr, "eglCreateImageKHR"); 147 169 glad_eglDestroyImageKHR = (PFNEGLDESTROYIMAGEKHRPROC) load(userptr, "eglDestroyImageKHR"); 148 170 } 171 + static void glad_egl_load_EGL_KHR_reusable_sync( GLADuserptrloadfunc load, void* userptr) { 172 + if(!GLAD_EGL_KHR_reusable_sync) return; 173 + glad_eglClientWaitSyncKHR = (PFNEGLCLIENTWAITSYNCKHRPROC) load(userptr, "eglClientWaitSyncKHR"); 174 + glad_eglCreateSyncKHR = (PFNEGLCREATESYNCKHRPROC) load(userptr, "eglCreateSyncKHR"); 175 + glad_eglDestroySyncKHR = (PFNEGLDESTROYSYNCKHRPROC) load(userptr, "eglDestroySyncKHR"); 176 + glad_eglGetSyncAttribKHR = (PFNEGLGETSYNCATTRIBKHRPROC) load(userptr, "eglGetSyncAttribKHR"); 177 + glad_eglSignalSyncKHR = (PFNEGLSIGNALSYNCKHRPROC) load(userptr, "eglSignalSyncKHR"); 178 + } 179 + static void glad_egl_load_EGL_KHR_wait_sync( GLADuserptrloadfunc load, void* userptr) { 180 + if(!GLAD_EGL_KHR_wait_sync) return; 181 + glad_eglWaitSyncKHR = (PFNEGLWAITSYNCKHRPROC) load(userptr, "eglWaitSyncKHR"); 182 + } 149 183 150 184 151 185 ··· 186 220 GLAD_EGL_ANDROID_front_buffer_auto_refresh = glad_egl_has_extension(extensions, "EGL_ANDROID_front_buffer_auto_refresh"); 187 221 GLAD_EGL_ANDROID_get_native_client_buffer = glad_egl_has_extension(extensions, "EGL_ANDROID_get_native_client_buffer"); 188 222 GLAD_EGL_ANDROID_image_native_buffer = glad_egl_has_extension(extensions, "EGL_ANDROID_image_native_buffer"); 223 + GLAD_EGL_ANDROID_native_fence_sync = glad_egl_has_extension(extensions, "EGL_ANDROID_native_fence_sync"); 189 224 GLAD_EGL_EXT_image_dma_buf_import = glad_egl_has_extension(extensions, "EGL_EXT_image_dma_buf_import"); 190 225 GLAD_EGL_EXT_image_dma_buf_import_modifiers = glad_egl_has_extension(extensions, "EGL_EXT_image_dma_buf_import_modifiers"); 191 226 GLAD_EGL_EXT_image_gl_colorspace = glad_egl_has_extension(extensions, "EGL_EXT_image_gl_colorspace"); 192 227 GLAD_EGL_IMG_context_priority = glad_egl_has_extension(extensions, "EGL_IMG_context_priority"); 193 228 GLAD_EGL_KHR_create_context = glad_egl_has_extension(extensions, "EGL_KHR_create_context"); 229 + GLAD_EGL_KHR_fence_sync = glad_egl_has_extension(extensions, "EGL_KHR_fence_sync"); 194 230 GLAD_EGL_KHR_gl_colorspace = glad_egl_has_extension(extensions, "EGL_KHR_gl_colorspace"); 195 231 GLAD_EGL_KHR_image = glad_egl_has_extension(extensions, "EGL_KHR_image"); 196 232 GLAD_EGL_KHR_image_base = glad_egl_has_extension(extensions, "EGL_KHR_image_base"); 197 233 GLAD_EGL_KHR_platform_android = glad_egl_has_extension(extensions, "EGL_KHR_platform_android"); 234 + GLAD_EGL_KHR_reusable_sync = glad_egl_has_extension(extensions, "EGL_KHR_reusable_sync"); 235 + GLAD_EGL_KHR_wait_sync = glad_egl_has_extension(extensions, "EGL_KHR_wait_sync"); 198 236 199 237 return 1; 200 238 } ··· 256 294 257 295 if (!glad_egl_find_extensions_egl(display)) return 0; 258 296 glad_egl_load_EGL_ANDROID_get_native_client_buffer(load, userptr); 297 + glad_egl_load_EGL_ANDROID_native_fence_sync(load, userptr); 259 298 glad_egl_load_EGL_EXT_image_dma_buf_import_modifiers(load, userptr); 299 + glad_egl_load_EGL_KHR_fence_sync(load, userptr); 260 300 glad_egl_load_EGL_KHR_image(load, userptr); 261 301 glad_egl_load_EGL_KHR_image_base(load, userptr); 302 + glad_egl_load_EGL_KHR_reusable_sync(load, userptr); 303 + glad_egl_load_EGL_KHR_wait_sync(load, userptr); 262 304 263 305 return version; 264 306 }
-11
src/external/glad/url.txt
··· 1 - <!-- 2 - SPDX-FileCopyrightText: 2020, Collabora, Ltd. and the Monado contributors 3 - SPDX-License-Identifier: CC0-1.0 4 - --> 5 - 6 - http://gen.glad.sh/#profile=gl%3Dcore%2Cgles1%3Dcommon&api=egl%3D1.4%2Cgl%3D4.5%2Cgles2%3D3.2&extensions=EGL_ANDROID_get_native_client_buffer%2CEGL_ANDROID_image_native_buffer%2CEGL_EXT_image_dma_buf_import%2CEGL_EXT_image_dma_buf_import_modifiers%2CEGL_KHR_image%2CEGL_KHR_platform_android%2CGL_EXT_memory_object%2CGL_EXT_memory_object_fd%2CGL_EXT_memory_object_win32%2CGL_OES_EGL_image%2CGL_OES_EGL_image_external%2CGL_OES_EGL_image_external_essl3&options=MERGE%2CMERGE&generator=c 7 - 8 - 9 - Alternately, command line (for the glad2 branch!) 10 - 11 - glad --merge --api='gl:core=4.5,gles2=3.2,egl=1.4' --extensions='GL_EXT_memory_object,GL_EXT_memory_object_fd,GL_EXT_memory_object_win32,GL_OES_EGL_image,GL_OES_EGL_image_external,GL_OES_EGL_image_external_essl3,EGL_ANDROID_get_native_client_buffer,EGL_ANDROID_image_native_buffer,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_KHR_image,EGL_KHR_image_base,EGL_KHR_platform_android,EGL_IMG_context_priority,GL_EXT_external_buffer,EGL_KHR_create_context,EGL_EXT_image_gl_colorspace,EGL_KHR_gl_colorspace,GL_EXT_EGL_image_storage,GL_OES_depth_texture,GL_EXT_YUV_target,GL_EXT_sRGB,GL_OES_rgb8_rgba8,GL_OES_packed_depth_stencil,EGL_ANDROID_front_buffer_auto_refresh' --out-path . c