From 7a8d0d8bc2572707c9d35006f30ea835c86954b0 Mon Sep 17 00:00:00 2001 From: sotech117 Date: Tue, 9 Apr 2024 03:14:17 -0400 Subject: first draft to generate waves --- glew/LICENSE.txt | 73 + glew/README.md | 3 + glew/auto/EGL-Registry/.dummy | 0 glew/auto/EGL-Registry/.htaccess | 12 + glew/auto/EGL-Registry/CODE_OF_CONDUCT.md | 1 + glew/auto/EGL-Registry/README.md | 100 + glew/auto/EGL-Registry/api/1.0/EGL/egl.h | 286 + glew/auto/EGL-Registry/api/1.0/egl.h | 283 + glew/auto/EGL-Registry/api/1.1/EGL/egl.h | 226 + glew/auto/EGL-Registry/api/1.2/EGL/egl.h | 264 + glew/auto/EGL-Registry/api/1.2/egl.h | 260 + glew/auto/EGL-Registry/api/EGL/egl.h | 342 + glew/auto/EGL-Registry/api/EGL/eglext.h | 1483 + glew/auto/EGL-Registry/api/EGL/eglplatform.h | 169 + glew/auto/EGL-Registry/api/KHR/khrplatform.h | 311 + glew/auto/EGL-Registry/api/egl.xml | 3532 ++ glew/auto/EGL-Registry/api/egltest.c | 8 + glew/auto/EGL-Registry/api/genheaders.py | 619 + glew/auto/EGL-Registry/api/reg.py | 1168 + glew/auto/EGL-Registry/api/registry.rnc | 270 + .../extensions/ANDROID/EGL_ANDROID_GLES_layers.txt | 64 + .../extensions/ANDROID/EGL_ANDROID_blob_cache.txt | 211 + .../EGL_ANDROID_create_native_client_buffer.txt | 197 + .../ANDROID/EGL_ANDROID_framebuffer_target.txt | 102 + .../EGL_ANDROID_front_buffer_auto_refresh.txt | 70 + .../ANDROID/EGL_ANDROID_get_frame_timestamps.txt | 259 + .../EGL_ANDROID_get_native_client_buffer.txt | 102 + .../ANDROID/EGL_ANDROID_image_native_buffer.txt | 108 + .../ANDROID/EGL_ANDROID_native_fence_sync.txt | 281 + .../ANDROID/EGL_ANDROID_presentation_time.txt | 140 + .../extensions/ANDROID/EGL_ANDROID_recordable.txt | 140 + .../EGL_ANGLE_d3d_share_handle_client_buffer.txt | 98 + .../extensions/ANGLE/EGL_ANGLE_device_d3d.txt | 93 + .../ANGLE/EGL_ANGLE_query_surface_pointer.txt | 88 + ...L_ANGLE_surface_d3d_texture_2d_share_handle.txt | 95 + .../ANGLE/EGL_ANGLE_sync_control_rate.txt | 99 + .../ANGLE/EGL_ANGLE_window_fixed_size.txt | 136 + .../extensions/ARM/EGL_ARM_image_format.txt | 126 + .../ARM/EGL_ARM_implicit_external_sync.txt | 219 + .../ARM/EGL_ARM_pixmap_multisample_discard.txt | 185 + .../extensions/EXT/EGL_EXT_bind_to_front.txt | 108 + .../extensions/EXT/EGL_EXT_buffer_age.txt | 329 + .../extensions/EXT/EGL_EXT_client_extensions.txt | 408 + .../extensions/EXT/EGL_EXT_client_sync.txt | 146 + .../extensions/EXT/EGL_EXT_compositor.txt | 400 + .../extensions/EXT/EGL_EXT_config_select_group.txt | 111 + .../EXT/EGL_EXT_create_context_robustness.txt | 169 + .../extensions/EXT/EGL_EXT_device_base.txt | 243 + .../extensions/EXT/EGL_EXT_device_drm.txt | 223 + .../EXT/EGL_EXT_device_drm_render_node.txt | 106 + .../extensions/EXT/EGL_EXT_device_enumeration.txt | 111 + .../extensions/EXT/EGL_EXT_device_openwf.txt | 230 + .../EXT/EGL_EXT_device_persistent_id.txt | 202 + .../extensions/EXT/EGL_EXT_device_query.txt | 188 + .../extensions/EXT/EGL_EXT_device_query_name.txt | 104 + .../extensions/EXT/EGL_EXT_explicit_device.txt | 136 + .../EXT/EGL_EXT_gl_colorspace_bt2020_linear.txt | 175 + .../EXT/EGL_EXT_gl_colorspace_display_p3.txt | 137 + ...GL_EXT_gl_colorspace_display_p3_passthrough.txt | 139 + .../extensions/EXT/EGL_EXT_gl_colorspace_scrgb.txt | 130 + .../EXT/EGL_EXT_gl_colorspace_scrgb_linear.txt | 127 + .../EXT/EGL_EXT_image_dma_buf_import.txt | 428 + .../EXT/EGL_EXT_image_dma_buf_import_modifiers.txt | 244 + .../extensions/EXT/EGL_EXT_image_gl_colorspace.txt | 136 + .../EXT/EGL_EXT_image_implicit_sync_control.txt | 131 + .../extensions/EXT/EGL_EXT_multiview_window.txt | 126 + .../extensions/EXT/EGL_EXT_output_base.txt | 564 + .../extensions/EXT/EGL_EXT_pixel_format_float.txt | 136 + .../extensions/EXT/EGL_EXT_platform_base.txt | 371 + .../extensions/EXT/EGL_EXT_platform_device.txt | 161 + .../extensions/EXT/EGL_EXT_platform_wayland.txt | 135 + .../extensions/EXT/EGL_EXT_platform_x11.txt | 414 + .../extensions/EXT/EGL_EXT_platform_xcb.txt | 382 + .../extensions/EXT/EGL_EXT_present_opaque.txt | 118 + .../extensions/EXT/EGL_EXT_protected_content.txt | 329 + .../extensions/EXT/EGL_EXT_protected_surface.txt | 230 + .../EXT/EGL_EXT_stream_consumer_egloutput.txt | 248 + .../EXT/EGL_EXT_surface_CTA861_3_metadata.txt | 136 + .../EXT/EGL_EXT_surface_SMPTE2086_metadata.txt | 247 + .../extensions/EXT/EGL_EXT_surface_compression.txt | 289 + .../EXT/EGL_EXT_swap_buffers_with_damage.txt | 343 + .../extensions/EXT/EGL_EXT_sync_reuse.txt | 376 + .../extensions/EXT/EGL_EXT_yuv_surface.txt | 393 + .../extensions/HI/EGL_HI_clientpixmap.txt | 144 + .../extensions/HI/EGL_HI_colorformats.txt | 138 + .../extensions/IMG/EGL_IMG_context_priority.txt | 166 + .../extensions/IMG/EGL_IMG_image_plane_attribs.txt | 156 + .../extensions/KHR/EGL_KHR_cl_event.txt | 278 + .../extensions/KHR/EGL_KHR_cl_event2.txt | 364 + .../extensions/KHR/EGL_KHR_config_attribs.txt | 234 + .../extensions/KHR/EGL_KHR_create_context.txt | 648 + .../KHR/EGL_KHR_create_context_no_error.txt | 142 + .../EGL-Registry/extensions/KHR/EGL_KHR_debug.txt | 573 + .../extensions/KHR/EGL_KHR_display_reference.txt | 242 + .../extensions/KHR/EGL_KHR_fence_sync.txt | 562 + .../KHR/EGL_KHR_get_all_proc_addresses.txt | 206 + .../extensions/KHR/EGL_KHR_gl_colorspace.txt | 197 + .../extensions/KHR/EGL_KHR_gl_image.txt | 432 + .../EGL-Registry/extensions/KHR/EGL_KHR_image.txt | 140 + .../extensions/KHR/EGL_KHR_image_base.txt | 755 + .../extensions/KHR/EGL_KHR_image_pixmap.txt | 158 + .../extensions/KHR/EGL_KHR_lock_surface.txt | 727 + .../extensions/KHR/EGL_KHR_lock_surface2.txt | 1077 + .../extensions/KHR/EGL_KHR_lock_surface3.txt | 679 + .../KHR/EGL_KHR_mutable_render_buffer.txt | 325 + .../extensions/KHR/EGL_KHR_no_config_context.txt | 261 + .../extensions/KHR/EGL_KHR_partial_update.txt | 501 + .../extensions/KHR/EGL_KHR_platform_android.txt | 102 + .../extensions/KHR/EGL_KHR_platform_gbm.txt | 295 + .../extensions/KHR/EGL_KHR_platform_wayland.txt | 122 + .../extensions/KHR/EGL_KHR_platform_x11.txt | 378 + .../extensions/KHR/EGL_KHR_reusable_sync.txt | 575 + .../EGL-Registry/extensions/KHR/EGL_KHR_stream.txt | 1091 + .../KHR/EGL_KHR_stream_consumer_gltexture.txt | 402 + .../KHR/EGL_KHR_stream_cross_process_fd.txt | 560 + .../extensions/KHR/EGL_KHR_stream_fifo.txt | 433 + .../KHR/EGL_KHR_stream_producer_aldatalocator.txt | 178 + .../KHR/EGL_KHR_stream_producer_eglsurface.txt | 386 + .../extensions/KHR/EGL_KHR_surfaceless_context.txt | 174 + .../KHR/EGL_KHR_swap_buffers_with_damage.txt | 449 + .../extensions/KHR/EGL_KHR_vg_parent_image.txt | 138 + .../extensions/KHR/EGL_KHR_wait_sync.txt | 278 + .../extensions/MESA/EGL_MESA_drm_image.txt | 157 + .../MESA/EGL_MESA_image_dma_buf_export.txt | 147 + .../extensions/MESA/EGL_MESA_platform_gbm.txt | 319 + .../MESA/EGL_MESA_platform_surfaceless.txt | 120 + .../extensions/MESA/EGL_MESA_query_driver.txt | 95 + .../extensions/NOK/EGL_NOK_swap_region2.txt | 227 + .../extensions/NOK/EGL_NOK_texture_from_pixmap.txt | 321 + .../extensions/NV/EGL_NV_3dvision_surface.txt | 94 + .../NV/EGL_NV_context_priority_realtime.txt | 195 + .../extensions/NV/EGL_NV_coverage_sample.txt | 554 + .../NV/EGL_NV_coverage_sample_resolve.txt | 127 + .../extensions/NV/EGL_NV_cuda_event.txt | 206 + .../extensions/NV/EGL_NV_depth_nonlinear.txt | 142 + .../extensions/NV/EGL_NV_device_cuda.txt | 91 + .../EGL-Registry/extensions/NV/EGL_NV_n_buffer.txt | 157 + .../extensions/NV/EGL_NV_native_query.txt | 137 + .../extensions/NV/EGL_NV_post_convert_rounding.txt | 85 + .../extensions/NV/EGL_NV_post_sub_buffer.txt | 241 + .../NV/EGL_NV_stream_consumer_eglimage.txt | 367 + .../NV/EGL_NV_stream_consumer_gltexture_yuv.txt | 280 + .../extensions/NV/EGL_NV_stream_dma.txt | 137 + .../extensions/NV/EGL_NV_stream_fifo_next.txt | 105 + .../NV/EGL_NV_stream_fifo_synchronous.txt | 211 + .../extensions/NV/EGL_NV_stream_flush.txt | 132 + .../extensions/NV/EGL_NV_stream_frame_limits.txt | 152 + .../extensions/NV/EGL_NV_stream_metadata.txt | 335 + .../extensions/NV/EGL_NV_stream_origin.txt | 298 + .../extensions/NV/EGL_NV_stream_remote.txt | 472 + .../extensions/NV/EGL_NV_stream_reset.txt | 306 + .../extensions/NV/EGL_NV_stream_socket.txt | 229 + .../extensions/NV/EGL_NV_stream_sync.txt | 198 + .../EGL-Registry/extensions/NV/EGL_NV_sync.txt | 554 + .../extensions/NV/EGL_NV_system_time.txt | 99 + .../TIZEN/EGL_TIZEN_image_native_buffer.txt | 114 + .../TIZEN/EGL_TIZEN_image_native_surface.txt | 121 + .../extensions/WL/EGL_WL_bind_wayland_display.txt | 217 + .../WL/EGL_WL_create_wayland_buffer_from_image.txt | 101 + glew/auto/EGL-Registry/index.php | 382 + glew/auto/EGL-Registry/registry.tcl | 770 + glew/auto/EGL-Registry/sdk/docs/man/.htaccess | 13 + glew/auto/EGL-Registry/sdk/docs/man/NOTES | 59 + glew/auto/EGL-Registry/sdk/docs/man/README | 1 + glew/auto/EGL-Registry/sdk/docs/man/bottom.php | 9 + glew/auto/EGL-Registry/sdk/docs/man/copyright.xml | 21 + .../auto/EGL-Registry/sdk/docs/man/db4-upgrade.xsl | 1455 + .../sdk/docs/man/docbook4/eglBindAPI.xml | 130 + .../sdk/docs/man/docbook4/eglBindTexImage.xml | 181 + .../sdk/docs/man/docbook4/eglChooseConfig.xml | 929 + .../sdk/docs/man/docbook4/eglCopyBuffers.xml | 129 + .../sdk/docs/man/docbook4/eglCreateContext.xml | 220 + .../docbook4/eglCreatePbufferFromClientBuffer.xml | 389 + .../docs/man/docbook4/eglCreatePbufferSurface.xml | 333 + .../docs/man/docbook4/eglCreatePixmapSurface.xml | 227 + .../docs/man/docbook4/eglCreateWindowSurface.xml | 244 + .../sdk/docs/man/docbook4/eglDestroyContext.xml | 84 + .../sdk/docs/man/docbook4/eglDestroySurface.xml | 86 + .../sdk/docs/man/docbook4/eglGetConfigAttrib.xml | 326 + .../sdk/docs/man/docbook4/eglGetConfigs.xml | 114 + .../sdk/docs/man/docbook4/eglGetCurrentContext.xml | 51 + .../sdk/docs/man/docbook4/eglGetCurrentDisplay.xml | 52 + .../sdk/docs/man/docbook4/eglGetCurrentSurface.xml | 66 + .../sdk/docs/man/docbook4/eglGetDisplay.xml | 75 + .../sdk/docs/man/docbook4/eglGetError.xml | 145 + .../sdk/docs/man/docbook4/eglGetProcAddress.xml | 86 + .../sdk/docs/man/docbook4/eglInitialize.xml | 109 + .../sdk/docs/man/docbook4/eglIntro.xml | 264 + .../sdk/docs/man/docbook4/eglMakeCurrent.xml | 203 + .../sdk/docs/man/docbook4/eglQueryAPI.xml | 85 + .../sdk/docs/man/docbook4/eglQueryContext.xml | 193 + .../sdk/docs/man/docbook4/eglQueryString.xml | 142 + .../sdk/docs/man/docbook4/eglQuerySurface.xml | 288 + .../sdk/docs/man/docbook4/eglReleaseTexImage.xml | 110 + .../sdk/docs/man/docbook4/eglReleaseThread.xml | 134 + .../sdk/docs/man/docbook4/eglSurfaceAttrib.xml | 216 + .../sdk/docs/man/docbook4/eglSwapBuffers.xml | 144 + .../sdk/docs/man/docbook4/eglSwapInterval.xml | 103 + .../sdk/docs/man/docbook4/eglTerminate.xml | 82 + .../sdk/docs/man/docbook4/eglWaitClient.xml | 93 + .../sdk/docs/man/docbook4/eglWaitGL.xml | 91 + .../sdk/docs/man/docbook4/eglWaitNative.xml | 82 + .../sdk/docs/man/docbook4/reference.xml | 174 + glew/auto/EGL-Registry/sdk/docs/man/eglBindAPI.xml | 123 + .../EGL-Registry/sdk/docs/man/eglBindTexImage.xml | 172 + .../EGL-Registry/sdk/docs/man/eglChooseConfig.xml | 915 + .../sdk/docs/man/eglClientWaitSync.xml | 161 + .../EGL-Registry/sdk/docs/man/eglCopyBuffers.xml | 120 + .../EGL-Registry/sdk/docs/man/eglCreateContext.xml | 212 + .../EGL-Registry/sdk/docs/man/eglCreateImage.xml | 624 + .../docs/man/eglCreatePbufferFromClientBuffer.xml | 386 + .../sdk/docs/man/eglCreatePbufferSurface.xml | 359 + .../sdk/docs/man/eglCreatePixmapSurface.xml | 87 + .../docs/man/eglCreatePlatformPixmapSurface.xml | 270 + .../docs/man/eglCreatePlatformWindowSurface.xml | 296 + .../EGL-Registry/sdk/docs/man/eglCreateSync.xml | 311 + .../sdk/docs/man/eglCreateWindowSurface.xml | 87 + .../sdk/docs/man/eglDestroyContext.xml | 75 + .../EGL-Registry/sdk/docs/man/eglDestroyImage.xml | 85 + .../sdk/docs/man/eglDestroySurface.xml | 77 + .../EGL-Registry/sdk/docs/man/eglDestroySync.xml | 98 + .../sdk/docs/man/eglGetConfigAttrib.xml | 317 + .../EGL-Registry/sdk/docs/man/eglGetConfigs.xml | 105 + .../sdk/docs/man/eglGetCurrentContext.xml | 42 + .../sdk/docs/man/eglGetCurrentDisplay.xml | 57 + .../sdk/docs/man/eglGetCurrentSurface.xml | 58 + .../EGL-Registry/sdk/docs/man/eglGetDisplay.xml | 87 + .../auto/EGL-Registry/sdk/docs/man/eglGetError.xml | 143 + .../sdk/docs/man/eglGetPlatformDisplay.xml | 122 + .../sdk/docs/man/eglGetProcAddress.xml | 98 + .../EGL-Registry/sdk/docs/man/eglGetSyncAttrib.xml | 148 + .../EGL-Registry/sdk/docs/man/eglInitialize.xml | 100 + glew/auto/EGL-Registry/sdk/docs/man/eglIntro.xml | 275 + .../EGL-Registry/sdk/docs/man/eglMakeCurrent.xml | 321 + .../auto/EGL-Registry/sdk/docs/man/eglQueryAPI.xml | 76 + .../EGL-Registry/sdk/docs/man/eglQueryContext.xml | 184 + .../EGL-Registry/sdk/docs/man/eglQueryString.xml | 179 + .../EGL-Registry/sdk/docs/man/eglQuerySurface.xml | 310 + .../sdk/docs/man/eglReleaseTexImage.xml | 101 + .../EGL-Registry/sdk/docs/man/eglReleaseThread.xml | 125 + .../EGL-Registry/sdk/docs/man/eglSurfaceAttrib.xml | 207 + .../EGL-Registry/sdk/docs/man/eglSwapBuffers.xml | 152 + .../EGL-Registry/sdk/docs/man/eglSwapInterval.xml | 94 + .../EGL-Registry/sdk/docs/man/eglTerminate.xml | 73 + .../EGL-Registry/sdk/docs/man/eglWaitClient.xml | 84 + glew/auto/EGL-Registry/sdk/docs/man/eglWaitGL.xml | 82 + .../EGL-Registry/sdk/docs/man/eglWaitNative.xml | 73 + .../auto/EGL-Registry/sdk/docs/man/eglWaitSync.xml | 134 + .../EGL-Registry/sdk/docs/man/headBackground.jpg | Bin 0 -> 9467 bytes .../EGL-Registry/sdk/docs/man/html/EGL_300.png | Bin 0 -> 26048 bytes .../EGL-Registry/sdk/docs/man/html/KhronosLogo.jpg | Bin 0 -> 2454 bytes glew/auto/EGL-Registry/sdk/docs/man/html/accord.js | 58 + .../sdk/docs/man/html/bullets-contract.gif | Bin 0 -> 82 bytes .../EGL-Registry/sdk/docs/man/html/bullets-end.gif | Bin 0 -> 82 bytes .../sdk/docs/man/html/bullets-expand.gif | Bin 0 -> 90 bytes .../sdk/docs/man/html/eglBindAPI.xhtml | 160 + .../sdk/docs/man/html/eglBindTexImage.xhtml | 228 + .../sdk/docs/man/html/eglChooseConfig.xhtml | 1150 + .../sdk/docs/man/html/eglClientWaitSync.xhtml | 226 + .../sdk/docs/man/html/eglCopyBuffers.xhtml | 170 + .../sdk/docs/man/html/eglCreateContext.xhtml | 287 + .../sdk/docs/man/html/eglCreateImage.xhtml | 774 + .../html/eglCreatePbufferFromClientBuffer.xhtml | 468 + .../docs/man/html/eglCreatePbufferSurface.xhtml | 435 + .../sdk/docs/man/html/eglCreatePixmapSurface.xhtml | 150 + .../man/html/eglCreatePlatformPixmapSurface.xhtml | 341 + .../man/html/eglCreatePlatformWindowSurface.xhtml | 368 + .../sdk/docs/man/html/eglCreateSync.xhtml | 389 + .../sdk/docs/man/html/eglCreateWindowSurface.xhtml | 149 + .../sdk/docs/man/html/eglDestroyContext.xhtml | 121 + .../sdk/docs/man/html/eglDestroyImage.xhtml | 132 + .../sdk/docs/man/html/eglDestroySurface.xhtml | 123 + .../sdk/docs/man/html/eglDestroySync.xhtml | 145 + .../sdk/docs/man/html/eglGetConfigAttrib.xhtml | 508 + .../sdk/docs/man/html/eglGetConfigs.xhtml | 169 + .../sdk/docs/man/html/eglGetCurrentContext.xhtml | 70 + .../sdk/docs/man/html/eglGetCurrentDisplay.xhtml | 86 + .../sdk/docs/man/html/eglGetCurrentSurface.xhtml | 92 + .../sdk/docs/man/html/eglGetDisplay.xhtml | 121 + .../sdk/docs/man/html/eglGetError.xhtml | 233 + .../sdk/docs/man/html/eglGetPlatformDisplay.xhtml | 172 + .../sdk/docs/man/html/eglGetProcAddress.xhtml | 133 + .../sdk/docs/man/html/eglGetSyncAttrib.xhtml | 231 + .../sdk/docs/man/html/eglInitialize.xhtml | 149 + .../EGL-Registry/sdk/docs/man/html/eglIntro.xhtml | 304 + .../sdk/docs/man/html/eglMakeCurrent.xhtml | 381 + .../sdk/docs/man/html/eglQueryAPI.xhtml | 107 + .../sdk/docs/man/html/eglQueryContext.xhtml | 267 + .../sdk/docs/man/html/eglQueryString.xhtml | 236 + .../sdk/docs/man/html/eglQuerySurface.xhtml | 435 + .../sdk/docs/man/html/eglReleaseTexImage.xhtml | 155 + .../sdk/docs/man/html/eglReleaseThread.xhtml | 158 + .../sdk/docs/man/html/eglSurfaceAttrib.xhtml | 274 + .../sdk/docs/man/html/eglSwapBuffers.xhtml | 196 + .../sdk/docs/man/html/eglSwapInterval.xhtml | 137 + .../sdk/docs/man/html/eglTerminate.xhtml | 108 + .../sdk/docs/man/html/eglWaitClient.xhtml | 114 + .../EGL-Registry/sdk/docs/man/html/eglWaitGL.xhtml | 112 + .../sdk/docs/man/html/eglWaitNative.xhtml | 108 + .../sdk/docs/man/html/eglWaitSync.xhtml | 190 + glew/auto/EGL-Registry/sdk/docs/man/html/index.php | 121 + .../EGL-Registry/sdk/docs/man/html/indexflat.php | 135 + .../EGL-Registry/sdk/docs/man/html/khronos-man.css | 209 + .../EGL-Registry/sdk/docs/man/html/khronos-man.xsl | 126 + .../EGL-Registry/sdk/docs/man/html/makeindex.py | 316 + .../EGL-Registry/sdk/docs/man/html/old-egl-man.xsl | 174 + .../EGL-Registry/sdk/docs/man/html/present.css | 47 + .../auto/EGL-Registry/sdk/docs/man/html/start.html | 87 + .../EGL-Registry/sdk/docs/man/html/style-index.css | 2 + .../EGL-Registry/sdk/docs/man/html/undohtml.css | 9 + glew/auto/EGL-Registry/sdk/docs/man/html/vn | 221 + glew/auto/EGL-Registry/sdk/docs/man/index.php | 9 + glew/auto/EGL-Registry/sdk/docs/man/mkshar | 3 + glew/auto/EGL-Registry/sdk/docs/man/reference.xml | 182 + glew/auto/EGL-Registry/sdk/docs/man/setvars | 5 + glew/auto/EGL-Registry/sdk/docs/man/top.php | 46 + .../EGL-Registry/sdk/docs/man/xhtml/EGL_300.png | Bin 0 -> 26048 bytes .../EGL-Registry/sdk/docs/man/xhtml/Header.html | 37 + .../EGL-Registry/sdk/docs/man/xhtml/Intro.html | 116 + .../sdk/docs/man/xhtml/KhronosLogo.jpg | Bin 0 -> 2454 bytes glew/auto/EGL-Registry/sdk/docs/man/xhtml/TOC.html | 179 + .../sdk/docs/man/xhtml/bullets-contract.gif | Bin 0 -> 82 bytes .../sdk/docs/man/xhtml/bullets-end.gif | Bin 0 -> 82 bytes .../sdk/docs/man/xhtml/bullets-expand.gif | Bin 0 -> 90 bytes .../sdk/docs/man/xhtml/copyright.inc.xsl | 15 + glew/auto/EGL-Registry/sdk/docs/man/xhtml/ctop.xsl | 1319 + .../EGL-Registry/sdk/docs/man/xhtml/egl-man.xsl | 274 + .../sdk/docs/man/xhtml/eglBindAPI.html | 365 + .../sdk/docs/man/xhtml/eglBindTexImage.html | 435 + .../sdk/docs/man/xhtml/eglChooseConfig.html | 1361 + .../sdk/docs/man/xhtml/eglCopyBuffers.html | 377 + .../sdk/docs/man/xhtml/eglCreateContext.html | 488 + .../xhtml/eglCreatePbufferFromClientBuffer.html | 669 + .../docs/man/xhtml/eglCreatePbufferSurface.html | 605 + .../sdk/docs/man/xhtml/eglCreatePixmapSurface.html | 494 + .../sdk/docs/man/xhtml/eglCreateWindowSurface.html | 512 + .../sdk/docs/man/xhtml/eglDestroyContext.html | 327 + .../sdk/docs/man/xhtml/eglDestroySurface.html | 329 + .../sdk/docs/man/xhtml/eglGetConfigAttrib.html | 715 + .../sdk/docs/man/xhtml/eglGetConfigs.html | 375 + .../sdk/docs/man/xhtml/eglGetCurrentContext.html | 274 + .../sdk/docs/man/xhtml/eglGetCurrentDisplay.html | 275 + .../sdk/docs/man/xhtml/eglGetCurrentSurface.html | 296 + .../sdk/docs/man/xhtml/eglGetDisplay.html | 305 + .../sdk/docs/man/xhtml/eglGetError.html | 430 + .../sdk/docs/man/xhtml/eglGetProcAddress.html | 316 + .../sdk/docs/man/xhtml/eglInitialize.html | 355 + .../EGL-Registry/sdk/docs/man/xhtml/eglIntro.html | 492 + .../sdk/docs/man/xhtml/eglMakeCurrent.html | 456 + .../sdk/docs/man/xhtml/eglQueryAPI.html | 313 + .../sdk/docs/man/xhtml/eglQueryContext.html | 474 + .../sdk/docs/man/xhtml/eglQueryString.html | 401 + .../sdk/docs/man/xhtml/eglQuerySurface.html | 599 + .../sdk/docs/man/xhtml/eglReleaseTexImage.html | 362 + .../sdk/docs/man/xhtml/eglReleaseThread.html | 364 + .../sdk/docs/man/xhtml/eglSurfaceAttrib.html | 481 + .../sdk/docs/man/xhtml/eglSwapBuffers.html | 385 + .../sdk/docs/man/xhtml/eglSwapInterval.html | 344 + .../sdk/docs/man/xhtml/eglTerminate.html | 314 + .../sdk/docs/man/xhtml/eglWaitClient.html | 320 + .../EGL-Registry/sdk/docs/man/xhtml/eglWaitGL.html | 318 + .../sdk/docs/man/xhtml/eglWaitNative.html | 314 + .../sdk/docs/man/xhtml/headBackground.jpg | Bin 0 -> 9467 bytes .../EGL-Registry/sdk/docs/man/xhtml/index.html | 15 + .../EGL-Registry/sdk/docs/man/xhtml/maketoc.pl | 354 + .../EGL-Registry/sdk/docs/man/xhtml/opengl-man.xsl | 49 + .../EGL-Registry/sdk/docs/man/xhtml/present.css | 47 + .../auto/EGL-Registry/sdk/docs/man/xhtml/style.css | 2 + .../EGL-Registry/sdk/docs/man/xhtml/styles-css.xsl | 214 + .../EGL-Registry/sdk/docs/man/xhtml/undohtml.css | 9 + glew/auto/EGL-Registry/specs/EGLTechNote0001.html | 110 + .../specs/Khronos-1600-Transparent-May07.png | Bin 0 -> 145052 bytes glew/auto/EGL-Registry/specs/eglspec.1.0.pdf | Bin 0 -> 238654 bytes glew/auto/EGL-Registry/specs/eglspec.1.1.pdf | Bin 0 -> 301346 bytes glew/auto/EGL-Registry/specs/eglspec.1.2.pdf | Bin 0 -> 478979 bytes glew/auto/EGL-Registry/specs/eglspec.1.3.pdf | Bin 0 -> 516479 bytes glew/auto/EGL-Registry/specs/eglspec.1.4.pdf | Bin 0 -> 342048 bytes .../EGL-Registry/specs/eglspec.1.4.withchanges.pdf | Bin 0 -> 347659 bytes glew/auto/EGL-Registry/specs/eglspec.1.5.pdf | Bin 0 -> 433708 bytes .../EGL-Registry/specs/eglspec.1.5.withchanges.pdf | Bin 0 -> 435618 bytes glew/auto/EGL-Registry/specs/igstyle.css | 185 + glew/auto/EGL-Registry/specs/legal.html | 34 + glew/auto/EGL-Registry/specs/legal.xhtml | 36 + glew/auto/bin/filter_gl_ext.sh | 614 + glew/auto/bin/filter_gles_ext.sh | 20 + glew/auto/bin/filter_spec.py | 38 + glew/auto/bin/make.pl | 224 + glew/auto/bin/make_def_fun.pl | 37 + glew/auto/bin/make_def_var.pl | 33 + glew/auto/bin/make_enable_index.pl | 48 + glew/auto/bin/make_header.pl | 73 + glew/auto/bin/make_html.pl | 57 + glew/auto/bin/make_index.pl | 41 + glew/auto/bin/make_info.pl | 71 + glew/auto/bin/make_info_list.pl | 49 + glew/auto/bin/make_init.pl | 61 + glew/auto/bin/make_initd.pl | 45 + glew/auto/bin/make_list.pl | 75 + glew/auto/bin/make_list2.pl | 46 + glew/auto/bin/make_str.pl | 55 + glew/auto/bin/make_struct_fun.pl | 38 + glew/auto/bin/make_struct_var.pl | 33 + glew/auto/bin/parse_spec.pl | 410 + glew/auto/bin/parse_xml.py | 145 + glew/auto/bin/update_ext.sh | 26 + glew/auto/blacklist | 27 + glew/auto/custom.txt | 7 + glew/auto/doc/advanced.html | 130 + glew/auto/doc/basic.html | 180 + glew/auto/doc/build.html | 49 + glew/auto/doc/credits.html | 2 + glew/auto/doc/index.html | 113 + glew/auto/doc/install.html | 126 + glew/auto/doc/log.html | 1319 + glew/auto/extensions/gl/.dummy | 0 glew/auto/extensions/gl/EGL_ANDROID_GLES_layers | 4 + glew/auto/extensions/gl/EGL_ANDROID_blob_cache | 5 + .../gl/EGL_ANDROID_create_native_client_buffer | 9 + .../extensions/gl/EGL_ANDROID_framebuffer_target | 5 + .../gl/EGL_ANDROID_front_buffer_auto_refresh | 5 + .../extensions/gl/EGL_ANDROID_get_frame_timestamps | 24 + .../gl/EGL_ANDROID_get_native_client_buffer | 5 + .../extensions/gl/EGL_ANDROID_image_native_buffer | 5 + .../extensions/gl/EGL_ANDROID_native_fence_sync | 9 + .../extensions/gl/EGL_ANDROID_presentation_time | 5 + glew/auto/extensions/gl/EGL_ANDROID_recordable | 5 + .../gl/EGL_ANGLE_d3d_share_handle_client_buffer | 5 + glew/auto/extensions/gl/EGL_ANGLE_device_d3d | 6 + .../extensions/gl/EGL_ANGLE_query_surface_pointer | 5 + .../EGL_ANGLE_surface_d3d_texture_2d_share_handle | 5 + .../auto/extensions/gl/EGL_ANGLE_sync_control_rate | 5 + .../auto/extensions/gl/EGL_ANGLE_window_fixed_size | 5 + glew/auto/extensions/gl/EGL_ARM_image_format | 6 + .../extensions/gl/EGL_ARM_implicit_external_sync | 5 + .../gl/EGL_ARM_pixmap_multisample_discard | 5 + glew/auto/extensions/gl/EGL_EXT_bind_to_front | 5 + glew/auto/extensions/gl/EGL_EXT_buffer_age | 5 + glew/auto/extensions/gl/EGL_EXT_client_extensions | 4 + glew/auto/extensions/gl/EGL_EXT_client_sync | 7 + glew/auto/extensions/gl/EGL_EXT_compositor | 15 + .../auto/extensions/gl/EGL_EXT_config_select_group | 5 + .../gl/EGL_EXT_create_context_robustness | 8 + glew/auto/extensions/gl/EGL_EXT_device_base | 7 + glew/auto/extensions/gl/EGL_EXT_device_drm | 6 + .../extensions/gl/EGL_EXT_device_drm_render_node | 5 + glew/auto/extensions/gl/EGL_EXT_device_enumeration | 5 + glew/auto/extensions/gl/EGL_EXT_device_openwf | 6 + .../extensions/gl/EGL_EXT_device_persistent_id | 8 + glew/auto/extensions/gl/EGL_EXT_device_query | 10 + glew/auto/extensions/gl/EGL_EXT_device_query_name | 5 + glew/auto/extensions/gl/EGL_EXT_explicit_device | 5 + .../gl/EGL_EXT_gl_colorspace_bt2020_linear | 5 + .../extensions/gl/EGL_EXT_gl_colorspace_bt2020_pq | 5 + .../extensions/gl/EGL_EXT_gl_colorspace_display_p3 | 5 + .../gl/EGL_EXT_gl_colorspace_display_p3_linear | 5 + .../EGL_EXT_gl_colorspace_display_p3_passthrough | 5 + .../auto/extensions/gl/EGL_EXT_gl_colorspace_scrgb | 5 + .../gl/EGL_EXT_gl_colorspace_scrgb_linear | 5 + .../extensions/gl/EGL_EXT_image_dma_buf_import | 26 + .../gl/EGL_EXT_image_dma_buf_import_modifiers | 17 + .../auto/extensions/gl/EGL_EXT_image_gl_colorspace | 6 + .../gl/EGL_EXT_image_implicit_sync_control | 7 + glew/auto/extensions/gl/EGL_EXT_multiview_window | 5 + glew/auto/extensions/gl/EGL_EXT_output_base | 17 + glew/auto/extensions/gl/EGL_EXT_output_drm | 7 + glew/auto/extensions/gl/EGL_EXT_output_openwf | 6 + glew/auto/extensions/gl/EGL_EXT_pixel_format_float | 7 + glew/auto/extensions/gl/EGL_EXT_platform_base | 7 + glew/auto/extensions/gl/EGL_EXT_platform_device | 5 + glew/auto/extensions/gl/EGL_EXT_platform_wayland | 5 + glew/auto/extensions/gl/EGL_EXT_platform_x11 | 6 + glew/auto/extensions/gl/EGL_EXT_platform_xcb | 6 + glew/auto/extensions/gl/EGL_EXT_present_opaque | 5 + glew/auto/extensions/gl/EGL_EXT_protected_content | 5 + glew/auto/extensions/gl/EGL_EXT_protected_surface | 5 + .../gl/EGL_EXT_stream_consumer_egloutput | 5 + .../gl/EGL_EXT_surface_CTA861_3_metadata | 6 + .../gl/EGL_EXT_surface_SMPTE2086_metadata | 15 + .../auto/extensions/gl/EGL_EXT_surface_compression | 22 + .../extensions/gl/EGL_EXT_swap_buffers_with_damage | 5 + glew/auto/extensions/gl/EGL_EXT_sync_reuse | 5 + glew/auto/extensions/gl/EGL_EXT_yuv_surface | 29 + glew/auto/extensions/gl/EGL_HI_clientpixmap | 6 + glew/auto/extensions/gl/EGL_HI_colorformats | 8 + glew/auto/extensions/gl/EGL_IMG_context_priority | 8 + .../auto/extensions/gl/EGL_IMG_image_plane_attribs | 6 + glew/auto/extensions/gl/EGL_KHR_cl_event | 7 + glew/auto/extensions/gl/EGL_KHR_cl_event2 | 8 + .../gl/EGL_KHR_client_get_all_proc_addresses | 4 + glew/auto/extensions/gl/EGL_KHR_config_attribs | 7 + .../extensions/gl/EGL_KHR_context_flush_control | 7 + glew/auto/extensions/gl/EGL_KHR_create_context | 18 + .../extensions/gl/EGL_KHR_create_context_no_error | 5 + glew/auto/extensions/gl/EGL_KHR_debug | 19 + glew/auto/extensions/gl/EGL_KHR_display_reference | 6 + glew/auto/extensions/gl/EGL_KHR_fence_sync | 7 + .../extensions/gl/EGL_KHR_get_all_proc_addresses | 4 + glew/auto/extensions/gl/EGL_KHR_gl_colorspace | 7 + .../extensions/gl/EGL_KHR_gl_renderbuffer_image | 5 + .../auto/extensions/gl/EGL_KHR_gl_texture_2D_image | 6 + .../auto/extensions/gl/EGL_KHR_gl_texture_3D_image | 6 + .../extensions/gl/EGL_KHR_gl_texture_cubemap_image | 10 + glew/auto/extensions/gl/EGL_KHR_image | 8 + glew/auto/extensions/gl/EGL_KHR_image_base | 6 + glew/auto/extensions/gl/EGL_KHR_image_pixmap | 5 + glew/auto/extensions/gl/EGL_KHR_lock_surface | 27 + glew/auto/extensions/gl/EGL_KHR_lock_surface2 | 5 + glew/auto/extensions/gl/EGL_KHR_lock_surface3 | 27 + .../extensions/gl/EGL_KHR_mutable_render_buffer | 5 + glew/auto/extensions/gl/EGL_KHR_no_config_context | 5 + glew/auto/extensions/gl/EGL_KHR_partial_update | 6 + glew/auto/extensions/gl/EGL_KHR_platform_android | 5 + glew/auto/extensions/gl/EGL_KHR_platform_gbm | 5 + glew/auto/extensions/gl/EGL_KHR_platform_wayland | 5 + glew/auto/extensions/gl/EGL_KHR_platform_x11 | 6 + glew/auto/extensions/gl/EGL_KHR_reusable_sync | 19 + glew/auto/extensions/gl/EGL_KHR_stream | 22 + glew/auto/extensions/gl/EGL_KHR_stream_attrib | 13 + .../gl/EGL_KHR_stream_consumer_gltexture | 8 + .../extensions/gl/EGL_KHR_stream_cross_process_fd | 7 + glew/auto/extensions/gl/EGL_KHR_stream_fifo | 9 + .../gl/EGL_KHR_stream_producer_aldatalocator | 4 + .../gl/EGL_KHR_stream_producer_eglsurface | 6 + .../auto/extensions/gl/EGL_KHR_surfaceless_context | 4 + .../extensions/gl/EGL_KHR_swap_buffers_with_damage | 5 + glew/auto/extensions/gl/EGL_KHR_vg_parent_image | 5 + glew/auto/extensions/gl/EGL_KHR_wait_sync | 5 + glew/auto/extensions/gl/EGL_MESA_drm_image | 14 + .../extensions/gl/EGL_MESA_image_dma_buf_export | 6 + glew/auto/extensions/gl/EGL_MESA_platform_gbm | 5 + .../extensions/gl/EGL_MESA_platform_surfaceless | 5 + glew/auto/extensions/gl/EGL_MESA_query_driver | 6 + glew/auto/extensions/gl/EGL_NOK_swap_region | 5 + glew/auto/extensions/gl/EGL_NOK_swap_region2 | 5 + .../auto/extensions/gl/EGL_NOK_texture_from_pixmap | 5 + glew/auto/extensions/gl/EGL_NV_3dvision_surface | 5 + .../extensions/gl/EGL_NV_context_priority_realtime | 5 + glew/auto/extensions/gl/EGL_NV_coverage_sample | 6 + .../extensions/gl/EGL_NV_coverage_sample_resolve | 7 + glew/auto/extensions/gl/EGL_NV_cuda_event | 7 + glew/auto/extensions/gl/EGL_NV_depth_nonlinear | 7 + glew/auto/extensions/gl/EGL_NV_device_cuda | 5 + glew/auto/extensions/gl/EGL_NV_native_query | 7 + .../extensions/gl/EGL_NV_post_convert_rounding | 4 + glew/auto/extensions/gl/EGL_NV_post_sub_buffer | 6 + glew/auto/extensions/gl/EGL_NV_quadruple_buffer | 5 + .../gl/EGL_NV_robustness_video_memory_purge | 5 + .../extensions/gl/EGL_NV_stream_consumer_eglimage | 12 + .../gl/EGL_NV_stream_consumer_gltexture_yuv | 10 + .../auto/extensions/gl/EGL_NV_stream_cross_display | 5 + glew/auto/extensions/gl/EGL_NV_stream_cross_object | 5 + .../extensions/gl/EGL_NV_stream_cross_partition | 5 + .../auto/extensions/gl/EGL_NV_stream_cross_process | 5 + glew/auto/extensions/gl/EGL_NV_stream_cross_system | 5 + glew/auto/extensions/gl/EGL_NV_stream_dma | 6 + glew/auto/extensions/gl/EGL_NV_stream_fifo_next | 6 + .../extensions/gl/EGL_NV_stream_fifo_synchronous | 5 + glew/auto/extensions/gl/EGL_NV_stream_flush | 5 + glew/auto/extensions/gl/EGL_NV_stream_frame_limits | 6 + glew/auto/extensions/gl/EGL_NV_stream_metadata | 21 + glew/auto/extensions/gl/EGL_NV_stream_origin | 15 + glew/auto/extensions/gl/EGL_NV_stream_remote | 12 + glew/auto/extensions/gl/EGL_NV_stream_reset | 7 + glew/auto/extensions/gl/EGL_NV_stream_socket | 7 + glew/auto/extensions/gl/EGL_NV_stream_socket_inet | 5 + glew/auto/extensions/gl/EGL_NV_stream_socket_unix | 5 + glew/auto/extensions/gl/EGL_NV_stream_sync | 7 + glew/auto/extensions/gl/EGL_NV_sync | 23 + glew/auto/extensions/gl/EGL_NV_system_time | 6 + glew/auto/extensions/gl/EGL_NV_triple_buffer | 5 + .../extensions/gl/EGL_TIZEN_image_native_buffer | 5 + .../extensions/gl/EGL_TIZEN_image_native_surface | 5 + .../auto/extensions/gl/EGL_WL_bind_wayland_display | 14 + .../gl/EGL_WL_create_wayland_buffer_from_image | 5 + glew/auto/extensions/gl/GLX_3DFX_multisample | 6 + glew/auto/extensions/gl/GLX_AMD_gpu_association | 23 + .../extensions/gl/GLX_ARB_context_flush_control | 7 + glew/auto/extensions/gl/GLX_ARB_create_context | 10 + .../extensions/gl/GLX_ARB_create_context_no_error | 5 + .../extensions/gl/GLX_ARB_create_context_profile | 7 + .../gl/GLX_ARB_create_context_robustness | 8 + glew/auto/extensions/gl/GLX_ARB_fbconfig_float | 6 + glew/auto/extensions/gl/GLX_ARB_framebuffer_sRGB | 5 + glew/auto/extensions/gl/GLX_ARB_get_proc_address | 5 + glew/auto/extensions/gl/GLX_ARB_multisample | 6 + .../gl/GLX_ARB_robustness_application_isolation | 5 + .../gl/GLX_ARB_robustness_share_group_isolation | 5 + .../extensions/gl/GLX_ARB_vertex_buffer_object | 5 + glew/auto/extensions/gl/GLX_ATI_pixel_format_float | 5 + glew/auto/extensions/gl/GLX_ATI_render_texture | 42 + glew/auto/extensions/gl/GLX_EXT_buffer_age | 5 + glew/auto/extensions/gl/GLX_EXT_context_priority | 8 + .../gl/GLX_EXT_create_context_es2_profile | 5 + .../gl/GLX_EXT_create_context_es_profile | 5 + .../extensions/gl/GLX_EXT_fbconfig_packed_float | 6 + glew/auto/extensions/gl/GLX_EXT_framebuffer_sRGB | 5 + glew/auto/extensions/gl/GLX_EXT_get_drawable_type | 5 + glew/auto/extensions/gl/GLX_EXT_import_context | 13 + glew/auto/extensions/gl/GLX_EXT_libglvnd | 5 + glew/auto/extensions/gl/GLX_EXT_no_config_context | 4 + glew/auto/extensions/gl/GLX_EXT_scene_marker | 4 + glew/auto/extensions/gl/GLX_EXT_stereo_tree | 7 + glew/auto/extensions/gl/GLX_EXT_swap_control | 7 + glew/auto/extensions/gl/GLX_EXT_swap_control_tear | 5 + .../auto/extensions/gl/GLX_EXT_texture_from_pixmap | 39 + glew/auto/extensions/gl/GLX_EXT_visual_info | 20 + glew/auto/extensions/gl/GLX_EXT_visual_rating | 7 + glew/auto/extensions/gl/GLX_INTEL_swap_event | 8 + glew/auto/extensions/gl/GLX_MESA_agp_offset | 5 + glew/auto/extensions/gl/GLX_MESA_copy_sub_buffer | 5 + glew/auto/extensions/gl/GLX_MESA_pixmap_colormap | 5 + glew/auto/extensions/gl/GLX_MESA_query_renderer | 19 + glew/auto/extensions/gl/GLX_MESA_release_buffers | 5 + glew/auto/extensions/gl/GLX_MESA_set_3dfx_mode | 7 + glew/auto/extensions/gl/GLX_MESA_swap_control | 6 + glew/auto/extensions/gl/GLX_NV_copy_buffer | 6 + glew/auto/extensions/gl/GLX_NV_copy_image | 6 + glew/auto/extensions/gl/GLX_NV_delay_before_swap | 5 + glew/auto/extensions/gl/GLX_NV_float_buffer | 5 + glew/auto/extensions/gl/GLX_NV_multigpu_context | 9 + .../auto/extensions/gl/GLX_NV_multisample_coverage | 6 + glew/auto/extensions/gl/GLX_NV_present_video | 7 + .../gl/GLX_NV_robustness_video_memory_purge | 5 + glew/auto/extensions/gl/GLX_NV_swap_group | 10 + glew/auto/extensions/gl/GLX_NV_vertex_array_range | 6 + glew/auto/extensions/gl/GLX_NV_video_capture | 13 + glew/auto/extensions/gl/GLX_NV_video_out | 20 + glew/auto/extensions/gl/GLX_OML_swap_method | 11 + glew/auto/extensions/gl/GLX_OML_sync_control | 9 + glew/auto/extensions/gl/GLX_SGIS_blended_overlay | 5 + glew/auto/extensions/gl/GLX_SGIS_color_range | 4 + glew/auto/extensions/gl/GLX_SGIS_multisample | 6 + .../auto/extensions/gl/GLX_SGIS_shared_multisample | 6 + glew/auto/extensions/gl/GLX_SGIX_fbconfig | 23 + glew/auto/extensions/gl/GLX_SGIX_hyperpipe | 26 + glew/auto/extensions/gl/GLX_SGIX_pbuffer | 36 + glew/auto/extensions/gl/GLX_SGIX_swap_barrier | 6 + glew/auto/extensions/gl/GLX_SGIX_swap_group | 5 + glew/auto/extensions/gl/GLX_SGIX_video_resize | 11 + .../extensions/gl/GLX_SGIX_visual_select_group | 5 + glew/auto/extensions/gl/GLX_SGI_cushion | 5 + glew/auto/extensions/gl/GLX_SGI_make_current_read | 6 + glew/auto/extensions/gl/GLX_SGI_swap_control | 5 + glew/auto/extensions/gl/GLX_SGI_video_sync | 6 + .../extensions/gl/GLX_SUN_get_transparent_index | 5 + glew/auto/extensions/gl/GLX_SUN_video_resize | 8 + glew/auto/extensions/gl/GL_3DFX_multisample | 8 + glew/auto/extensions/gl/GL_3DFX_tbuffer | 5 + .../extensions/gl/GL_3DFX_texture_compression_FXT1 | 6 + glew/auto/extensions/gl/GL_AMD_blend_minmax_factor | 6 + .../extensions/gl/GL_AMD_compressed_3DC_texture | 6 + .../extensions/gl/GL_AMD_compressed_ATC_texture | 7 + glew/auto/extensions/gl/GL_AMD_conservative_depth | 4 + glew/auto/extensions/gl/GL_AMD_debug_output | 23 + .../auto/extensions/gl/GL_AMD_depth_clamp_separate | 6 + glew/auto/extensions/gl/GL_AMD_draw_buffers_blend | 8 + .../gl/GL_AMD_framebuffer_multisample_advanced | 12 + .../gl/GL_AMD_framebuffer_sample_positions | 12 + glew/auto/extensions/gl/GL_AMD_gcn_shader | 4 + .../extensions/gl/GL_AMD_gpu_shader_half_float | 17 + .../gl/GL_AMD_gpu_shader_half_float_fetch | 33 + glew/auto/extensions/gl/GL_AMD_gpu_shader_int16 | 4 + glew/auto/extensions/gl/GL_AMD_gpu_shader_int64 | 4 + .../auto/extensions/gl/GL_AMD_interleaved_elements | 14 + glew/auto/extensions/gl/GL_AMD_multi_draw_indirect | 6 + glew/auto/extensions/gl/GL_AMD_name_gen_delete | 12 + .../extensions/gl/GL_AMD_occlusion_query_event | 11 + glew/auto/extensions/gl/GL_AMD_performance_monitor | 22 + glew/auto/extensions/gl/GL_AMD_pinned_memory | 5 + glew/auto/extensions/gl/GL_AMD_program_binary_Z400 | 5 + glew/auto/extensions/gl/GL_AMD_query_buffer_object | 7 + glew/auto/extensions/gl/GL_AMD_sample_positions | 6 + .../gl/GL_AMD_seamless_cubemap_per_texture | 5 + .../extensions/gl/GL_AMD_shader_atomic_counter_ops | 4 + glew/auto/extensions/gl/GL_AMD_shader_ballot | 4 + .../gl/GL_AMD_shader_explicit_vertex_parameter | 4 + .../gl/GL_AMD_shader_image_load_store_lod | 4 + .../extensions/gl/GL_AMD_shader_stencil_export | 4 + .../gl/GL_AMD_shader_stencil_value_export | 4 + .../extensions/gl/GL_AMD_shader_trinary_minmax | 4 + glew/auto/extensions/gl/GL_AMD_sparse_texture | 15 + .../gl/GL_AMD_stencil_operation_extended | 9 + .../extensions/gl/GL_AMD_texture_gather_bias_lod | 4 + glew/auto/extensions/gl/GL_AMD_texture_texture4 | 4 + .../gl/GL_AMD_transform_feedback3_lines_triangles | 4 + glew/auto/extensions/gl/GL_AMD_transform_feedback4 | 5 + glew/auto/extensions/gl/GL_AMD_vertex_shader_layer | 4 + .../extensions/gl/GL_AMD_vertex_shader_tessellator | 13 + .../gl/GL_AMD_vertex_shader_viewport_index | 4 + .../extensions/gl/GL_ANDROID_extension_pack_es31a | 4 + glew/auto/extensions/gl/GL_ANGLE_depth_texture | 4 + glew/auto/extensions/gl/GL_ANGLE_framebuffer_blit | 9 + .../extensions/gl/GL_ANGLE_framebuffer_multisample | 8 + glew/auto/extensions/gl/GL_ANGLE_instanced_arrays | 8 + .../extensions/gl/GL_ANGLE_pack_reverse_row_order | 5 + glew/auto/extensions/gl/GL_ANGLE_program_binary | 5 + .../gl/GL_ANGLE_texture_compression_dxt1 | 8 + .../gl/GL_ANGLE_texture_compression_dxt3 | 8 + .../gl/GL_ANGLE_texture_compression_dxt5 | 8 + glew/auto/extensions/gl/GL_ANGLE_texture_usage | 6 + glew/auto/extensions/gl/GL_ANGLE_timer_query | 21 + .../gl/GL_ANGLE_translated_shader_source | 6 + glew/auto/extensions/gl/GL_APPLE_aux_depth_stencil | 5 + glew/auto/extensions/gl/GL_APPLE_client_storage | 5 + glew/auto/extensions/gl/GL_APPLE_clip_distance | 13 + .../gl/GL_APPLE_color_buffer_packed_float | 4 + .../extensions/gl/GL_APPLE_copy_texture_levels | 5 + glew/auto/extensions/gl/GL_APPLE_element_array | 12 + glew/auto/extensions/gl/GL_APPLE_fence | 14 + glew/auto/extensions/gl/GL_APPLE_float_pixels | 18 + .../auto/extensions/gl/GL_APPLE_flush_buffer_range | 8 + .../extensions/gl/GL_APPLE_framebuffer_multisample | 13 + glew/auto/extensions/gl/GL_APPLE_object_purgeable | 13 + glew/auto/extensions/gl/GL_APPLE_pixel_buffer | 5 + glew/auto/extensions/gl/GL_APPLE_rgb_422 | 8 + glew/auto/extensions/gl/GL_APPLE_row_bytes | 6 + glew/auto/extensions/gl/GL_APPLE_specular_vector | 5 + glew/auto/extensions/gl/GL_APPLE_sync | 27 + .../extensions/gl/GL_APPLE_texture_2D_limited_npot | 4 + .../extensions/gl/GL_APPLE_texture_format_BGRA8888 | 6 + glew/auto/extensions/gl/GL_APPLE_texture_max_level | 5 + .../extensions/gl/GL_APPLE_texture_packed_float | 8 + glew/auto/extensions/gl/GL_APPLE_texture_range | 13 + glew/auto/extensions/gl/GL_APPLE_transform_hint | 5 + .../extensions/gl/GL_APPLE_vertex_array_object | 9 + .../auto/extensions/gl/GL_APPLE_vertex_array_range | 15 + .../gl/GL_APPLE_vertex_program_evaluators | 21 + glew/auto/extensions/gl/GL_APPLE_ycbcr_422 | 5 + glew/auto/extensions/gl/GL_ARB_ES2_compatibility | 26 + glew/auto/extensions/gl/GL_ARB_ES3_1_compatibility | 5 + glew/auto/extensions/gl/GL_ARB_ES3_2_compatibility | 8 + glew/auto/extensions/gl/GL_ARB_ES3_compatibility | 18 + glew/auto/extensions/gl/GL_ARB_arrays_of_arrays | 4 + glew/auto/extensions/gl/GL_ARB_base_instance | 7 + glew/auto/extensions/gl/GL_ARB_bindless_texture | 21 + glew/auto/extensions/gl/GL_ARB_blend_func_extended | 10 + glew/auto/extensions/gl/GL_ARB_buffer_storage | 14 + glew/auto/extensions/gl/GL_ARB_cl_event | 9 + glew/auto/extensions/gl/GL_ARB_clear_buffer_object | 8 + glew/auto/extensions/gl/GL_ARB_clear_texture | 7 + glew/auto/extensions/gl/GL_ARB_clip_control | 11 + glew/auto/extensions/gl/GL_ARB_color_buffer_float | 10 + glew/auto/extensions/gl/GL_ARB_compatibility | 4 + .../gl/GL_ARB_compressed_texture_pixel_storage | 12 + glew/auto/extensions/gl/GL_ARB_compute_shader | 24 + .../gl/GL_ARB_compute_variable_group_size | 9 + .../gl/GL_ARB_conditional_render_inverted | 8 + glew/auto/extensions/gl/GL_ARB_conservative_depth | 4 + glew/auto/extensions/gl/GL_ARB_copy_buffer | 7 + glew/auto/extensions/gl/GL_ARB_copy_image | 5 + glew/auto/extensions/gl/GL_ARB_cull_distance | 6 + glew/auto/extensions/gl/GL_ARB_debug_output | 31 + glew/auto/extensions/gl/GL_ARB_depth_buffer_float | 7 + glew/auto/extensions/gl/GL_ARB_depth_clamp | 5 + glew/auto/extensions/gl/GL_ARB_depth_texture | 9 + glew/auto/extensions/gl/GL_ARB_derivative_control | 4 + glew/auto/extensions/gl/GL_ARB_direct_state_access | 103 + glew/auto/extensions/gl/GL_ARB_draw_buffers | 22 + glew/auto/extensions/gl/GL_ARB_draw_buffers_blend | 8 + .../extensions/gl/GL_ARB_draw_elements_base_vertex | 8 + glew/auto/extensions/gl/GL_ARB_draw_indirect | 8 + glew/auto/extensions/gl/GL_ARB_draw_instanced | 4 + glew/auto/extensions/gl/GL_ARB_enhanced_layouts | 7 + .../extensions/gl/GL_ARB_explicit_attrib_location | 4 + .../extensions/gl/GL_ARB_explicit_uniform_location | 5 + .../gl/GL_ARB_fragment_coord_conventions | 4 + .../extensions/gl/GL_ARB_fragment_layer_viewport | 4 + glew/auto/extensions/gl/GL_ARB_fragment_program | 19 + .../extensions/gl/GL_ARB_fragment_program_shadow | 4 + glew/auto/extensions/gl/GL_ARB_fragment_shader | 7 + .../extensions/gl/GL_ARB_fragment_shader_interlock | 4 + .../gl/GL_ARB_framebuffer_no_attachments | 17 + glew/auto/extensions/gl/GL_ARB_framebuffer_object | 98 + glew/auto/extensions/gl/GL_ARB_framebuffer_sRGB | 5 + glew/auto/extensions/gl/GL_ARB_geometry_shader4 | 27 + glew/auto/extensions/gl/GL_ARB_get_program_binary | 11 + .../extensions/gl/GL_ARB_get_texture_sub_image | 6 + glew/auto/extensions/gl/GL_ARB_gl_spirv | 7 + glew/auto/extensions/gl/GL_ARB_gpu_shader5 | 10 + glew/auto/extensions/gl/GL_ARB_gpu_shader_fp64 | 34 + glew/auto/extensions/gl/GL_ARB_gpu_shader_int64 | 48 + glew/auto/extensions/gl/GL_ARB_half_float_pixel | 5 + glew/auto/extensions/gl/GL_ARB_half_float_vertex | 5 + glew/auto/extensions/gl/GL_ARB_imaging | 113 + glew/auto/extensions/gl/GL_ARB_indirect_parameters | 8 + glew/auto/extensions/gl/GL_ARB_instanced_arrays | 8 + .../auto/extensions/gl/GL_ARB_internalformat_query | 6 + .../extensions/gl/GL_ARB_internalformat_query2 | 104 + glew/auto/extensions/gl/GL_ARB_invalidate_subdata | 10 + .../auto/extensions/gl/GL_ARB_map_buffer_alignment | 5 + glew/auto/extensions/gl/GL_ARB_map_buffer_range | 12 + glew/auto/extensions/gl/GL_ARB_matrix_palette | 19 + glew/auto/extensions/gl/GL_ARB_multi_bind | 10 + glew/auto/extensions/gl/GL_ARB_multi_draw_indirect | 6 + glew/auto/extensions/gl/GL_ARB_multisample | 14 + glew/auto/extensions/gl/GL_ARB_multitexture | 73 + glew/auto/extensions/gl/GL_ARB_occlusion_query | 17 + glew/auto/extensions/gl/GL_ARB_occlusion_query2 | 5 + .../extensions/gl/GL_ARB_parallel_shader_compile | 7 + .../extensions/gl/GL_ARB_pipeline_statistics_query | 15 + glew/auto/extensions/gl/GL_ARB_pixel_buffer_object | 8 + glew/auto/extensions/gl/GL_ARB_point_parameters | 10 + glew/auto/extensions/gl/GL_ARB_point_sprite | 6 + .../auto/extensions/gl/GL_ARB_polygon_offset_clamp | 6 + glew/auto/extensions/gl/GL_ARB_post_depth_coverage | 4 + .../extensions/gl/GL_ARB_program_interface_query | 57 + glew/auto/extensions/gl/GL_ARB_provoking_vertex | 9 + glew/auto/extensions/gl/GL_ARB_query_buffer_object | 8 + .../gl/GL_ARB_robust_buffer_access_behavior | 4 + glew/auto/extensions/gl/GL_ARB_robustness | 31 + .../gl/GL_ARB_robustness_application_isolation | 4 + .../gl/GL_ARB_robustness_share_group_isolation | 4 + glew/auto/extensions/gl/GL_ARB_sample_locations | 15 + glew/auto/extensions/gl/GL_ARB_sample_shading | 7 + glew/auto/extensions/gl/GL_ARB_sampler_objects | 19 + glew/auto/extensions/gl/GL_ARB_seamless_cube_map | 5 + .../gl/GL_ARB_seamless_cubemap_per_texture | 5 + .../extensions/gl/GL_ARB_separate_shader_objects | 73 + .../extensions/gl/GL_ARB_shader_atomic_counter_ops | 4 + .../extensions/gl/GL_ARB_shader_atomic_counters | 34 + glew/auto/extensions/gl/GL_ARB_shader_ballot | 4 + glew/auto/extensions/gl/GL_ARB_shader_bit_encoding | 4 + glew/auto/extensions/gl/GL_ARB_shader_clock | 4 + .../extensions/gl/GL_ARB_shader_draw_parameters | 4 + glew/auto/extensions/gl/GL_ARB_shader_group_vote | 4 + .../extensions/gl/GL_ARB_shader_image_load_store | 70 + glew/auto/extensions/gl/GL_ARB_shader_image_size | 4 + glew/auto/extensions/gl/GL_ARB_shader_objects | 79 + glew/auto/extensions/gl/GL_ARB_shader_precision | 4 + .../extensions/gl/GL_ARB_shader_stencil_export | 4 + .../gl/GL_ARB_shader_storage_buffer_object | 21 + glew/auto/extensions/gl/GL_ARB_shader_subroutine | 21 + .../gl/GL_ARB_shader_texture_image_samples | 4 + glew/auto/extensions/gl/GL_ARB_shader_texture_lod | 4 + .../gl/GL_ARB_shader_viewport_layer_array | 4 + .../auto/extensions/gl/GL_ARB_shading_language_100 | 5 + .../extensions/gl/GL_ARB_shading_language_420pack | 4 + .../extensions/gl/GL_ARB_shading_language_include | 13 + .../extensions/gl/GL_ARB_shading_language_packing | 4 + glew/auto/extensions/gl/GL_ARB_shadow | 7 + glew/auto/extensions/gl/GL_ARB_shadow_ambient | 5 + glew/auto/extensions/gl/GL_ARB_sparse_buffer | 7 + glew/auto/extensions/gl/GL_ARB_sparse_texture | 16 + glew/auto/extensions/gl/GL_ARB_sparse_texture2 | 4 + .../auto/extensions/gl/GL_ARB_sparse_texture_clamp | 4 + glew/auto/extensions/gl/GL_ARB_spirv_extensions | 6 + glew/auto/extensions/gl/GL_ARB_stencil_texturing | 5 + glew/auto/extensions/gl/GL_ARB_sync | 26 + glew/auto/extensions/gl/GL_ARB_tessellation_shader | 38 + glew/auto/extensions/gl/GL_ARB_texture_barrier | 5 + .../auto/extensions/gl/GL_ARB_texture_border_clamp | 5 + .../extensions/gl/GL_ARB_texture_buffer_object | 10 + .../gl/GL_ARB_texture_buffer_object_rgb32 | 4 + .../auto/extensions/gl/GL_ARB_texture_buffer_range | 9 + glew/auto/extensions/gl/GL_ARB_texture_compression | 22 + .../extensions/gl/GL_ARB_texture_compression_bptc | 8 + .../extensions/gl/GL_ARB_texture_compression_rgtc | 8 + glew/auto/extensions/gl/GL_ARB_texture_cube_map | 16 + .../extensions/gl/GL_ARB_texture_cube_map_array | 11 + glew/auto/extensions/gl/GL_ARB_texture_env_add | 4 + glew/auto/extensions/gl/GL_ARB_texture_env_combine | 26 + .../auto/extensions/gl/GL_ARB_texture_env_crossbar | 4 + glew/auto/extensions/gl/GL_ARB_texture_env_dot3 | 6 + .../gl/GL_ARB_texture_filter_anisotropic | 6 + .../extensions/gl/GL_ARB_texture_filter_minmax | 6 + glew/auto/extensions/gl/GL_ARB_texture_float | 24 + glew/auto/extensions/gl/GL_ARB_texture_gather | 7 + .../gl/GL_ARB_texture_mirror_clamp_to_edge | 5 + .../extensions/gl/GL_ARB_texture_mirrored_repeat | 5 + glew/auto/extensions/gl/GL_ARB_texture_multisample | 29 + .../extensions/gl/GL_ARB_texture_non_power_of_two | 4 + .../auto/extensions/gl/GL_ARB_texture_query_levels | 4 + glew/auto/extensions/gl/GL_ARB_texture_query_lod | 4 + glew/auto/extensions/gl/GL_ARB_texture_rectangle | 10 + glew/auto/extensions/gl/GL_ARB_texture_rg | 28 + glew/auto/extensions/gl/GL_ARB_texture_rgb10_a2ui | 5 + glew/auto/extensions/gl/GL_ARB_texture_stencil8 | 6 + glew/auto/extensions/gl/GL_ARB_texture_storage | 8 + .../gl/GL_ARB_texture_storage_multisample | 8 + glew/auto/extensions/gl/GL_ARB_texture_swizzle | 9 + glew/auto/extensions/gl/GL_ARB_texture_view | 10 + glew/auto/extensions/gl/GL_ARB_timer_query | 9 + glew/auto/extensions/gl/GL_ARB_transform_feedback2 | 15 + glew/auto/extensions/gl/GL_ARB_transform_feedback3 | 10 + .../gl/GL_ARB_transform_feedback_instanced | 6 + .../gl/GL_ARB_transform_feedback_overflow_query | 6 + glew/auto/extensions/gl/GL_ARB_transpose_matrix | 12 + .../extensions/gl/GL_ARB_uniform_buffer_object | 47 + glew/auto/extensions/gl/GL_ARB_vertex_array_bgra | 5 + glew/auto/extensions/gl/GL_ARB_vertex_array_object | 9 + glew/auto/extensions/gl/GL_ARB_vertex_attrib_64bit | 14 + .../extensions/gl/GL_ARB_vertex_attrib_binding | 24 + glew/auto/extensions/gl/GL_ARB_vertex_blend | 56 + .../auto/extensions/gl/GL_ARB_vertex_buffer_object | 48 + glew/auto/extensions/gl/GL_ARB_vertex_program | 145 + glew/auto/extensions/gl/GL_ARB_vertex_shader | 14 + .../gl/GL_ARB_vertex_type_10f_11f_11f_rev | 5 + .../gl/GL_ARB_vertex_type_2_10_10_10_rev | 44 + glew/auto/extensions/gl/GL_ARB_viewport_array | 27 + glew/auto/extensions/gl/GL_ARB_window_pos | 20 + glew/auto/extensions/gl/GL_ARM_mali_program_binary | 5 + glew/auto/extensions/gl/GL_ARM_mali_shader_binary | 5 + glew/auto/extensions/gl/GL_ARM_rgba8 | 5 + .../extensions/gl/GL_ARM_shader_framebuffer_fetch | 6 + .../GL_ARM_shader_framebuffer_fetch_depth_stencil | 4 + .../gl/GL_ARM_texture_unnormalized_coordinates | 5 + glew/auto/extensions/gl/GL_ATIX_point_sprites | 10 + .../extensions/gl/GL_ATIX_texture_env_combine3 | 7 + glew/auto/extensions/gl/GL_ATIX_texture_env_route | 7 + .../gl/GL_ATIX_vertex_shader_output_point_size | 5 + glew/auto/extensions/gl/GL_ATI_draw_buffers | 22 + glew/auto/extensions/gl/GL_ATI_element_array | 10 + glew/auto/extensions/gl/GL_ATI_envmap_bumpmap | 16 + glew/auto/extensions/gl/GL_ATI_fragment_shader | 72 + glew/auto/extensions/gl/GL_ATI_map_object_buffer | 6 + glew/auto/extensions/gl/GL_ATI_meminfo | 7 + glew/auto/extensions/gl/GL_ATI_pn_triangles | 15 + glew/auto/extensions/gl/GL_ATI_separate_stencil | 10 + glew/auto/extensions/gl/GL_ATI_shader_texture_lod | 4 + .../auto/extensions/gl/GL_ATI_text_fragment_shader | 5 + .../extensions/gl/GL_ATI_texture_compression_3dc | 5 + .../auto/extensions/gl/GL_ATI_texture_env_combine3 | 7 + glew/auto/extensions/gl/GL_ATI_texture_float | 16 + glew/auto/extensions/gl/GL_ATI_texture_mirror_once | 6 + glew/auto/extensions/gl/GL_ATI_vertex_array_object | 24 + .../gl/GL_ATI_vertex_attrib_array_object | 7 + glew/auto/extensions/gl/GL_ATI_vertex_streams | 59 + glew/auto/extensions/gl/GL_DMP_program_binary | 7 + glew/auto/extensions/gl/GL_DMP_shader_binary | 5 + glew/auto/extensions/gl/GL_EXT_422_pixels | 8 + glew/auto/extensions/gl/GL_EXT_Cg_shader | 6 + glew/auto/extensions/gl/GL_EXT_EGL_image_array | 4 + .../gl/GL_EXT_EGL_image_external_wrap_modes | 4 + glew/auto/extensions/gl/GL_EXT_EGL_image_storage | 6 + .../gl/GL_EXT_EGL_image_storage_compression | 7 + glew/auto/extensions/gl/GL_EXT_EGL_sync | 4 + glew/auto/extensions/gl/GL_EXT_YUV_target | 5 + glew/auto/extensions/gl/GL_EXT_abgr | 5 + glew/auto/extensions/gl/GL_EXT_base_instance | 7 + glew/auto/extensions/gl/GL_EXT_bgra | 6 + glew/auto/extensions/gl/GL_EXT_bindable_uniform | 13 + glew/auto/extensions/gl/GL_EXT_blend_color | 10 + .../extensions/gl/GL_EXT_blend_equation_separate | 7 + glew/auto/extensions/gl/GL_EXT_blend_func_extended | 14 + glew/auto/extensions/gl/GL_EXT_blend_func_separate | 9 + glew/auto/extensions/gl/GL_EXT_blend_logic_op | 4 + glew/auto/extensions/gl/GL_EXT_blend_minmax | 9 + glew/auto/extensions/gl/GL_EXT_blend_subtract | 6 + glew/auto/extensions/gl/GL_EXT_buffer_storage | 15 + glew/auto/extensions/gl/GL_EXT_clear_texture | 6 + glew/auto/extensions/gl/GL_EXT_clip_control | 11 + glew/auto/extensions/gl/GL_EXT_clip_cull_distance | 15 + glew/auto/extensions/gl/GL_EXT_clip_volume_hint | 5 + glew/auto/extensions/gl/GL_EXT_cmyka | 8 + glew/auto/extensions/gl/GL_EXT_color_buffer_float | 4 + .../extensions/gl/GL_EXT_color_buffer_half_float | 10 + glew/auto/extensions/gl/GL_EXT_color_subtable | 6 + .../extensions/gl/GL_EXT_compiled_vertex_array | 8 + .../gl/GL_EXT_compressed_ETC1_RGB8_sub_texture | 4 + glew/auto/extensions/gl/GL_EXT_conservative_depth | 4 + glew/auto/extensions/gl/GL_EXT_convolution | 37 + glew/auto/extensions/gl/GL_EXT_coordinate_frame | 20 + glew/auto/extensions/gl/GL_EXT_copy_image | 5 + glew/auto/extensions/gl/GL_EXT_copy_texture | 9 + glew/auto/extensions/gl/GL_EXT_cull_vertex | 9 + glew/auto/extensions/gl/GL_EXT_debug_label | 12 + glew/auto/extensions/gl/GL_EXT_debug_marker | 7 + glew/auto/extensions/gl/GL_EXT_depth_bounds_test | 7 + glew/auto/extensions/gl/GL_EXT_depth_clamp | 5 + glew/auto/extensions/gl/GL_EXT_direct_state_access | 221 + glew/auto/extensions/gl/GL_EXT_discard_framebuffer | 8 + .../auto/extensions/gl/GL_EXT_disjoint_timer_query | 21 + glew/auto/extensions/gl/GL_EXT_draw_buffers | 39 + glew/auto/extensions/gl/GL_EXT_draw_buffers2 | 10 + .../auto/extensions/gl/GL_EXT_draw_buffers_indexed | 12 + .../extensions/gl/GL_EXT_draw_elements_base_vertex | 8 + glew/auto/extensions/gl/GL_EXT_draw_instanced | 6 + glew/auto/extensions/gl/GL_EXT_draw_range_elements | 7 + .../extensions/gl/GL_EXT_draw_transform_feedback | 6 + glew/auto/extensions/gl/GL_EXT_external_buffer | 7 + glew/auto/extensions/gl/GL_EXT_float_blend | 4 + glew/auto/extensions/gl/GL_EXT_fog_coord | 17 + glew/auto/extensions/gl/GL_EXT_frag_depth | 4 + glew/auto/extensions/gl/GL_EXT_fragment_lighting | 36 + glew/auto/extensions/gl/GL_EXT_framebuffer_blit | 9 + .../extensions/gl/GL_EXT_framebuffer_multisample | 10 + .../gl/GL_EXT_framebuffer_multisample_blit_scaled | 6 + glew/auto/extensions/gl/GL_EXT_framebuffer_object | 72 + glew/auto/extensions/gl/GL_EXT_framebuffer_sRGB | 6 + glew/auto/extensions/gl/GL_EXT_geometry_point_size | 37 + glew/auto/extensions/gl/GL_EXT_geometry_shader | 37 + glew/auto/extensions/gl/GL_EXT_geometry_shader4 | 27 + .../extensions/gl/GL_EXT_gpu_program_parameters | 6 + glew/auto/extensions/gl/GL_EXT_gpu_shader4 | 64 + glew/auto/extensions/gl/GL_EXT_gpu_shader5 | 4 + glew/auto/extensions/gl/GL_EXT_histogram | 27 + glew/auto/extensions/gl/GL_EXT_index_array_formats | 4 + glew/auto/extensions/gl/GL_EXT_index_func | 5 + glew/auto/extensions/gl/GL_EXT_index_material | 5 + glew/auto/extensions/gl/GL_EXT_index_texture | 4 + glew/auto/extensions/gl/GL_EXT_instanced_arrays | 6 + glew/auto/extensions/gl/GL_EXT_light_texture | 16 + glew/auto/extensions/gl/GL_EXT_map_buffer_range | 12 + glew/auto/extensions/gl/GL_EXT_memory_object | 34 + glew/auto/extensions/gl/GL_EXT_memory_object_fd | 6 + glew/auto/extensions/gl/GL_EXT_memory_object_win32 | 17 + glew/auto/extensions/gl/GL_EXT_misc_attribute | 4 + glew/auto/extensions/gl/GL_EXT_multi_draw_arrays | 6 + glew/auto/extensions/gl/GL_EXT_multi_draw_indirect | 6 + glew/auto/extensions/gl/GL_EXT_multiple_textures | 4 + glew/auto/extensions/gl/GL_EXT_multisample | 23 + .../extensions/gl/GL_EXT_multisample_compatibility | 6 + .../gl/GL_EXT_multisampled_render_to_texture | 9 + .../gl/GL_EXT_multisampled_render_to_texture2 | 4 + .../extensions/gl/GL_EXT_multiview_draw_buffers | 12 + .../GL_EXT_multiview_tessellation_geometry_shader | 4 + .../gl/GL_EXT_multiview_texture_multisample | 4 + .../extensions/gl/GL_EXT_multiview_timer_query | 4 + .../extensions/gl/GL_EXT_occlusion_query_boolean | 9 + .../auto/extensions/gl/GL_EXT_packed_depth_stencil | 8 + glew/auto/extensions/gl/GL_EXT_packed_float | 7 + glew/auto/extensions/gl/GL_EXT_packed_pixels | 9 + glew/auto/extensions/gl/GL_EXT_paletted_texture | 29 + glew/auto/extensions/gl/GL_EXT_pixel_buffer_object | 8 + glew/auto/extensions/gl/GL_EXT_pixel_transform | 19 + .../gl/GL_EXT_pixel_transform_color_table | 4 + glew/auto/extensions/gl/GL_EXT_point_parameters | 10 + glew/auto/extensions/gl/GL_EXT_polygon_offset | 8 + .../auto/extensions/gl/GL_EXT_polygon_offset_clamp | 6 + glew/auto/extensions/gl/GL_EXT_post_depth_coverage | 4 + .../extensions/gl/GL_EXT_primitive_bounding_box | 6 + glew/auto/extensions/gl/GL_EXT_protected_textures | 6 + glew/auto/extensions/gl/GL_EXT_provoking_vertex | 9 + glew/auto/extensions/gl/GL_EXT_pvrtc_sRGB | 8 + glew/auto/extensions/gl/GL_EXT_raster_multisample | 22 + glew/auto/extensions/gl/GL_EXT_read_format_bgra | 7 + glew/auto/extensions/gl/GL_EXT_render_snorm | 12 + glew/auto/extensions/gl/GL_EXT_rescale_normal | 5 + glew/auto/extensions/gl/GL_EXT_robustness | 15 + glew/auto/extensions/gl/GL_EXT_sRGB | 8 + glew/auto/extensions/gl/GL_EXT_sRGB_write_control | 5 + glew/auto/extensions/gl/GL_EXT_scene_marker | 6 + glew/auto/extensions/gl/GL_EXT_secondary_color | 28 + glew/auto/extensions/gl/GL_EXT_semaphore | 21 + glew/auto/extensions/gl/GL_EXT_semaphore_fd | 5 + glew/auto/extensions/gl/GL_EXT_semaphore_win32 | 6 + .../extensions/gl/GL_EXT_separate_depth_stencil | 4 + .../extensions/gl/GL_EXT_separate_shader_objects | 8 + .../extensions/gl/GL_EXT_separate_specular_color | 7 + .../extensions/gl/GL_EXT_shader_framebuffer_fetch | 6 + .../GL_EXT_shader_framebuffer_fetch_non_coherent | 5 + glew/auto/extensions/gl/GL_EXT_shader_group_vote | 4 + .../gl/GL_EXT_shader_image_load_formatted | 4 + .../extensions/gl/GL_EXT_shader_image_load_store | 61 + .../gl/GL_EXT_shader_implicit_conversions | 4 + glew/auto/extensions/gl/GL_EXT_shader_integer_mix | 4 + glew/auto/extensions/gl/GL_EXT_shader_io_blocks | 4 + .../GL_EXT_shader_non_constant_global_initializers | 4 + .../gl/GL_EXT_shader_pixel_local_storage | 7 + .../gl/GL_EXT_shader_pixel_local_storage2 | 10 + .../extensions/gl/GL_EXT_shader_samples_identical | 4 + glew/auto/extensions/gl/GL_EXT_shader_texture_lod | 4 + glew/auto/extensions/gl/GL_EXT_shadow_funcs | 4 + glew/auto/extensions/gl/GL_EXT_shadow_samplers | 8 + .../extensions/gl/GL_EXT_shared_texture_palette | 5 + glew/auto/extensions/gl/GL_EXT_sparse_texture | 22 + glew/auto/extensions/gl/GL_EXT_sparse_texture2 | 4 + glew/auto/extensions/gl/GL_EXT_static_vertex_array | 4 + glew/auto/extensions/gl/GL_EXT_stencil_clear_tag | 6 + glew/auto/extensions/gl/GL_EXT_stencil_two_side | 7 + glew/auto/extensions/gl/GL_EXT_stencil_wrap | 6 + glew/auto/extensions/gl/GL_EXT_subtexture | 7 + .../extensions/gl/GL_EXT_tessellation_point_size | 48 + glew/auto/extensions/gl/GL_EXT_tessellation_shader | 47 + glew/auto/extensions/gl/GL_EXT_texture | 46 + glew/auto/extensions/gl/GL_EXT_texture3D | 14 + glew/auto/extensions/gl/GL_EXT_texture_array | 13 + .../auto/extensions/gl/GL_EXT_texture_border_clamp | 10 + glew/auto/extensions/gl/GL_EXT_texture_buffer | 18 + .../extensions/gl/GL_EXT_texture_buffer_object | 10 + .../gl/GL_EXT_texture_compression_astc_decode_mode | 5 + ...EXT_texture_compression_astc_decode_mode_rgb9e5 | 5 + .../extensions/gl/GL_EXT_texture_compression_bptc | 8 + .../extensions/gl/GL_EXT_texture_compression_dxt1 | 4 + .../extensions/gl/GL_EXT_texture_compression_latc | 8 + .../extensions/gl/GL_EXT_texture_compression_rgtc | 8 + .../extensions/gl/GL_EXT_texture_compression_s3tc | 8 + .../gl/GL_EXT_texture_compression_s3tc_srgb | 8 + glew/auto/extensions/gl/GL_EXT_texture_cube_map | 16 + .../extensions/gl/GL_EXT_texture_cube_map_array | 13 + glew/auto/extensions/gl/GL_EXT_texture_edge_clamp | 5 + glew/auto/extensions/gl/GL_EXT_texture_env | 4 + glew/auto/extensions/gl/GL_EXT_texture_env_add | 4 + glew/auto/extensions/gl/GL_EXT_texture_env_combine | 25 + glew/auto/extensions/gl/GL_EXT_texture_env_dot3 | 6 + .../gl/GL_EXT_texture_filter_anisotropic | 6 + .../extensions/gl/GL_EXT_texture_filter_minmax | 6 + .../extensions/gl/GL_EXT_texture_format_BGRA8888 | 5 + .../gl/GL_EXT_texture_format_sRGB_override | 5 + glew/auto/extensions/gl/GL_EXT_texture_integer | 57 + glew/auto/extensions/gl/GL_EXT_texture_lod_bias | 7 + .../auto/extensions/gl/GL_EXT_texture_mirror_clamp | 7 + .../gl/GL_EXT_texture_mirror_clamp_to_edge | 5 + glew/auto/extensions/gl/GL_EXT_texture_norm16 | 12 + glew/auto/extensions/gl/GL_EXT_texture_object | 15 + .../extensions/gl/GL_EXT_texture_perturb_normal | 7 + glew/auto/extensions/gl/GL_EXT_texture_query_lod | 4 + glew/auto/extensions/gl/GL_EXT_texture_rectangle | 8 + glew/auto/extensions/gl/GL_EXT_texture_rg | 8 + glew/auto/extensions/gl/GL_EXT_texture_sRGB | 20 + glew/auto/extensions/gl/GL_EXT_texture_sRGB_R8 | 5 + glew/auto/extensions/gl/GL_EXT_texture_sRGB_RG8 | 5 + glew/auto/extensions/gl/GL_EXT_texture_sRGB_decode | 7 + glew/auto/extensions/gl/GL_EXT_texture_shadow_lod | 4 + .../extensions/gl/GL_EXT_texture_shared_exponent | 7 + glew/auto/extensions/gl/GL_EXT_texture_snorm | 29 + glew/auto/extensions/gl/GL_EXT_texture_storage | 34 + .../gl/GL_EXT_texture_storage_compression | 22 + glew/auto/extensions/gl/GL_EXT_texture_swizzle | 9 + .../gl/GL_EXT_texture_type_2_10_10_10_REV | 5 + glew/auto/extensions/gl/GL_EXT_texture_view | 10 + glew/auto/extensions/gl/GL_EXT_timer_query | 7 + glew/auto/extensions/gl/GL_EXT_transform_feedback | 26 + glew/auto/extensions/gl/GL_EXT_unpack_subimage | 7 + glew/auto/extensions/gl/GL_EXT_vertex_array | 45 + glew/auto/extensions/gl/GL_EXT_vertex_array_bgra | 5 + glew/auto/extensions/gl/GL_EXT_vertex_array_setXXX | 7 + glew/auto/extensions/gl/GL_EXT_vertex_attrib_64bit | 27 + glew/auto/extensions/gl/GL_EXT_vertex_shader | 157 + glew/auto/extensions/gl/GL_EXT_vertex_weighting | 20 + glew/auto/extensions/gl/GL_EXT_win32_keyed_mutex | 6 + glew/auto/extensions/gl/GL_EXT_window_rectangles | 11 + glew/auto/extensions/gl/GL_EXT_x11_sync_object | 6 + glew/auto/extensions/gl/GL_FJ_shader_binary_GCCSO | 5 + .../auto/extensions/gl/GL_GREMEDY_frame_terminator | 5 + glew/auto/extensions/gl/GL_GREMEDY_string_marker | 5 + .../extensions/gl/GL_HP_convolution_border_modes | 4 + glew/auto/extensions/gl/GL_HP_image_transform | 10 + glew/auto/extensions/gl/GL_HP_occlusion_test | 4 + glew/auto/extensions/gl/GL_HP_texture_lighting | 4 + glew/auto/extensions/gl/GL_IBM_cull_vertex | 5 + .../extensions/gl/GL_IBM_multimode_draw_arrays | 6 + glew/auto/extensions/gl/GL_IBM_rasterpos_clip | 5 + glew/auto/extensions/gl/GL_IBM_static_data | 6 + .../extensions/gl/GL_IBM_texture_mirrored_repeat | 5 + glew/auto/extensions/gl/GL_IBM_vertex_array_lists | 28 + glew/auto/extensions/gl/GL_IMG_bindless_texture | 10 + .../extensions/gl/GL_IMG_framebuffer_downsample | 10 + .../gl/GL_IMG_multisampled_render_to_texture | 10 + glew/auto/extensions/gl/GL_IMG_program_binary | 5 + glew/auto/extensions/gl/GL_IMG_read_format | 6 + glew/auto/extensions/gl/GL_IMG_shader_binary | 5 + .../extensions/gl/GL_IMG_texture_compression_pvrtc | 8 + .../gl/GL_IMG_texture_compression_pvrtc2 | 6 + .../gl/GL_IMG_texture_env_enhanced_fixed_function | 11 + .../auto/extensions/gl/GL_IMG_texture_filter_cubic | 7 + .../extensions/gl/GL_IMG_tile_region_protection | 7 + glew/auto/extensions/gl/GL_INGR_color_clamp | 12 + glew/auto/extensions/gl/GL_INGR_interlace_read | 5 + glew/auto/extensions/gl/GL_INTEL_blackhole_render | 5 + .../gl/GL_INTEL_conservative_rasterization | 5 + .../gl/GL_INTEL_fragment_shader_ordering | 4 + glew/auto/extensions/gl/GL_INTEL_framebuffer_CMAA | 5 + glew/auto/extensions/gl/GL_INTEL_map_texture | 11 + glew/auto/extensions/gl/GL_INTEL_parallel_arrays | 13 + glew/auto/extensions/gl/GL_INTEL_performance_query | 34 + .../gl/GL_INTEL_shader_integer_functions2 | 4 + glew/auto/extensions/gl/GL_INTEL_texture_scissor | 6 + .../extensions/gl/GL_KHR_blend_equation_advanced | 21 + .../gl/GL_KHR_blend_equation_advanced_coherent | 4 + .../extensions/gl/GL_KHR_context_flush_control | 7 + glew/auto/extensions/gl/GL_KHR_debug | 55 + glew/auto/extensions/gl/GL_KHR_no_error | 5 + .../extensions/gl/GL_KHR_parallel_shader_compile | 7 + .../gl/GL_KHR_robust_buffer_access_behavior | 4 + glew/auto/extensions/gl/GL_KHR_robustness | 16 + glew/auto/extensions/gl/GL_KHR_shader_subgroup | 16 + .../gl/GL_KHR_texture_compression_astc_hdr | 52 + .../gl/GL_KHR_texture_compression_astc_ldr | 52 + .../gl/GL_KHR_texture_compression_astc_sliced_3d | 4 + glew/auto/extensions/gl/GL_KTX_buffer_region | 13 + glew/auto/extensions/gl/GL_MESAX_texture_stack | 10 + glew/auto/extensions/gl/GL_MESA_bgra | 6 + glew/auto/extensions/gl/GL_MESA_framebuffer_flip_x | 5 + glew/auto/extensions/gl/GL_MESA_framebuffer_flip_y | 7 + .../auto/extensions/gl/GL_MESA_framebuffer_swap_xy | 5 + glew/auto/extensions/gl/GL_MESA_pack_invert | 5 + .../extensions/gl/GL_MESA_program_binary_formats | 5 + glew/auto/extensions/gl/GL_MESA_resize_buffers | 5 + .../extensions/gl/GL_MESA_shader_integer_functions | 4 + glew/auto/extensions/gl/GL_MESA_tile_raster_order | 4 + glew/auto/extensions/gl/GL_MESA_window_pos | 28 + glew/auto/extensions/gl/GL_MESA_ycbcr_texture | 7 + ..._NVX_blend_equation_advanced_multi_draw_buffers | 4 + glew/auto/extensions/gl/GL_NVX_conditional_render | 6 + glew/auto/extensions/gl/GL_NVX_gpu_memory_info | 9 + glew/auto/extensions/gl/GL_NVX_gpu_multicast2 | 11 + .../auto/extensions/gl/GL_NVX_linked_gpu_multicast | 9 + glew/auto/extensions/gl/GL_NVX_progress_fence | 8 + glew/auto/extensions/gl/GL_NV_3dvision_settings | 13 + .../gl/GL_NV_EGL_stream_consumer_external | 8 + .../gl/GL_NV_alpha_to_coverage_dither_control | 9 + glew/auto/extensions/gl/GL_NV_bgr | 5 + .../gl/GL_NV_bindless_multi_draw_indirect | 6 + .../gl/GL_NV_bindless_multi_draw_indirect_count | 6 + glew/auto/extensions/gl/GL_NV_bindless_texture | 17 + .../extensions/gl/GL_NV_blend_equation_advanced | 56 + .../gl/GL_NV_blend_equation_advanced_coherent | 4 + glew/auto/extensions/gl/GL_NV_blend_minmax_factor | 6 + glew/auto/extensions/gl/GL_NV_blend_square | 4 + glew/auto/extensions/gl/GL_NV_clip_space_w_scaling | 8 + glew/auto/extensions/gl/GL_NV_command_list | 40 + glew/auto/extensions/gl/GL_NV_compute_program5 | 6 + .../extensions/gl/GL_NV_compute_shader_derivatives | 4 + glew/auto/extensions/gl/GL_NV_conditional_render | 10 + glew/auto/extensions/gl/GL_NV_conservative_raster | 9 + .../extensions/gl/GL_NV_conservative_raster_dilate | 8 + .../gl/GL_NV_conservative_raster_pre_snap | 5 + .../GL_NV_conservative_raster_pre_snap_triangles | 8 + .../gl/GL_NV_conservative_raster_underestimation | 4 + glew/auto/extensions/gl/GL_NV_copy_buffer | 7 + glew/auto/extensions/gl/GL_NV_copy_depth_to_color | 6 + glew/auto/extensions/gl/GL_NV_copy_image | 5 + glew/auto/extensions/gl/GL_NV_deep_texture3D | 6 + glew/auto/extensions/gl/GL_NV_depth_buffer_float | 11 + glew/auto/extensions/gl/GL_NV_depth_clamp | 5 + glew/auto/extensions/gl/GL_NV_depth_nonlinear | 5 + .../auto/extensions/gl/GL_NV_depth_range_unclamped | 9 + glew/auto/extensions/gl/GL_NV_draw_buffers | 38 + glew/auto/extensions/gl/GL_NV_draw_instanced | 6 + glew/auto/extensions/gl/GL_NV_draw_texture | 5 + glew/auto/extensions/gl/GL_NV_draw_vulkan_image | 10 + glew/auto/extensions/gl/GL_NV_evaluators | 37 + .../extensions/gl/GL_NV_explicit_attrib_location | 4 + glew/auto/extensions/gl/GL_NV_explicit_multisample | 17 + .../auto/extensions/gl/GL_NV_fbo_color_attachments | 21 + glew/auto/extensions/gl/GL_NV_fence | 14 + glew/auto/extensions/gl/GL_NV_fill_rectangle | 5 + glew/auto/extensions/gl/GL_NV_float_buffer | 19 + glew/auto/extensions/gl/GL_NV_fog_distance | 7 + .../extensions/gl/GL_NV_fragment_coverage_to_color | 7 + glew/auto/extensions/gl/GL_NV_fragment_program | 16 + glew/auto/extensions/gl/GL_NV_fragment_program2 | 9 + glew/auto/extensions/gl/GL_NV_fragment_program4 | 4 + .../extensions/gl/GL_NV_fragment_program_option | 4 + .../gl/GL_NV_fragment_shader_barycentric | 4 + .../extensions/gl/GL_NV_fragment_shader_interlock | 4 + glew/auto/extensions/gl/GL_NV_framebuffer_blit | 9 + .../extensions/gl/GL_NV_framebuffer_mixed_samples | 18 + .../extensions/gl/GL_NV_framebuffer_multisample | 8 + .../gl/GL_NV_framebuffer_multisample_coverage | 9 + glew/auto/extensions/gl/GL_NV_generate_mipmap_sRGB | 4 + glew/auto/extensions/gl/GL_NV_geometry_program4 | 8 + glew/auto/extensions/gl/GL_NV_geometry_shader4 | 4 + .../gl/GL_NV_geometry_shader_passthrough | 4 + glew/auto/extensions/gl/GL_NV_gpu_multicast | 21 + glew/auto/extensions/gl/GL_NV_gpu_program4 | 24 + glew/auto/extensions/gl/GL_NV_gpu_program5 | 10 + .../extensions/gl/GL_NV_gpu_program5_mem_extended | 4 + glew/auto/extensions/gl/GL_NV_gpu_program_fp64 | 4 + glew/auto/extensions/gl/GL_NV_gpu_shader5 | 66 + glew/auto/extensions/gl/GL_NV_half_float | 52 + glew/auto/extensions/gl/GL_NV_image_formats | 4 + glew/auto/extensions/gl/GL_NV_instanced_arrays | 6 + .../gl/GL_NV_internalformat_sample_query | 9 + glew/auto/extensions/gl/GL_NV_light_max_exponent | 6 + glew/auto/extensions/gl/GL_NV_memory_attachment | 20 + glew/auto/extensions/gl/GL_NV_memory_object_sparse | 8 + glew/auto/extensions/gl/GL_NV_mesh_shader | 56 + glew/auto/extensions/gl/GL_NV_multisample_coverage | 5 + .../extensions/gl/GL_NV_multisample_filter_hint | 5 + glew/auto/extensions/gl/GL_NV_non_square_matrices | 16 + glew/auto/extensions/gl/GL_NV_occlusion_query | 15 + glew/auto/extensions/gl/GL_NV_pack_subimage | 7 + glew/auto/extensions/gl/GL_NV_packed_depth_stencil | 6 + glew/auto/extensions/gl/GL_NV_packed_float | 6 + glew/auto/extensions/gl/GL_NV_packed_float_linear | 6 + .../extensions/gl/GL_NV_parameter_buffer_object | 12 + .../extensions/gl/GL_NV_parameter_buffer_object2 | 4 + glew/auto/extensions/gl/GL_NV_path_rendering | 217 + .../extensions/gl/GL_NV_path_rendering_shared_edge | 5 + glew/auto/extensions/gl/GL_NV_pixel_buffer_object | 8 + glew/auto/extensions/gl/GL_NV_pixel_data_range | 12 + glew/auto/extensions/gl/GL_NV_platform_binary | 5 + glew/auto/extensions/gl/GL_NV_point_sprite | 9 + glew/auto/extensions/gl/GL_NV_polygon_mode | 11 + glew/auto/extensions/gl/GL_NV_present_video | 16 + glew/auto/extensions/gl/GL_NV_primitive_restart | 8 + .../extensions/gl/GL_NV_primitive_shading_rate | 6 + glew/auto/extensions/gl/GL_NV_query_resource_tag | 4 + glew/auto/extensions/gl/GL_NV_read_buffer | 6 + glew/auto/extensions/gl/GL_NV_read_buffer_front | 5 + glew/auto/extensions/gl/GL_NV_read_depth | 4 + glew/auto/extensions/gl/GL_NV_read_depth_stencil | 4 + glew/auto/extensions/gl/GL_NV_read_stencil | 4 + glew/auto/extensions/gl/GL_NV_register_combiners | 68 + glew/auto/extensions/gl/GL_NV_register_combiners2 | 7 + .../gl/GL_NV_representative_fragment_test | 5 + .../gl/GL_NV_robustness_video_memory_purge | 5 + glew/auto/extensions/gl/GL_NV_sRGB_formats | 14 + glew/auto/extensions/gl/GL_NV_sample_locations | 15 + .../gl/GL_NV_sample_mask_override_coverage | 4 + glew/auto/extensions/gl/GL_NV_scissor_exclusive | 8 + .../extensions/gl/GL_NV_shader_atomic_counters | 4 + glew/auto/extensions/gl/GL_NV_shader_atomic_float | 4 + .../auto/extensions/gl/GL_NV_shader_atomic_float64 | 4 + .../extensions/gl/GL_NV_shader_atomic_fp16_vector | 4 + glew/auto/extensions/gl/GL_NV_shader_atomic_int64 | 4 + glew/auto/extensions/gl/GL_NV_shader_buffer_load | 20 + .../gl/GL_NV_shader_noperspective_interpolation | 4 + .../gl/GL_NV_shader_storage_buffer_object | 4 + .../gl/GL_NV_shader_subgroup_partitioned | 5 + .../extensions/gl/GL_NV_shader_texture_footprint | 4 + glew/auto/extensions/gl/GL_NV_shader_thread_group | 7 + .../auto/extensions/gl/GL_NV_shader_thread_shuffle | 4 + glew/auto/extensions/gl/GL_NV_shading_rate_image | 32 + .../auto/extensions/gl/GL_NV_shadow_samplers_array | 5 + glew/auto/extensions/gl/GL_NV_shadow_samplers_cube | 5 + .../auto/extensions/gl/GL_NV_stereo_view_rendering | 4 + .../auto/extensions/gl/GL_NV_tessellation_program5 | 9 + glew/auto/extensions/gl/GL_NV_texgen_emboss | 7 + glew/auto/extensions/gl/GL_NV_texgen_reflection | 6 + glew/auto/extensions/gl/GL_NV_texture_array | 17 + glew/auto/extensions/gl/GL_NV_texture_barrier | 5 + glew/auto/extensions/gl/GL_NV_texture_border_clamp | 6 + .../extensions/gl/GL_NV_texture_compression_latc | 8 + .../extensions/gl/GL_NV_texture_compression_s3tc | 8 + .../gl/GL_NV_texture_compression_s3tc_update | 4 + .../extensions/gl/GL_NV_texture_compression_vtc | 4 + glew/auto/extensions/gl/GL_NV_texture_env_combine4 | 9 + .../auto/extensions/gl/GL_NV_texture_expand_normal | 5 + glew/auto/extensions/gl/GL_NV_texture_multisample | 12 + .../extensions/gl/GL_NV_texture_npot_2D_mipmap | 4 + glew/auto/extensions/gl/GL_NV_texture_rectangle | 8 + .../gl/GL_NV_texture_rectangle_compressed | 4 + glew/auto/extensions/gl/GL_NV_texture_shader | 77 + glew/auto/extensions/gl/GL_NV_texture_shader2 | 32 + glew/auto/extensions/gl/GL_NV_texture_shader3 | 21 + glew/auto/extensions/gl/GL_NV_timeline_semaphore | 12 + glew/auto/extensions/gl/GL_NV_transform_feedback | 40 + glew/auto/extensions/gl/GL_NV_transform_feedback2 | 15 + .../gl/GL_NV_uniform_buffer_unified_memory | 7 + glew/auto/extensions/gl/GL_NV_vdpau_interop | 19 + glew/auto/extensions/gl/GL_NV_vdpau_interop2 | 5 + glew/auto/extensions/gl/GL_NV_vertex_array_range | 11 + glew/auto/extensions/gl/GL_NV_vertex_array_range2 | 5 + .../gl/GL_NV_vertex_attrib_integer_64bit | 25 + .../gl/GL_NV_vertex_buffer_unified_memory | 41 + glew/auto/extensions/gl/GL_NV_vertex_program | 151 + glew/auto/extensions/gl/GL_NV_vertex_program1_1 | 4 + glew/auto/extensions/gl/GL_NV_vertex_program2 | 4 + .../extensions/gl/GL_NV_vertex_program2_option | 6 + glew/auto/extensions/gl/GL_NV_vertex_program3 | 5 + glew/auto/extensions/gl/GL_NV_vertex_program4 | 5 + glew/auto/extensions/gl/GL_NV_video_capture | 45 + glew/auto/extensions/gl/GL_NV_viewport_array | 24 + glew/auto/extensions/gl/GL_NV_viewport_array2 | 4 + glew/auto/extensions/gl/GL_NV_viewport_swizzle | 17 + glew/auto/extensions/gl/GL_OES_EGL_image | 6 + glew/auto/extensions/gl/GL_OES_EGL_image_external | 8 + .../extensions/gl/GL_OES_EGL_image_external_essl3 | 4 + .../extensions/gl/GL_OES_blend_equation_separate | 7 + glew/auto/extensions/gl/GL_OES_blend_func_separate | 9 + glew/auto/extensions/gl/GL_OES_blend_subtract | 9 + glew/auto/extensions/gl/GL_OES_byte_coordinates | 4 + .../gl/GL_OES_compressed_ETC1_RGB8_texture | 5 + .../gl/GL_OES_compressed_paletted_texture | 14 + glew/auto/extensions/gl/GL_OES_copy_image | 5 + glew/auto/extensions/gl/GL_OES_depth24 | 5 + glew/auto/extensions/gl/GL_OES_depth32 | 5 + glew/auto/extensions/gl/GL_OES_depth_texture | 7 + .../extensions/gl/GL_OES_depth_texture_cube_map | 9 + .../auto/extensions/gl/GL_OES_draw_buffers_indexed | 12 + glew/auto/extensions/gl/GL_OES_draw_texture | 5 + glew/auto/extensions/gl/GL_OES_element_index_uint | 5 + .../extensions/gl/GL_OES_extended_matrix_palette | 4 + glew/auto/extensions/gl/GL_OES_fbo_render_mipmap | 4 + .../extensions/gl/GL_OES_fragment_precision_high | 4 + glew/auto/extensions/gl/GL_OES_framebuffer_object | 58 + glew/auto/extensions/gl/GL_OES_geometry_point_size | 37 + glew/auto/extensions/gl/GL_OES_geometry_shader | 37 + glew/auto/extensions/gl/GL_OES_get_program_binary | 9 + glew/auto/extensions/gl/GL_OES_gpu_shader5 | 4 + glew/auto/extensions/gl/GL_OES_mapbuffer | 11 + glew/auto/extensions/gl/GL_OES_matrix_get | 7 + glew/auto/extensions/gl/GL_OES_matrix_palette | 24 + .../auto/extensions/gl/GL_OES_packed_depth_stencil | 7 + glew/auto/extensions/gl/GL_OES_point_size_array | 9 + glew/auto/extensions/gl/GL_OES_point_sprite | 6 + glew/auto/extensions/gl/GL_OES_read_format | 6 + .../extensions/gl/GL_OES_required_internalformat | 19 + glew/auto/extensions/gl/GL_OES_rgb8_rgba8 | 6 + glew/auto/extensions/gl/GL_OES_sample_shading | 7 + glew/auto/extensions/gl/GL_OES_sample_variables | 4 + glew/auto/extensions/gl/GL_OES_shader_image_atomic | 4 + glew/auto/extensions/gl/GL_OES_shader_io_blocks | 4 + .../gl/GL_OES_shader_multisample_interpolation | 7 + glew/auto/extensions/gl/GL_OES_single_precision | 10 + .../auto/extensions/gl/GL_OES_standard_derivatives | 5 + glew/auto/extensions/gl/GL_OES_stencil1 | 5 + glew/auto/extensions/gl/GL_OES_stencil4 | 5 + glew/auto/extensions/gl/GL_OES_stencil8 | 5 + glew/auto/extensions/gl/GL_OES_surfaceless_context | 5 + .../extensions/gl/GL_OES_tessellation_point_size | 47 + glew/auto/extensions/gl/GL_OES_tessellation_shader | 47 + glew/auto/extensions/gl/GL_OES_texture_3D | 14 + .../auto/extensions/gl/GL_OES_texture_border_clamp | 14 + glew/auto/extensions/gl/GL_OES_texture_buffer | 20 + .../extensions/gl/GL_OES_texture_compression_astc | 52 + glew/auto/extensions/gl/GL_OES_texture_cube_map | 26 + .../extensions/gl/GL_OES_texture_cube_map_array | 13 + .../auto/extensions/gl/GL_OES_texture_env_crossbar | 4 + .../extensions/gl/GL_OES_texture_mirrored_repeat | 5 + glew/auto/extensions/gl/GL_OES_texture_npot | 4 + glew/auto/extensions/gl/GL_OES_texture_stencil8 | 6 + .../gl/GL_OES_texture_storage_multisample_2d_array | 10 + glew/auto/extensions/gl/GL_OES_texture_view | 10 + glew/auto/extensions/gl/GL_OES_vertex_array_object | 9 + glew/auto/extensions/gl/GL_OES_vertex_half_float | 5 + .../extensions/gl/GL_OES_vertex_type_10_10_10_2 | 6 + glew/auto/extensions/gl/GL_OML_interlace | 6 + glew/auto/extensions/gl/GL_OML_resample | 10 + glew/auto/extensions/gl/GL_OML_subsample | 6 + glew/auto/extensions/gl/GL_OVR_multiview | 10 + glew/auto/extensions/gl/GL_OVR_multiview2 | 4 + ...GL_OVR_multiview_multisampled_render_to_texture | 5 + glew/auto/extensions/gl/GL_PGI_misc_hints | 24 + glew/auto/extensions/gl/GL_PGI_vertex_hints | 26 + glew/auto/extensions/gl/GL_QCOM_YUV_texture_gather | 4 + glew/auto/extensions/gl/GL_QCOM_alpha_test | 8 + glew/auto/extensions/gl/GL_QCOM_binning_control | 9 + glew/auto/extensions/gl/GL_QCOM_driver_control | 8 + glew/auto/extensions/gl/GL_QCOM_extended_get | 23 + glew/auto/extensions/gl/GL_QCOM_extended_get2 | 8 + .../auto/extensions/gl/GL_QCOM_frame_extrapolation | 5 + .../extensions/gl/GL_QCOM_framebuffer_foveated | 8 + glew/auto/extensions/gl/GL_QCOM_motion_estimation | 8 + .../auto/extensions/gl/GL_QCOM_perfmon_global_mode | 5 + .../extensions/gl/GL_QCOM_render_shared_exponent | 5 + .../GL_QCOM_shader_framebuffer_fetch_noncoherent | 6 + .../gl/GL_QCOM_shader_framebuffer_fetch_rate | 4 + glew/auto/extensions/gl/GL_QCOM_shading_rate | 13 + glew/auto/extensions/gl/GL_QCOM_texture_foveated | 12 + glew/auto/extensions/gl/GL_QCOM_texture_foveated2 | 5 + .../gl/GL_QCOM_texture_foveated_subsampled_layout | 6 + glew/auto/extensions/gl/GL_QCOM_tiled_rendering | 38 + .../auto/extensions/gl/GL_QCOM_writeonly_rendering | 5 + .../extensions/gl/GL_REGAL_ES1_0_compatibility | 36 + .../extensions/gl/GL_REGAL_ES1_1_compatibility | 17 + glew/auto/extensions/gl/GL_REGAL_enable | 14 + glew/auto/extensions/gl/GL_REGAL_error_string | 5 + glew/auto/extensions/gl/GL_REGAL_extension_query | 6 + glew/auto/extensions/gl/GL_REGAL_log | 15 + glew/auto/extensions/gl/GL_REGAL_proc_address | 5 + glew/auto/extensions/gl/GL_REND_screen_coordinates | 6 + glew/auto/extensions/gl/GL_S3_s3tc | 10 + glew/auto/extensions/gl/GL_SGIS_clip_band_hint | 4 + glew/auto/extensions/gl/GL_SGIS_color_range | 13 + glew/auto/extensions/gl/GL_SGIS_detail_texture | 6 + glew/auto/extensions/gl/GL_SGIS_fog_function | 6 + glew/auto/extensions/gl/GL_SGIS_generate_mipmap | 6 + glew/auto/extensions/gl/GL_SGIS_line_texgen | 4 + glew/auto/extensions/gl/GL_SGIS_multisample | 22 + glew/auto/extensions/gl/GL_SGIS_multitexture | 19 + glew/auto/extensions/gl/GL_SGIS_pixel_texture | 4 + glew/auto/extensions/gl/GL_SGIS_point_line_texgen | 12 + glew/auto/extensions/gl/GL_SGIS_shared_multisample | 5 + glew/auto/extensions/gl/GL_SGIS_sharpen_texture | 6 + glew/auto/extensions/gl/GL_SGIS_texture4D | 6 + .../extensions/gl/GL_SGIS_texture_border_clamp | 5 + glew/auto/extensions/gl/GL_SGIS_texture_edge_clamp | 5 + glew/auto/extensions/gl/GL_SGIS_texture_filter4 | 6 + glew/auto/extensions/gl/GL_SGIS_texture_lod | 8 + glew/auto/extensions/gl/GL_SGIS_texture_select | 4 + glew/auto/extensions/gl/GL_SGIX_async | 11 + glew/auto/extensions/gl/GL_SGIX_async_histogram | 6 + glew/auto/extensions/gl/GL_SGIX_async_pixel | 10 + glew/auto/extensions/gl/GL_SGIX_bali_g_instruments | 8 + glew/auto/extensions/gl/GL_SGIX_bali_r_instruments | 7 + .../extensions/gl/GL_SGIX_bali_timer_instruments | 4 + glew/auto/extensions/gl/GL_SGIX_blend_alpha_minmax | 6 + glew/auto/extensions/gl/GL_SGIX_blend_cadd | 5 + glew/auto/extensions/gl/GL_SGIX_blend_cmultiply | 5 + .../extensions/gl/GL_SGIX_calligraphic_fragment | 4 + glew/auto/extensions/gl/GL_SGIX_clipmap | 4 + .../extensions/gl/GL_SGIX_color_matrix_accuracy | 5 + .../extensions/gl/GL_SGIX_color_table_index_mode | 4 + glew/auto/extensions/gl/GL_SGIX_complex_polar | 4 + .../extensions/gl/GL_SGIX_convolution_accuracy | 5 + glew/auto/extensions/gl/GL_SGIX_cube_map | 13 + glew/auto/extensions/gl/GL_SGIX_cylinder_texgen | 4 + glew/auto/extensions/gl/GL_SGIX_datapipe | 8 + glew/auto/extensions/gl/GL_SGIX_decimation | 4 + .../extensions/gl/GL_SGIX_depth_pass_instrument | 7 + glew/auto/extensions/gl/GL_SGIX_depth_texture | 7 + glew/auto/extensions/gl/GL_SGIX_dvc | 4 + glew/auto/extensions/gl/GL_SGIX_flush_raster | 5 + glew/auto/extensions/gl/GL_SGIX_fog_blend | 6 + .../auto/extensions/gl/GL_SGIX_fog_factor_to_alpha | 4 + glew/auto/extensions/gl/GL_SGIX_fog_layers | 12 + glew/auto/extensions/gl/GL_SGIX_fog_offset | 6 + glew/auto/extensions/gl/GL_SGIX_fog_patchy | 4 + glew/auto/extensions/gl/GL_SGIX_fog_scale | 6 + glew/auto/extensions/gl/GL_SGIX_fog_texture | 5 + .../extensions/gl/GL_SGIX_fragment_lighting_space | 8 + .../gl/GL_SGIX_fragment_specular_lighting | 21 + .../extensions/gl/GL_SGIX_fragments_instrument | 7 + glew/auto/extensions/gl/GL_SGIX_framezoom | 5 + glew/auto/extensions/gl/GL_SGIX_icc_texture | 16 + glew/auto/extensions/gl/GL_SGIX_igloo_interface | 13 + glew/auto/extensions/gl/GL_SGIX_image_compression | 4 + .../extensions/gl/GL_SGIX_impact_pixel_texture | 4 + glew/auto/extensions/gl/GL_SGIX_instrument_error | 4 + glew/auto/extensions/gl/GL_SGIX_interlace | 5 + glew/auto/extensions/gl/GL_SGIX_ir_instrument1 | 4 + glew/auto/extensions/gl/GL_SGIX_line_quality_hint | 5 + glew/auto/extensions/gl/GL_SGIX_list_priority | 4 + glew/auto/extensions/gl/GL_SGIX_mpeg1 | 15 + glew/auto/extensions/gl/GL_SGIX_mpeg2 | 4 + .../gl/GL_SGIX_nonlinear_lighting_pervertex | 8 + glew/auto/extensions/gl/GL_SGIX_nurbs_eval | 24 + .../extensions/gl/GL_SGIX_occlusion_instrument | 5 + glew/auto/extensions/gl/GL_SGIX_packed_6bytes | 4 + glew/auto/extensions/gl/GL_SGIX_pixel_texture | 5 + glew/auto/extensions/gl/GL_SGIX_pixel_texture_bits | 4 + glew/auto/extensions/gl/GL_SGIX_pixel_texture_lod | 4 + glew/auto/extensions/gl/GL_SGIX_pixel_tiles | 4 + glew/auto/extensions/gl/GL_SGIX_polynomial_ffd | 8 + glew/auto/extensions/gl/GL_SGIX_quad_mesh | 6 + glew/auto/extensions/gl/GL_SGIX_reference_plane | 5 + glew/auto/extensions/gl/GL_SGIX_resample | 9 + glew/auto/extensions/gl/GL_SGIX_scalebias_hint | 5 + glew/auto/extensions/gl/GL_SGIX_shadow | 8 + glew/auto/extensions/gl/GL_SGIX_shadow_ambient | 5 + glew/auto/extensions/gl/GL_SGIX_slim | 8 + glew/auto/extensions/gl/GL_SGIX_spotlight_cutoff | 5 + glew/auto/extensions/gl/GL_SGIX_sprite | 8 + glew/auto/extensions/gl/GL_SGIX_subdiv_patch | 4 + glew/auto/extensions/gl/GL_SGIX_subsample | 9 + glew/auto/extensions/gl/GL_SGIX_tag_sample_buffer | 5 + glew/auto/extensions/gl/GL_SGIX_texture_add_env | 4 + .../extensions/gl/GL_SGIX_texture_coordinate_clamp | 7 + glew/auto/extensions/gl/GL_SGIX_texture_lod_bias | 4 + .../gl/GL_SGIX_texture_mipmap_anisotropic | 6 + .../extensions/gl/GL_SGIX_texture_multi_buffer | 5 + glew/auto/extensions/gl/GL_SGIX_texture_phase | 5 + glew/auto/extensions/gl/GL_SGIX_texture_range | 32 + glew/auto/extensions/gl/GL_SGIX_texture_scale_bias | 8 + .../auto/extensions/gl/GL_SGIX_texture_supersample | 4 + glew/auto/extensions/gl/GL_SGIX_vector_ops | 6 + .../auto/extensions/gl/GL_SGIX_vertex_array_object | 10 + glew/auto/extensions/gl/GL_SGIX_vertex_preclip | 6 + .../auto/extensions/gl/GL_SGIX_vertex_preclip_hint | 6 + glew/auto/extensions/gl/GL_SGIX_ycrcb | 4 + glew/auto/extensions/gl/GL_SGIX_ycrcb_subsample | 4 + glew/auto/extensions/gl/GL_SGIX_ycrcba | 6 + glew/auto/extensions/gl/GL_SGI_color_matrix | 15 + glew/auto/extensions/gl/GL_SGI_color_table | 27 + glew/auto/extensions/gl/GL_SGI_complex | 4 + glew/auto/extensions/gl/GL_SGI_complex_type | 11 + glew/auto/extensions/gl/GL_SGI_fft | 16 + glew/auto/extensions/gl/GL_SGI_texture_color_table | 6 + glew/auto/extensions/gl/GL_SUNX_constant_data | 7 + .../extensions/gl/GL_SUN_convolution_border_modes | 5 + glew/auto/extensions/gl/GL_SUN_global_alpha | 14 + glew/auto/extensions/gl/GL_SUN_mesh_array | 6 + glew/auto/extensions/gl/GL_SUN_read_video_pixels | 5 + glew/auto/extensions/gl/GL_SUN_slice_accum | 5 + glew/auto/extensions/gl/GL_SUN_triangle_list | 28 + glew/auto/extensions/gl/GL_SUN_vertex | 44 + glew/auto/extensions/gl/GL_VIV_shader_binary | 5 + glew/auto/extensions/gl/GL_WIN_phong_shading | 6 + glew/auto/extensions/gl/GL_WIN_scene_markerXXX | 4 + glew/auto/extensions/gl/GL_WIN_specular_fog | 5 + glew/auto/extensions/gl/GL_WIN_swap_hint | 5 + glew/auto/extensions/gl/WGL_3DFX_multisample | 6 + glew/auto/extensions/gl/WGL_3DL_stereo_control | 9 + glew/auto/extensions/gl/WGL_AMD_gpu_association | 23 + glew/auto/extensions/gl/WGL_ARB_buffer_region | 12 + .../extensions/gl/WGL_ARB_context_flush_control | 7 + glew/auto/extensions/gl/WGL_ARB_create_context | 12 + .../extensions/gl/WGL_ARB_create_context_no_error | 5 + .../extensions/gl/WGL_ARB_create_context_profile | 8 + .../gl/WGL_ARB_create_context_robustness | 8 + glew/auto/extensions/gl/WGL_ARB_extensions_string | 5 + glew/auto/extensions/gl/WGL_ARB_framebuffer_sRGB | 5 + glew/auto/extensions/gl/WGL_ARB_make_current_read | 10 + glew/auto/extensions/gl/WGL_ARB_multisample | 6 + glew/auto/extensions/gl/WGL_ARB_pbuffer | 18 + glew/auto/extensions/gl/WGL_ARB_pixel_format | 56 + glew/auto/extensions/gl/WGL_ARB_pixel_format_float | 5 + glew/auto/extensions/gl/WGL_ARB_render_texture | 40 + .../gl/WGL_ARB_robustness_application_isolation | 5 + .../gl/WGL_ARB_robustness_share_group_isolation | 5 + glew/auto/extensions/gl/WGL_ATI_pixel_format_float | 7 + .../extensions/gl/WGL_ATI_render_texture_rectangle | 5 + glew/auto/extensions/gl/WGL_EXT_colorspace | 7 + .../gl/WGL_EXT_create_context_es2_profile | 5 + .../gl/WGL_EXT_create_context_es_profile | 5 + glew/auto/extensions/gl/WGL_EXT_depth_float | 5 + .../auto/extensions/gl/WGL_EXT_display_color_table | 8 + glew/auto/extensions/gl/WGL_EXT_extensions_string | 5 + glew/auto/extensions/gl/WGL_EXT_framebuffer_sRGB | 5 + glew/auto/extensions/gl/WGL_EXT_make_current_read | 8 + glew/auto/extensions/gl/WGL_EXT_multisample | 6 + glew/auto/extensions/gl/WGL_EXT_pbuffer | 19 + glew/auto/extensions/gl/WGL_EXT_pixel_format | 52 + .../gl/WGL_EXT_pixel_format_packed_float | 5 + glew/auto/extensions/gl/WGL_EXT_swap_control | 6 + glew/auto/extensions/gl/WGL_EXT_swap_control_tear | 4 + .../extensions/gl/WGL_I3D_digital_video_control | 10 + glew/auto/extensions/gl/WGL_I3D_gamma | 10 + glew/auto/extensions/gl/WGL_I3D_genlock | 25 + glew/auto/extensions/gl/WGL_I3D_image_buffer | 10 + glew/auto/extensions/gl/WGL_I3D_swap_frame_lock | 8 + glew/auto/extensions/gl/WGL_I3D_swap_frame_usage | 8 + glew/auto/extensions/gl/WGL_NV_DX_interop | 15 + glew/auto/extensions/gl/WGL_NV_DX_interop2 | 4 + glew/auto/extensions/gl/WGL_NV_copy_image | 6 + glew/auto/extensions/gl/WGL_NV_delay_before_swap | 5 + glew/auto/extensions/gl/WGL_NV_float_buffer | 13 + glew/auto/extensions/gl/WGL_NV_gpu_affinity | 13 + glew/auto/extensions/gl/WGL_NV_multigpu_context | 9 + .../auto/extensions/gl/WGL_NV_multisample_coverage | 6 + glew/auto/extensions/gl/WGL_NV_present_video | 9 + .../auto/extensions/gl/WGL_NV_render_depth_texture | 9 + .../extensions/gl/WGL_NV_render_texture_rectangle | 7 + glew/auto/extensions/gl/WGL_NV_swap_group | 10 + glew/auto/extensions/gl/WGL_NV_vertex_array_range | 6 + glew/auto/extensions/gl/WGL_NV_video_capture | 12 + glew/auto/extensions/gl/WGL_NV_video_output | 24 + glew/auto/extensions/gl/WGL_OML_sync_control | 10 + glew/auto/src/eglew_head.h | 98 + glew/auto/src/eglew_mid.h | 4 + glew/auto/src/eglew_tail.h | 15 + glew/auto/src/footer.html | 4 + glew/auto/src/glew_head.c | 289 + glew/auto/src/glew_head.h | 1139 + glew/auto/src/glew_init_egl.c | 45 + glew/auto/src/glew_init_gl.c | 209 + glew/auto/src/glew_init_glx.c | 57 + glew/auto/src/glew_init_tail.c | 68 + glew/auto/src/glew_init_wgl.c | 41 + glew/auto/src/glew_license.h | 32 + glew/auto/src/glew_str_egl.c | 17 + glew/auto/src/glew_str_glx.c | 17 + glew/auto/src/glew_str_head.c | 9 + glew/auto/src/glew_str_tail.c | 7 + glew/auto/src/glew_str_wgl.c | 17 + glew/auto/src/glew_tail.h | 69 + glew/auto/src/glewinfo_egl.c | 6 + glew/auto/src/glewinfo_gl.c | 7 + glew/auto/src/glewinfo_glx.c | 6 + glew/auto/src/glewinfo_head.c | 96 + glew/auto/src/glewinfo_tail.c | 609 + glew/auto/src/glewinfo_wgl.c | 8 + glew/auto/src/glxew_head.h | 111 + glew/auto/src/glxew_mid.h | 4 + glew/auto/src/glxew_tail.h | 20 + glew/auto/src/header.html | 96 + glew/auto/src/khronos_license.h | 23 + glew/auto/src/mesa_license.h | 24 + glew/auto/src/wglew_head.h | 36 + glew/auto/src/wglew_mid.h | 4 + glew/auto/src/wglew_tail.h | 22 + glew/build/cmake/CMakeLists.txt | 287 + .../build/cmake/CopyImportedTargetProperties.cmake | 88 + glew/build/cmake/cmake_uninstall.cmake.in | 26 + glew/build/cmake/glew-config.cmake | 60 + glew/build/cmake/testbuild/CMakeLists.txt | 25 + glew/build/cmake/testbuild/main.c | 23 + glew/build/vc10/common.props | 29 + glew/build/vc12/common.props | 29 + glew/build/vc14/common.props | 29 + glew/build/vc15/common.props | 29 + glew/build/vc6/glew.dsw | 71 + glew/build/vc6/glew_shared.dsp | 122 + glew/build/vc6/glew_static.dsp | 112 + glew/build/vc6/glewinfo.dsp | 103 + glew/build/vc6/visualinfo.dsp | 103 + glew/cmake-testbuild.sh | 71 + glew/config/config.guess | 1700 + glew/config/version | 7 + glew/doc/advanced.html | 230 + glew/doc/basic.html | 280 + glew/doc/build.html | 149 + glew/doc/credits.html | 102 + glew/doc/github.png | Bin 0 -> 1219 bytes glew/doc/glew.css | 187 + glew/doc/glew.html | 1071 + glew/doc/glew.png | Bin 0 -> 9298 bytes glew/doc/glew.txt | 29 + glew/doc/glxew.html | 188 + glew/doc/gpl.txt | 340 + glew/doc/index.html | 213 + glew/doc/install.html | 226 + glew/doc/khronos.txt | 20 + glew/doc/log.html | 1419 + glew/doc/mesa.txt | 21 + glew/doc/new.png | Bin 0 -> 1180 bytes glew/doc/ogl_sm.jpg | Bin 0 -> 1617 bytes glew/doc/travis.png | Bin 0 -> 2541 bytes glew/doc/wglew.html | 169 + glew/glew.pc.in | 11 + glew/include/GL/eglew.h | 3230 ++ glew/include/GL/glew.h | 26719 +++++++++++++++ glew/include/GL/glxew.h | 1843 ++ glew/include/GL/wglew.h | 1468 + glew/original-readme.md | 255 + glew/src/glew.c | 32522 +++++++++++++++++++ glew/src/glewinfo.c | 19392 +++++++++++ glew/src/visualinfo.c | 1283 + 1712 files changed, 208526 insertions(+) create mode 100644 glew/LICENSE.txt create mode 100644 glew/README.md create mode 100644 glew/auto/EGL-Registry/.dummy create mode 100644 glew/auto/EGL-Registry/.htaccess create mode 100644 glew/auto/EGL-Registry/CODE_OF_CONDUCT.md create mode 100644 glew/auto/EGL-Registry/README.md create mode 100644 glew/auto/EGL-Registry/api/1.0/EGL/egl.h create mode 100644 glew/auto/EGL-Registry/api/1.0/egl.h create mode 100644 glew/auto/EGL-Registry/api/1.1/EGL/egl.h create mode 100644 glew/auto/EGL-Registry/api/1.2/EGL/egl.h create mode 100644 glew/auto/EGL-Registry/api/1.2/egl.h create mode 100644 glew/auto/EGL-Registry/api/EGL/egl.h create mode 100644 glew/auto/EGL-Registry/api/EGL/eglext.h create mode 100644 glew/auto/EGL-Registry/api/EGL/eglplatform.h create mode 100644 glew/auto/EGL-Registry/api/KHR/khrplatform.h create mode 100644 glew/auto/EGL-Registry/api/egl.xml create mode 100644 glew/auto/EGL-Registry/api/egltest.c create mode 100644 glew/auto/EGL-Registry/api/genheaders.py create mode 100644 glew/auto/EGL-Registry/api/reg.py create mode 100644 glew/auto/EGL-Registry/api/registry.rnc create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_GLES_layers.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_blob_cache.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_create_native_client_buffer.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_framebuffer_target.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_front_buffer_auto_refresh.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_get_frame_timestamps.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_get_native_client_buffer.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_image_native_buffer.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_native_fence_sync.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_presentation_time.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_recordable.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_d3d_share_handle_client_buffer.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_device_d3d.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_query_surface_pointer.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_surface_d3d_texture_2d_share_handle.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_sync_control_rate.txt create mode 100644 glew/auto/EGL-Registry/extensions/ANGLE/EGL_ANGLE_window_fixed_size.txt create mode 100644 glew/auto/EGL-Registry/extensions/ARM/EGL_ARM_image_format.txt create mode 100644 glew/auto/EGL-Registry/extensions/ARM/EGL_ARM_implicit_external_sync.txt create mode 100644 glew/auto/EGL-Registry/extensions/ARM/EGL_ARM_pixmap_multisample_discard.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_bind_to_front.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_buffer_age.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_client_extensions.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_client_sync.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_compositor.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_config_select_group.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_create_context_robustness.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_device_base.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_device_drm.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_device_drm_render_node.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_device_enumeration.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_device_openwf.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_device_persistent_id.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_device_query.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_device_query_name.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_explicit_device.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_gl_colorspace_bt2020_linear.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_gl_colorspace_display_p3.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_gl_colorspace_display_p3_passthrough.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_gl_colorspace_scrgb.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_gl_colorspace_scrgb_linear.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_image_dma_buf_import.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_image_gl_colorspace.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_image_implicit_sync_control.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_multiview_window.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_output_base.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_pixel_format_float.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_platform_base.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_platform_device.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_platform_wayland.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_platform_x11.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_platform_xcb.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_present_opaque.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_protected_content.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_protected_surface.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_stream_consumer_egloutput.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_surface_CTA861_3_metadata.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_surface_SMPTE2086_metadata.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_surface_compression.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_swap_buffers_with_damage.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_sync_reuse.txt create mode 100644 glew/auto/EGL-Registry/extensions/EXT/EGL_EXT_yuv_surface.txt create mode 100644 glew/auto/EGL-Registry/extensions/HI/EGL_HI_clientpixmap.txt create mode 100644 glew/auto/EGL-Registry/extensions/HI/EGL_HI_colorformats.txt create mode 100644 glew/auto/EGL-Registry/extensions/IMG/EGL_IMG_context_priority.txt create mode 100644 glew/auto/EGL-Registry/extensions/IMG/EGL_IMG_image_plane_attribs.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_cl_event.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_cl_event2.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_config_attribs.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_create_context.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_create_context_no_error.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_debug.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_display_reference.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_fence_sync.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_get_all_proc_addresses.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_gl_colorspace.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_gl_image.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_image.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_image_base.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_image_pixmap.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_lock_surface.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_lock_surface2.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_lock_surface3.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_mutable_render_buffer.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_no_config_context.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_partial_update.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_platform_android.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_platform_gbm.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_platform_wayland.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_platform_x11.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_reusable_sync.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_stream.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_stream_consumer_gltexture.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_stream_cross_process_fd.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_stream_fifo.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_stream_producer_aldatalocator.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_stream_producer_eglsurface.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_surfaceless_context.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_swap_buffers_with_damage.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_vg_parent_image.txt create mode 100644 glew/auto/EGL-Registry/extensions/KHR/EGL_KHR_wait_sync.txt create mode 100644 glew/auto/EGL-Registry/extensions/MESA/EGL_MESA_drm_image.txt create mode 100644 glew/auto/EGL-Registry/extensions/MESA/EGL_MESA_image_dma_buf_export.txt create mode 100644 glew/auto/EGL-Registry/extensions/MESA/EGL_MESA_platform_gbm.txt create mode 100644 glew/auto/EGL-Registry/extensions/MESA/EGL_MESA_platform_surfaceless.txt create mode 100644 glew/auto/EGL-Registry/extensions/MESA/EGL_MESA_query_driver.txt create mode 100644 glew/auto/EGL-Registry/extensions/NOK/EGL_NOK_swap_region2.txt create mode 100644 glew/auto/EGL-Registry/extensions/NOK/EGL_NOK_texture_from_pixmap.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_3dvision_surface.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_context_priority_realtime.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_coverage_sample.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_coverage_sample_resolve.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_cuda_event.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_depth_nonlinear.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_device_cuda.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_n_buffer.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_native_query.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_post_convert_rounding.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_post_sub_buffer.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_consumer_eglimage.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_consumer_gltexture_yuv.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_dma.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_fifo_next.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_fifo_synchronous.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_flush.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_frame_limits.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_metadata.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_origin.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_remote.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_reset.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_socket.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_stream_sync.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_sync.txt create mode 100644 glew/auto/EGL-Registry/extensions/NV/EGL_NV_system_time.txt create mode 100644 glew/auto/EGL-Registry/extensions/TIZEN/EGL_TIZEN_image_native_buffer.txt create mode 100644 glew/auto/EGL-Registry/extensions/TIZEN/EGL_TIZEN_image_native_surface.txt create mode 100644 glew/auto/EGL-Registry/extensions/WL/EGL_WL_bind_wayland_display.txt create mode 100644 glew/auto/EGL-Registry/extensions/WL/EGL_WL_create_wayland_buffer_from_image.txt create mode 100644 glew/auto/EGL-Registry/index.php create mode 100644 glew/auto/EGL-Registry/registry.tcl create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/.htaccess create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/NOTES create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/README create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/bottom.php create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/copyright.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/db4-upgrade.xsl create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglBindAPI.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglBindTexImage.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglChooseConfig.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglCopyBuffers.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglCreateContext.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglCreatePbufferFromClientBuffer.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglCreatePbufferSurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglCreatePixmapSurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglCreateWindowSurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglDestroyContext.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglDestroySurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglGetConfigAttrib.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglGetConfigs.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglGetCurrentContext.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglGetCurrentDisplay.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglGetCurrentSurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglGetDisplay.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglGetError.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglGetProcAddress.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglInitialize.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglIntro.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglMakeCurrent.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglQueryAPI.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglQueryContext.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglQueryString.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglQuerySurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglReleaseTexImage.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglReleaseThread.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglSurfaceAttrib.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglSwapBuffers.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglSwapInterval.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglTerminate.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglWaitClient.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglWaitGL.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/eglWaitNative.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/docbook4/reference.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglBindAPI.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglBindTexImage.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglChooseConfig.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglClientWaitSync.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglCopyBuffers.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglCreateContext.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglCreateImage.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglCreatePbufferFromClientBuffer.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglCreatePbufferSurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglCreatePixmapSurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglCreatePlatformPixmapSurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglCreatePlatformWindowSurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglCreateSync.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglCreateWindowSurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglDestroyContext.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglDestroyImage.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglDestroySurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglDestroySync.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglGetConfigAttrib.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglGetConfigs.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglGetCurrentContext.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglGetCurrentDisplay.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglGetCurrentSurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglGetDisplay.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglGetError.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglGetPlatformDisplay.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglGetProcAddress.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglGetSyncAttrib.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglInitialize.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglIntro.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglMakeCurrent.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglQueryAPI.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglQueryContext.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglQueryString.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglQuerySurface.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglReleaseTexImage.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglReleaseThread.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglSurfaceAttrib.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglSwapBuffers.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglSwapInterval.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglTerminate.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglWaitClient.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglWaitGL.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglWaitNative.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/eglWaitSync.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/headBackground.jpg create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/EGL_300.png create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/KhronosLogo.jpg create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/accord.js create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/bullets-contract.gif create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/bullets-end.gif create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/bullets-expand.gif create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglBindAPI.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglBindTexImage.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglChooseConfig.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglClientWaitSync.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglCopyBuffers.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglCreateContext.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglCreateImage.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglCreatePbufferFromClientBuffer.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglCreatePbufferSurface.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglCreatePixmapSurface.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglCreatePlatformPixmapSurface.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglCreatePlatformWindowSurface.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglCreateSync.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglCreateWindowSurface.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglDestroyContext.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglDestroyImage.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglDestroySurface.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglDestroySync.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglGetConfigAttrib.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglGetConfigs.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglGetCurrentContext.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglGetCurrentDisplay.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglGetCurrentSurface.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglGetDisplay.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglGetError.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglGetPlatformDisplay.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglGetProcAddress.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglGetSyncAttrib.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglInitialize.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglIntro.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglMakeCurrent.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglQueryAPI.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglQueryContext.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglQueryString.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglQuerySurface.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglReleaseTexImage.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglReleaseThread.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglSurfaceAttrib.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglSwapBuffers.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglSwapInterval.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglTerminate.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglWaitClient.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglWaitGL.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglWaitNative.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/eglWaitSync.xhtml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/index.php create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/indexflat.php create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/khronos-man.css create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/khronos-man.xsl create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/makeindex.py create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/old-egl-man.xsl create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/present.css create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/start.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/style-index.css create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/undohtml.css create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/html/vn create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/index.php create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/mkshar create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/reference.xml create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/setvars create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/top.php create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/EGL_300.png create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/Header.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/Intro.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/KhronosLogo.jpg create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/TOC.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/bullets-contract.gif create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/bullets-end.gif create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/bullets-expand.gif create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/copyright.inc.xsl create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/ctop.xsl create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/egl-man.xsl create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglBindAPI.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglBindTexImage.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglChooseConfig.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCopyBuffers.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreateContext.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreatePbufferFromClientBuffer.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreatePbufferSurface.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreatePixmapSurface.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglCreateWindowSurface.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglDestroyContext.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglDestroySurface.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglGetConfigAttrib.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglGetConfigs.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglGetCurrentContext.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglGetCurrentDisplay.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglGetCurrentSurface.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglGetDisplay.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglGetError.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglGetProcAddress.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglInitialize.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglIntro.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglMakeCurrent.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglQueryAPI.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglQueryContext.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglQueryString.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglQuerySurface.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglReleaseTexImage.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglReleaseThread.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglSurfaceAttrib.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglSwapBuffers.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglSwapInterval.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglTerminate.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglWaitClient.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglWaitGL.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/eglWaitNative.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/headBackground.jpg create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/index.html create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/maketoc.pl create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/opengl-man.xsl create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/present.css create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/style.css create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/styles-css.xsl create mode 100644 glew/auto/EGL-Registry/sdk/docs/man/xhtml/undohtml.css create mode 100644 glew/auto/EGL-Registry/specs/EGLTechNote0001.html create mode 100644 glew/auto/EGL-Registry/specs/Khronos-1600-Transparent-May07.png create mode 100644 glew/auto/EGL-Registry/specs/eglspec.1.0.pdf create mode 100644 glew/auto/EGL-Registry/specs/eglspec.1.1.pdf create mode 100644 glew/auto/EGL-Registry/specs/eglspec.1.2.pdf create mode 100644 glew/auto/EGL-Registry/specs/eglspec.1.3.pdf create mode 100644 glew/auto/EGL-Registry/specs/eglspec.1.4.pdf create mode 100644 glew/auto/EGL-Registry/specs/eglspec.1.4.withchanges.pdf create mode 100644 glew/auto/EGL-Registry/specs/eglspec.1.5.pdf create mode 100644 glew/auto/EGL-Registry/specs/eglspec.1.5.withchanges.pdf create mode 100644 glew/auto/EGL-Registry/specs/igstyle.css create mode 100644 glew/auto/EGL-Registry/specs/legal.html create mode 100644 glew/auto/EGL-Registry/specs/legal.xhtml create mode 100644 glew/auto/bin/filter_gl_ext.sh create mode 100644 glew/auto/bin/filter_gles_ext.sh create mode 100644 glew/auto/bin/filter_spec.py create mode 100644 glew/auto/bin/make.pl create mode 100644 glew/auto/bin/make_def_fun.pl create mode 100644 glew/auto/bin/make_def_var.pl create mode 100644 glew/auto/bin/make_enable_index.pl create mode 100644 glew/auto/bin/make_header.pl create mode 100644 glew/auto/bin/make_html.pl create mode 100644 glew/auto/bin/make_index.pl create mode 100644 glew/auto/bin/make_info.pl create mode 100644 glew/auto/bin/make_info_list.pl create mode 100644 glew/auto/bin/make_init.pl create mode 100644 glew/auto/bin/make_initd.pl create mode 100644 glew/auto/bin/make_list.pl create mode 100644 glew/auto/bin/make_list2.pl create mode 100644 glew/auto/bin/make_str.pl create mode 100644 glew/auto/bin/make_struct_fun.pl create mode 100644 glew/auto/bin/make_struct_var.pl create mode 100644 glew/auto/bin/parse_spec.pl create mode 100644 glew/auto/bin/parse_xml.py create mode 100644 glew/auto/bin/update_ext.sh create mode 100644 glew/auto/blacklist create mode 100644 glew/auto/custom.txt create mode 100644 glew/auto/doc/advanced.html create mode 100644 glew/auto/doc/basic.html create mode 100644 glew/auto/doc/build.html create mode 100644 glew/auto/doc/credits.html create mode 100644 glew/auto/doc/index.html create mode 100644 glew/auto/doc/install.html create mode 100644 glew/auto/doc/log.html create mode 100644 glew/auto/extensions/gl/.dummy create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_GLES_layers create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_blob_cache create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_create_native_client_buffer create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_framebuffer_target create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_front_buffer_auto_refresh create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_get_frame_timestamps create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_get_native_client_buffer create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_image_native_buffer create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_native_fence_sync create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_presentation_time create mode 100644 glew/auto/extensions/gl/EGL_ANDROID_recordable create mode 100644 glew/auto/extensions/gl/EGL_ANGLE_d3d_share_handle_client_buffer create mode 100644 glew/auto/extensions/gl/EGL_ANGLE_device_d3d create mode 100644 glew/auto/extensions/gl/EGL_ANGLE_query_surface_pointer create mode 100644 glew/auto/extensions/gl/EGL_ANGLE_surface_d3d_texture_2d_share_handle create mode 100644 glew/auto/extensions/gl/EGL_ANGLE_sync_control_rate create mode 100644 glew/auto/extensions/gl/EGL_ANGLE_window_fixed_size create mode 100644 glew/auto/extensions/gl/EGL_ARM_image_format create mode 100644 glew/auto/extensions/gl/EGL_ARM_implicit_external_sync create mode 100644 glew/auto/extensions/gl/EGL_ARM_pixmap_multisample_discard create mode 100644 glew/auto/extensions/gl/EGL_EXT_bind_to_front create mode 100644 glew/auto/extensions/gl/EGL_EXT_buffer_age create mode 100644 glew/auto/extensions/gl/EGL_EXT_client_extensions create mode 100644 glew/auto/extensions/gl/EGL_EXT_client_sync create mode 100644 glew/auto/extensions/gl/EGL_EXT_compositor create mode 100644 glew/auto/extensions/gl/EGL_EXT_config_select_group create mode 100644 glew/auto/extensions/gl/EGL_EXT_create_context_robustness create mode 100644 glew/auto/extensions/gl/EGL_EXT_device_base create mode 100644 glew/auto/extensions/gl/EGL_EXT_device_drm create mode 100644 glew/auto/extensions/gl/EGL_EXT_device_drm_render_node create mode 100644 glew/auto/extensions/gl/EGL_EXT_device_enumeration create mode 100644 glew/auto/extensions/gl/EGL_EXT_device_openwf create mode 100644 glew/auto/extensions/gl/EGL_EXT_device_persistent_id create mode 100644 glew/auto/extensions/gl/EGL_EXT_device_query create mode 100644 glew/auto/extensions/gl/EGL_EXT_device_query_name create mode 100644 glew/auto/extensions/gl/EGL_EXT_explicit_device create mode 100644 glew/auto/extensions/gl/EGL_EXT_gl_colorspace_bt2020_linear create mode 100644 glew/auto/extensions/gl/EGL_EXT_gl_colorspace_bt2020_pq create mode 100644 glew/auto/extensions/gl/EGL_EXT_gl_colorspace_display_p3 create mode 100644 glew/auto/extensions/gl/EGL_EXT_gl_colorspace_display_p3_linear create mode 100644 glew/auto/extensions/gl/EGL_EXT_gl_colorspace_display_p3_passthrough create mode 100644 glew/auto/extensions/gl/EGL_EXT_gl_colorspace_scrgb create mode 100644 glew/auto/extensions/gl/EGL_EXT_gl_colorspace_scrgb_linear create mode 100644 glew/auto/extensions/gl/EGL_EXT_image_dma_buf_import create mode 100644 glew/auto/extensions/gl/EGL_EXT_image_dma_buf_import_modifiers create mode 100644 glew/auto/extensions/gl/EGL_EXT_image_gl_colorspace create mode 100644 glew/auto/extensions/gl/EGL_EXT_image_implicit_sync_control create mode 100644 glew/auto/extensions/gl/EGL_EXT_multiview_window create mode 100644 glew/auto/extensions/gl/EGL_EXT_output_base create mode 100644 glew/auto/extensions/gl/EGL_EXT_output_drm create mode 100644 glew/auto/extensions/gl/EGL_EXT_output_openwf create mode 100644 glew/auto/extensions/gl/EGL_EXT_pixel_format_float create mode 100644 glew/auto/extensions/gl/EGL_EXT_platform_base create mode 100644 glew/auto/extensions/gl/EGL_EXT_platform_device create mode 100644 glew/auto/extensions/gl/EGL_EXT_platform_wayland create mode 100644 glew/auto/extensions/gl/EGL_EXT_platform_x11 create mode 100644 glew/auto/extensions/gl/EGL_EXT_platform_xcb create mode 100644 glew/auto/extensions/gl/EGL_EXT_present_opaque create mode 100644 glew/auto/extensions/gl/EGL_EXT_protected_content create mode 100644 glew/auto/extensions/gl/EGL_EXT_protected_surface create mode 100644 glew/auto/extensions/gl/EGL_EXT_stream_consumer_egloutput create mode 100644 glew/auto/extensions/gl/EGL_EXT_surface_CTA861_3_metadata create mode 100644 glew/auto/extensions/gl/EGL_EXT_surface_SMPTE2086_metadata create mode 100644 glew/auto/extensions/gl/EGL_EXT_surface_compression create mode 100644 glew/auto/extensions/gl/EGL_EXT_swap_buffers_with_damage create mode 100644 glew/auto/extensions/gl/EGL_EXT_sync_reuse create mode 100644 glew/auto/extensions/gl/EGL_EXT_yuv_surface create mode 100644 glew/auto/extensions/gl/EGL_HI_clientpixmap create mode 100644 glew/auto/extensions/gl/EGL_HI_colorformats create mode 100644 glew/auto/extensions/gl/EGL_IMG_context_priority create mode 100644 glew/auto/extensions/gl/EGL_IMG_image_plane_attribs create mode 100644 glew/auto/extensions/gl/EGL_KHR_cl_event create mode 100644 glew/auto/extensions/gl/EGL_KHR_cl_event2 create mode 100644 glew/auto/extensions/gl/EGL_KHR_client_get_all_proc_addresses create mode 100644 glew/auto/extensions/gl/EGL_KHR_config_attribs create mode 100644 glew/auto/extensions/gl/EGL_KHR_context_flush_control create mode 100644 glew/auto/extensions/gl/EGL_KHR_create_context create mode 100644 glew/auto/extensions/gl/EGL_KHR_create_context_no_error create mode 100644 glew/auto/extensions/gl/EGL_KHR_debug create mode 100644 glew/auto/extensions/gl/EGL_KHR_display_reference create mode 100644 glew/auto/extensions/gl/EGL_KHR_fence_sync create mode 100644 glew/auto/extensions/gl/EGL_KHR_get_all_proc_addresses create mode 100644 glew/auto/extensions/gl/EGL_KHR_gl_colorspace create mode 100644 glew/auto/extensions/gl/EGL_KHR_gl_renderbuffer_image create mode 100644 glew/auto/extensions/gl/EGL_KHR_gl_texture_2D_image create mode 100644 glew/auto/extensions/gl/EGL_KHR_gl_texture_3D_image create mode 100644 glew/auto/extensions/gl/EGL_KHR_gl_texture_cubemap_image create mode 100644 glew/auto/extensions/gl/EGL_KHR_image create mode 100644 glew/auto/extensions/gl/EGL_KHR_image_base create mode 100644 glew/auto/extensions/gl/EGL_KHR_image_pixmap create mode 100644 glew/auto/extensions/gl/EGL_KHR_lock_surface create mode 100644 glew/auto/extensions/gl/EGL_KHR_lock_surface2 create mode 100644 glew/auto/extensions/gl/EGL_KHR_lock_surface3 create mode 100644 glew/auto/extensions/gl/EGL_KHR_mutable_render_buffer create mode 100644 glew/auto/extensions/gl/EGL_KHR_no_config_context create mode 100644 glew/auto/extensions/gl/EGL_KHR_partial_update create mode 100644 glew/auto/extensions/gl/EGL_KHR_platform_android create mode 100644 glew/auto/extensions/gl/EGL_KHR_platform_gbm create mode 100644 glew/auto/extensions/gl/EGL_KHR_platform_wayland create mode 100644 glew/auto/extensions/gl/EGL_KHR_platform_x11 create mode 100644 glew/auto/extensions/gl/EGL_KHR_reusable_sync create mode 100644 glew/auto/extensions/gl/EGL_KHR_stream create mode 100644 glew/auto/extensions/gl/EGL_KHR_stream_attrib create mode 100644 glew/auto/extensions/gl/EGL_KHR_stream_consumer_gltexture create mode 100644 glew/auto/extensions/gl/EGL_KHR_stream_cross_process_fd create mode 100644 glew/auto/extensions/gl/EGL_KHR_stream_fifo create mode 100644 glew/auto/extensions/gl/EGL_KHR_stream_producer_aldatalocator create mode 100644 glew/auto/extensions/gl/EGL_KHR_stream_producer_eglsurface create mode 100644 glew/auto/extensions/gl/EGL_KHR_surfaceless_context create mode 100644 glew/auto/extensions/gl/EGL_KHR_swap_buffers_with_damage create mode 100644 glew/auto/extensions/gl/EGL_KHR_vg_parent_image create mode 100644 glew/auto/extensions/gl/EGL_KHR_wait_sync create mode 100644 glew/auto/extensions/gl/EGL_MESA_drm_image create mode 100644 glew/auto/extensions/gl/EGL_MESA_image_dma_buf_export create mode 100644 glew/auto/extensions/gl/EGL_MESA_platform_gbm create mode 100644 glew/auto/extensions/gl/EGL_MESA_platform_surfaceless create mode 100644 glew/auto/extensions/gl/EGL_MESA_query_driver create mode 100644 glew/auto/extensions/gl/EGL_NOK_swap_region create mode 100644 glew/auto/extensions/gl/EGL_NOK_swap_region2 create mode 100644 glew/auto/extensions/gl/EGL_NOK_texture_from_pixmap create mode 100644 glew/auto/extensions/gl/EGL_NV_3dvision_surface create mode 100644 glew/auto/extensions/gl/EGL_NV_context_priority_realtime create mode 100644 glew/auto/extensions/gl/EGL_NV_coverage_sample create mode 100644 glew/auto/extensions/gl/EGL_NV_coverage_sample_resolve create mode 100644 glew/auto/extensions/gl/EGL_NV_cuda_event create mode 100644 glew/auto/extensions/gl/EGL_NV_depth_nonlinear create mode 100644 glew/auto/extensions/gl/EGL_NV_device_cuda create mode 100644 glew/auto/extensions/gl/EGL_NV_native_query create mode 100644 glew/auto/extensions/gl/EGL_NV_post_convert_rounding create mode 100644 glew/auto/extensions/gl/EGL_NV_post_sub_buffer create mode 100644 glew/auto/extensions/gl/EGL_NV_quadruple_buffer create mode 100644 glew/auto/extensions/gl/EGL_NV_robustness_video_memory_purge create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_consumer_eglimage create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_consumer_gltexture_yuv create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_cross_display create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_cross_object create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_cross_partition create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_cross_process create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_cross_system create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_dma create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_fifo_next create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_fifo_synchronous create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_flush create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_frame_limits create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_metadata create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_origin create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_remote create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_reset create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_socket create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_socket_inet create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_socket_unix create mode 100644 glew/auto/extensions/gl/EGL_NV_stream_sync create mode 100644 glew/auto/extensions/gl/EGL_NV_sync create mode 100644 glew/auto/extensions/gl/EGL_NV_system_time create mode 100644 glew/auto/extensions/gl/EGL_NV_triple_buffer create mode 100644 glew/auto/extensions/gl/EGL_TIZEN_image_native_buffer create mode 100644 glew/auto/extensions/gl/EGL_TIZEN_image_native_surface create mode 100644 glew/auto/extensions/gl/EGL_WL_bind_wayland_display create mode 100644 glew/auto/extensions/gl/EGL_WL_create_wayland_buffer_from_image create mode 100644 glew/auto/extensions/gl/GLX_3DFX_multisample create mode 100644 glew/auto/extensions/gl/GLX_AMD_gpu_association create mode 100644 glew/auto/extensions/gl/GLX_ARB_context_flush_control create mode 100644 glew/auto/extensions/gl/GLX_ARB_create_context create mode 100644 glew/auto/extensions/gl/GLX_ARB_create_context_no_error create mode 100644 glew/auto/extensions/gl/GLX_ARB_create_context_profile create mode 100644 glew/auto/extensions/gl/GLX_ARB_create_context_robustness create mode 100644 glew/auto/extensions/gl/GLX_ARB_fbconfig_float create mode 100644 glew/auto/extensions/gl/GLX_ARB_framebuffer_sRGB create mode 100644 glew/auto/extensions/gl/GLX_ARB_get_proc_address create mode 100644 glew/auto/extensions/gl/GLX_ARB_multisample create mode 100644 glew/auto/extensions/gl/GLX_ARB_robustness_application_isolation create mode 100644 glew/auto/extensions/gl/GLX_ARB_robustness_share_group_isolation create mode 100644 glew/auto/extensions/gl/GLX_ARB_vertex_buffer_object create mode 100644 glew/auto/extensions/gl/GLX_ATI_pixel_format_float create mode 100644 glew/auto/extensions/gl/GLX_ATI_render_texture create mode 100644 glew/auto/extensions/gl/GLX_EXT_buffer_age create mode 100644 glew/auto/extensions/gl/GLX_EXT_context_priority create mode 100644 glew/auto/extensions/gl/GLX_EXT_create_context_es2_profile create mode 100644 glew/auto/extensions/gl/GLX_EXT_create_context_es_profile create mode 100644 glew/auto/extensions/gl/GLX_EXT_fbconfig_packed_float create mode 100644 glew/auto/extensions/gl/GLX_EXT_framebuffer_sRGB create mode 100644 glew/auto/extensions/gl/GLX_EXT_get_drawable_type create mode 100644 glew/auto/extensions/gl/GLX_EXT_import_context create mode 100644 glew/auto/extensions/gl/GLX_EXT_libglvnd create mode 100644 glew/auto/extensions/gl/GLX_EXT_no_config_context create mode 100644 glew/auto/extensions/gl/GLX_EXT_scene_marker create mode 100644 glew/auto/extensions/gl/GLX_EXT_stereo_tree create mode 100644 glew/auto/extensions/gl/GLX_EXT_swap_control create mode 100644 glew/auto/extensions/gl/GLX_EXT_swap_control_tear create mode 100644 glew/auto/extensions/gl/GLX_EXT_texture_from_pixmap create mode 100644 glew/auto/extensions/gl/GLX_EXT_visual_info create mode 100644 glew/auto/extensions/gl/GLX_EXT_visual_rating create mode 100644 glew/auto/extensions/gl/GLX_INTEL_swap_event create mode 100644 glew/auto/extensions/gl/GLX_MESA_agp_offset create mode 100644 glew/auto/extensions/gl/GLX_MESA_copy_sub_buffer create mode 100644 glew/auto/extensions/gl/GLX_MESA_pixmap_colormap create mode 100644 glew/auto/extensions/gl/GLX_MESA_query_renderer create mode 100644 glew/auto/extensions/gl/GLX_MESA_release_buffers create mode 100644 glew/auto/extensions/gl/GLX_MESA_set_3dfx_mode create mode 100644 glew/auto/extensions/gl/GLX_MESA_swap_control create mode 100644 glew/auto/extensions/gl/GLX_NV_copy_buffer create mode 100644 glew/auto/extensions/gl/GLX_NV_copy_image create mode 100644 glew/auto/extensions/gl/GLX_NV_delay_before_swap create mode 100644 glew/auto/extensions/gl/GLX_NV_float_buffer create mode 100644 glew/auto/extensions/gl/GLX_NV_multigpu_context create mode 100644 glew/auto/extensions/gl/GLX_NV_multisample_coverage create mode 100644 glew/auto/extensions/gl/GLX_NV_present_video create mode 100644 glew/auto/extensions/gl/GLX_NV_robustness_video_memory_purge create mode 100644 glew/auto/extensions/gl/GLX_NV_swap_group create mode 100644 glew/auto/extensions/gl/GLX_NV_vertex_array_range create mode 100644 glew/auto/extensions/gl/GLX_NV_video_capture create mode 100644 glew/auto/extensions/gl/GLX_NV_video_out create mode 100644 glew/auto/extensions/gl/GLX_OML_swap_method create mode 100644 glew/auto/extensions/gl/GLX_OML_sync_control create mode 100644 glew/auto/extensions/gl/GLX_SGIS_blended_overlay create mode 100644 glew/auto/extensions/gl/GLX_SGIS_color_range create mode 100644 glew/auto/extensions/gl/GLX_SGIS_multisample create mode 100644 glew/auto/extensions/gl/GLX_SGIS_shared_multisample create mode 100644 glew/auto/extensions/gl/GLX_SGIX_fbconfig create mode 100644 glew/auto/extensions/gl/GLX_SGIX_hyperpipe create mode 100644 glew/auto/extensions/gl/GLX_SGIX_pbuffer create mode 100644 glew/auto/extensions/gl/GLX_SGIX_swap_barrier create mode 100644 glew/auto/extensions/gl/GLX_SGIX_swap_group create mode 100644 glew/auto/extensions/gl/GLX_SGIX_video_resize create mode 100644 glew/auto/extensions/gl/GLX_SGIX_visual_select_group create mode 100644 glew/auto/extensions/gl/GLX_SGI_cushion create mode 100644 glew/auto/extensions/gl/GLX_SGI_make_current_read create mode 100644 glew/auto/extensions/gl/GLX_SGI_swap_control create mode 100644 glew/auto/extensions/gl/GLX_SGI_video_sync create mode 100644 glew/auto/extensions/gl/GLX_SUN_get_transparent_index create mode 100644 glew/auto/extensions/gl/GLX_SUN_video_resize create mode 100644 glew/auto/extensions/gl/GL_3DFX_multisample create mode 100644 glew/auto/extensions/gl/GL_3DFX_tbuffer create mode 100644 glew/auto/extensions/gl/GL_3DFX_texture_compression_FXT1 create mode 100644 glew/auto/extensions/gl/GL_AMD_blend_minmax_factor create mode 100644 glew/auto/extensions/gl/GL_AMD_compressed_3DC_texture create mode 100644 glew/auto/extensions/gl/GL_AMD_compressed_ATC_texture create mode 100644 glew/auto/extensions/gl/GL_AMD_conservative_depth create mode 100644 glew/auto/extensions/gl/GL_AMD_debug_output create mode 100644 glew/auto/extensions/gl/GL_AMD_depth_clamp_separate create mode 100644 glew/auto/extensions/gl/GL_AMD_draw_buffers_blend create mode 100644 glew/auto/extensions/gl/GL_AMD_framebuffer_multisample_advanced create mode 100644 glew/auto/extensions/gl/GL_AMD_framebuffer_sample_positions create mode 100644 glew/auto/extensions/gl/GL_AMD_gcn_shader create mode 100644 glew/auto/extensions/gl/GL_AMD_gpu_shader_half_float create mode 100644 glew/auto/extensions/gl/GL_AMD_gpu_shader_half_float_fetch create mode 100644 glew/auto/extensions/gl/GL_AMD_gpu_shader_int16 create mode 100644 glew/auto/extensions/gl/GL_AMD_gpu_shader_int64 create mode 100644 glew/auto/extensions/gl/GL_AMD_interleaved_elements create mode 100644 glew/auto/extensions/gl/GL_AMD_multi_draw_indirect create mode 100644 glew/auto/extensions/gl/GL_AMD_name_gen_delete create mode 100644 glew/auto/extensions/gl/GL_AMD_occlusion_query_event create mode 100644 glew/auto/extensions/gl/GL_AMD_performance_monitor create mode 100644 glew/auto/extensions/gl/GL_AMD_pinned_memory create mode 100644 glew/auto/extensions/gl/GL_AMD_program_binary_Z400 create mode 100644 glew/auto/extensions/gl/GL_AMD_query_buffer_object create mode 100644 glew/auto/extensions/gl/GL_AMD_sample_positions create mode 100644 glew/auto/extensions/gl/GL_AMD_seamless_cubemap_per_texture create mode 100644 glew/auto/extensions/gl/GL_AMD_shader_atomic_counter_ops create mode 100644 glew/auto/extensions/gl/GL_AMD_shader_ballot create mode 100644 glew/auto/extensions/gl/GL_AMD_shader_explicit_vertex_parameter create mode 100644 glew/auto/extensions/gl/GL_AMD_shader_image_load_store_lod create mode 100644 glew/auto/extensions/gl/GL_AMD_shader_stencil_export create mode 100644 glew/auto/extensions/gl/GL_AMD_shader_stencil_value_export create mode 100644 glew/auto/extensions/gl/GL_AMD_shader_trinary_minmax create mode 100644 glew/auto/extensions/gl/GL_AMD_sparse_texture create mode 100644 glew/auto/extensions/gl/GL_AMD_stencil_operation_extended create mode 100644 glew/auto/extensions/gl/GL_AMD_texture_gather_bias_lod create mode 100644 glew/auto/extensions/gl/GL_AMD_texture_texture4 create mode 100644 glew/auto/extensions/gl/GL_AMD_transform_feedback3_lines_triangles create mode 100644 glew/auto/extensions/gl/GL_AMD_transform_feedback4 create mode 100644 glew/auto/extensions/gl/GL_AMD_vertex_shader_layer create mode 100644 glew/auto/extensions/gl/GL_AMD_vertex_shader_tessellator create mode 100644 glew/auto/extensions/gl/GL_AMD_vertex_shader_viewport_index create mode 100644 glew/auto/extensions/gl/GL_ANDROID_extension_pack_es31a create mode 100644 glew/auto/extensions/gl/GL_ANGLE_depth_texture create mode 100644 glew/auto/extensions/gl/GL_ANGLE_framebuffer_blit create mode 100644 glew/auto/extensions/gl/GL_ANGLE_framebuffer_multisample create mode 100644 glew/auto/extensions/gl/GL_ANGLE_instanced_arrays create mode 100644 glew/auto/extensions/gl/GL_ANGLE_pack_reverse_row_order create mode 100644 glew/auto/extensions/gl/GL_ANGLE_program_binary create mode 100644 glew/auto/extensions/gl/GL_ANGLE_texture_compression_dxt1 create mode 100644 glew/auto/extensions/gl/GL_ANGLE_texture_compression_dxt3 create mode 100644 glew/auto/extensions/gl/GL_ANGLE_texture_compression_dxt5 create mode 100644 glew/auto/extensions/gl/GL_ANGLE_texture_usage create mode 100644 glew/auto/extensions/gl/GL_ANGLE_timer_query create mode 100644 glew/auto/extensions/gl/GL_ANGLE_translated_shader_source create mode 100644 glew/auto/extensions/gl/GL_APPLE_aux_depth_stencil create mode 100644 glew/auto/extensions/gl/GL_APPLE_client_storage create mode 100644 glew/auto/extensions/gl/GL_APPLE_clip_distance create mode 100644 glew/auto/extensions/gl/GL_APPLE_color_buffer_packed_float create mode 100644 glew/auto/extensions/gl/GL_APPLE_copy_texture_levels create mode 100644 glew/auto/extensions/gl/GL_APPLE_element_array create mode 100644 glew/auto/extensions/gl/GL_APPLE_fence create mode 100644 glew/auto/extensions/gl/GL_APPLE_float_pixels create mode 100644 glew/auto/extensions/gl/GL_APPLE_flush_buffer_range create mode 100644 glew/auto/extensions/gl/GL_APPLE_framebuffer_multisample create mode 100644 glew/auto/extensions/gl/GL_APPLE_object_purgeable create mode 100644 glew/auto/extensions/gl/GL_APPLE_pixel_buffer create mode 100644 glew/auto/extensions/gl/GL_APPLE_rgb_422 create mode 100644 glew/auto/extensions/gl/GL_APPLE_row_bytes create mode 100644 glew/auto/extensions/gl/GL_APPLE_specular_vector create mode 100644 glew/auto/extensions/gl/GL_APPLE_sync create mode 100644 glew/auto/extensions/gl/GL_APPLE_texture_2D_limited_npot create mode 100644 glew/auto/extensions/gl/GL_APPLE_texture_format_BGRA8888 create mode 100644 glew/auto/extensions/gl/GL_APPLE_texture_max_level create mode 100644 glew/auto/extensions/gl/GL_APPLE_texture_packed_float create mode 100644 glew/auto/extensions/gl/GL_APPLE_texture_range create mode 100644 glew/auto/extensions/gl/GL_APPLE_transform_hint create mode 100644 glew/auto/extensions/gl/GL_APPLE_vertex_array_object create mode 100644 glew/auto/extensions/gl/GL_APPLE_vertex_array_range create mode 100644 glew/auto/extensions/gl/GL_APPLE_vertex_program_evaluators create mode 100644 glew/auto/extensions/gl/GL_APPLE_ycbcr_422 create mode 100644 glew/auto/extensions/gl/GL_ARB_ES2_compatibility create mode 100644 glew/auto/extensions/gl/GL_ARB_ES3_1_compatibility create mode 100644 glew/auto/extensions/gl/GL_ARB_ES3_2_compatibility create mode 100644 glew/auto/extensions/gl/GL_ARB_ES3_compatibility create mode 100644 glew/auto/extensions/gl/GL_ARB_arrays_of_arrays create mode 100644 glew/auto/extensions/gl/GL_ARB_base_instance create mode 100644 glew/auto/extensions/gl/GL_ARB_bindless_texture create mode 100644 glew/auto/extensions/gl/GL_ARB_blend_func_extended create mode 100644 glew/auto/extensions/gl/GL_ARB_buffer_storage create mode 100644 glew/auto/extensions/gl/GL_ARB_cl_event create mode 100644 glew/auto/extensions/gl/GL_ARB_clear_buffer_object create mode 100644 glew/auto/extensions/gl/GL_ARB_clear_texture create mode 100644 glew/auto/extensions/gl/GL_ARB_clip_control create mode 100644 glew/auto/extensions/gl/GL_ARB_color_buffer_float create mode 100644 glew/auto/extensions/gl/GL_ARB_compatibility create mode 100644 glew/auto/extensions/gl/GL_ARB_compressed_texture_pixel_storage create mode 100644 glew/auto/extensions/gl/GL_ARB_compute_shader create mode 100644 glew/auto/extensions/gl/GL_ARB_compute_variable_group_size create mode 100644 glew/auto/extensions/gl/GL_ARB_conditional_render_inverted create mode 100644 glew/auto/extensions/gl/GL_ARB_conservative_depth create mode 100644 glew/auto/extensions/gl/GL_ARB_copy_buffer create mode 100644 glew/auto/extensions/gl/GL_ARB_copy_image create mode 100644 glew/auto/extensions/gl/GL_ARB_cull_distance create mode 100644 glew/auto/extensions/gl/GL_ARB_debug_output create mode 100644 glew/auto/extensions/gl/GL_ARB_depth_buffer_float create mode 100644 glew/auto/extensions/gl/GL_ARB_depth_clamp create mode 100644 glew/auto/extensions/gl/GL_ARB_depth_texture create mode 100644 glew/auto/extensions/gl/GL_ARB_derivative_control create mode 100644 glew/auto/extensions/gl/GL_ARB_direct_state_access create mode 100644 glew/auto/extensions/gl/GL_ARB_draw_buffers create mode 100644 glew/auto/extensions/gl/GL_ARB_draw_buffers_blend create mode 100644 glew/auto/extensions/gl/GL_ARB_draw_elements_base_vertex create mode 100644 glew/auto/extensions/gl/GL_ARB_draw_indirect create mode 100644 glew/auto/extensions/gl/GL_ARB_draw_instanced create mode 100644 glew/auto/extensions/gl/GL_ARB_enhanced_layouts create mode 100644 glew/auto/extensions/gl/GL_ARB_explicit_attrib_location create mode 100644 glew/auto/extensions/gl/GL_ARB_explicit_uniform_location create mode 100644 glew/auto/extensions/gl/GL_ARB_fragment_coord_conventions create mode 100644 glew/auto/extensions/gl/GL_ARB_fragment_layer_viewport create mode 100644 glew/auto/extensions/gl/GL_ARB_fragment_program create mode 100644 glew/auto/extensions/gl/GL_ARB_fragment_program_shadow create mode 100644 glew/auto/extensions/gl/GL_ARB_fragment_shader create mode 100644 glew/auto/extensions/gl/GL_ARB_fragment_shader_interlock create mode 100644 glew/auto/extensions/gl/GL_ARB_framebuffer_no_attachments create mode 100644 glew/auto/extensions/gl/GL_ARB_framebuffer_object create mode 100644 glew/auto/extensions/gl/GL_ARB_framebuffer_sRGB create mode 100644 glew/auto/extensions/gl/GL_ARB_geometry_shader4 create mode 100644 glew/auto/extensions/gl/GL_ARB_get_program_binary create mode 100644 glew/auto/extensions/gl/GL_ARB_get_texture_sub_image create mode 100644 glew/auto/extensions/gl/GL_ARB_gl_spirv create mode 100644 glew/auto/extensions/gl/GL_ARB_gpu_shader5 create mode 100644 glew/auto/extensions/gl/GL_ARB_gpu_shader_fp64 create mode 100644 glew/auto/extensions/gl/GL_ARB_gpu_shader_int64 create mode 100644 glew/auto/extensions/gl/GL_ARB_half_float_pixel create mode 100644 glew/auto/extensions/gl/GL_ARB_half_float_vertex create mode 100644 glew/auto/extensions/gl/GL_ARB_imaging create mode 100644 glew/auto/extensions/gl/GL_ARB_indirect_parameters create mode 100644 glew/auto/extensions/gl/GL_ARB_instanced_arrays create mode 100644 glew/auto/extensions/gl/GL_ARB_internalformat_query create mode 100644 glew/auto/extensions/gl/GL_ARB_internalformat_query2 create mode 100644 glew/auto/extensions/gl/GL_ARB_invalidate_subdata create mode 100644 glew/auto/extensions/gl/GL_ARB_map_buffer_alignment create mode 100644 glew/auto/extensions/gl/GL_ARB_map_buffer_range create mode 100644 glew/auto/extensions/gl/GL_ARB_matrix_palette create mode 100644 glew/auto/extensions/gl/GL_ARB_multi_bind create mode 100644 glew/auto/extensions/gl/GL_ARB_multi_draw_indirect create mode 100644 glew/auto/extensions/gl/GL_ARB_multisample create mode 100644 glew/auto/extensions/gl/GL_ARB_multitexture create mode 100644 glew/auto/extensions/gl/GL_ARB_occlusion_query create mode 100644 glew/auto/extensions/gl/GL_ARB_occlusion_query2 create mode 100644 glew/auto/extensions/gl/GL_ARB_parallel_shader_compile create mode 100644 glew/auto/extensions/gl/GL_ARB_pipeline_statistics_query create mode 100644 glew/auto/extensions/gl/GL_ARB_pixel_buffer_object create mode 100644 glew/auto/extensions/gl/GL_ARB_point_parameters create mode 100644 glew/auto/extensions/gl/GL_ARB_point_sprite create mode 100644 glew/auto/extensions/gl/GL_ARB_polygon_offset_clamp create mode 100644 glew/auto/extensions/gl/GL_ARB_post_depth_coverage create mode 100644 glew/auto/extensions/gl/GL_ARB_program_interface_query create mode 100644 glew/auto/extensions/gl/GL_ARB_provoking_vertex create mode 100644 glew/auto/extensions/gl/GL_ARB_query_buffer_object create mode 100644 glew/auto/extensions/gl/GL_ARB_robust_buffer_access_behavior create mode 100644 glew/auto/extensions/gl/GL_ARB_robustness create mode 100644 glew/auto/extensions/gl/GL_ARB_robustness_application_isolation create mode 100644 glew/auto/extensions/gl/GL_ARB_robustness_share_group_isolation create mode 100644 glew/auto/extensions/gl/GL_ARB_sample_locations create mode 100644 glew/auto/extensions/gl/GL_ARB_sample_shading create mode 100644 glew/auto/extensions/gl/GL_ARB_sampler_objects create mode 100644 glew/auto/extensions/gl/GL_ARB_seamless_cube_map create mode 100644 glew/auto/extensions/gl/GL_ARB_seamless_cubemap_per_texture create mode 100644 glew/auto/extensions/gl/GL_ARB_separate_shader_objects create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_atomic_counter_ops create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_atomic_counters create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_ballot create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_bit_encoding create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_clock create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_draw_parameters create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_group_vote create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_image_load_store create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_image_size create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_objects create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_precision create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_stencil_export create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_storage_buffer_object create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_subroutine create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_texture_image_samples create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_texture_lod create mode 100644 glew/auto/extensions/gl/GL_ARB_shader_viewport_layer_array create mode 100644 glew/auto/extensions/gl/GL_ARB_shading_language_100 create mode 100644 glew/auto/extensions/gl/GL_ARB_shading_language_420pack create mode 100644 glew/auto/extensions/gl/GL_ARB_shading_language_include create mode 100644 glew/auto/extensions/gl/GL_ARB_shading_language_packing create mode 100644 glew/auto/extensions/gl/GL_ARB_shadow create mode 100644 glew/auto/extensions/gl/GL_ARB_shadow_ambient create mode 100644 glew/auto/extensions/gl/GL_ARB_sparse_buffer create mode 100644 glew/auto/extensions/gl/GL_ARB_sparse_texture create mode 100644 glew/auto/extensions/gl/GL_ARB_sparse_texture2 create mode 100644 glew/auto/extensions/gl/GL_ARB_sparse_texture_clamp create mode 100644 glew/auto/extensions/gl/GL_ARB_spirv_extensions create mode 100644 glew/auto/extensions/gl/GL_ARB_stencil_texturing create mode 100644 glew/auto/extensions/gl/GL_ARB_sync create mode 100644 glew/auto/extensions/gl/GL_ARB_tessellation_shader create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_barrier create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_border_clamp create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_buffer_object create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_buffer_object_rgb32 create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_buffer_range create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_compression create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_compression_bptc create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_compression_rgtc create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_cube_map create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_cube_map_array create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_env_add create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_env_combine create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_env_crossbar create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_env_dot3 create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_filter_anisotropic create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_filter_minmax create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_float create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_gather create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_mirror_clamp_to_edge create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_mirrored_repeat create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_multisample create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_non_power_of_two create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_query_levels create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_query_lod create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_rectangle create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_rg create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_rgb10_a2ui create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_stencil8 create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_storage create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_storage_multisample create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_swizzle create mode 100644 glew/auto/extensions/gl/GL_ARB_texture_view create mode 100644 glew/auto/extensions/gl/GL_ARB_timer_query create mode 100644 glew/auto/extensions/gl/GL_ARB_transform_feedback2 create mode 100644 glew/auto/extensions/gl/GL_ARB_transform_feedback3 create mode 100644 glew/auto/extensions/gl/GL_ARB_transform_feedback_instanced create mode 100644 glew/auto/extensions/gl/GL_ARB_transform_feedback_overflow_query create mode 100644 glew/auto/extensions/gl/GL_ARB_transpose_matrix create mode 100644 glew/auto/extensions/gl/GL_ARB_uniform_buffer_object create mode 100644 glew/auto/extensions/gl/GL_ARB_vertex_array_bgra create mode 100644 glew/auto/extensions/gl/GL_ARB_vertex_array_object create mode 100644 glew/auto/extensions/gl/GL_ARB_vertex_attrib_64bit create mode 100644 glew/auto/extensions/gl/GL_ARB_vertex_attrib_binding create mode 100644 glew/auto/extensions/gl/GL_ARB_vertex_blend create mode 100644 glew/auto/extensions/gl/GL_ARB_vertex_buffer_object create mode 100644 glew/auto/extensions/gl/GL_ARB_vertex_program create mode 100644 glew/auto/extensions/gl/GL_ARB_vertex_shader create mode 100644 glew/auto/extensions/gl/GL_ARB_vertex_type_10f_11f_11f_rev create mode 100644 glew/auto/extensions/gl/GL_ARB_vertex_type_2_10_10_10_rev create mode 100644 glew/auto/extensions/gl/GL_ARB_viewport_array create mode 100644 glew/auto/extensions/gl/GL_ARB_window_pos create mode 100644 glew/auto/extensions/gl/GL_ARM_mali_program_binary create mode 100644 glew/auto/extensions/gl/GL_ARM_mali_shader_binary create mode 100644 glew/auto/extensions/gl/GL_ARM_rgba8 create mode 100644 glew/auto/extensions/gl/GL_ARM_shader_framebuffer_fetch create mode 100644 glew/auto/extensions/gl/GL_ARM_shader_framebuffer_fetch_depth_stencil create mode 100644 glew/auto/extensions/gl/GL_ARM_texture_unnormalized_coordinates create mode 100644 glew/auto/extensions/gl/GL_ATIX_point_sprites create mode 100644 glew/auto/extensions/gl/GL_ATIX_texture_env_combine3 create mode 100644 glew/auto/extensions/gl/GL_ATIX_texture_env_route create mode 100644 glew/auto/extensions/gl/GL_ATIX_vertex_shader_output_point_size create mode 100644 glew/auto/extensions/gl/GL_ATI_draw_buffers create mode 100644 glew/auto/extensions/gl/GL_ATI_element_array create mode 100644 glew/auto/extensions/gl/GL_ATI_envmap_bumpmap create mode 100644 glew/auto/extensions/gl/GL_ATI_fragment_shader create mode 100644 glew/auto/extensions/gl/GL_ATI_map_object_buffer create mode 100644 glew/auto/extensions/gl/GL_ATI_meminfo create mode 100644 glew/auto/extensions/gl/GL_ATI_pn_triangles create mode 100644 glew/auto/extensions/gl/GL_ATI_separate_stencil create mode 100644 glew/auto/extensions/gl/GL_ATI_shader_texture_lod create mode 100644 glew/auto/extensions/gl/GL_ATI_text_fragment_shader create mode 100644 glew/auto/extensions/gl/GL_ATI_texture_compression_3dc create mode 100644 glew/auto/extensions/gl/GL_ATI_texture_env_combine3 create mode 100644 glew/auto/extensions/gl/GL_ATI_texture_float create mode 100644 glew/auto/extensions/gl/GL_ATI_texture_mirror_once create mode 100644 glew/auto/extensions/gl/GL_ATI_vertex_array_object create mode 100644 glew/auto/extensions/gl/GL_ATI_vertex_attrib_array_object create mode 100644 glew/auto/extensions/gl/GL_ATI_vertex_streams create mode 100644 glew/auto/extensions/gl/GL_DMP_program_binary create mode 100644 glew/auto/extensions/gl/GL_DMP_shader_binary create mode 100644 glew/auto/extensions/gl/GL_EXT_422_pixels create mode 100644 glew/auto/extensions/gl/GL_EXT_Cg_shader create mode 100644 glew/auto/extensions/gl/GL_EXT_EGL_image_array create mode 100644 glew/auto/extensions/gl/GL_EXT_EGL_image_external_wrap_modes create mode 100644 glew/auto/extensions/gl/GL_EXT_EGL_image_storage create mode 100644 glew/auto/extensions/gl/GL_EXT_EGL_image_storage_compression create mode 100644 glew/auto/extensions/gl/GL_EXT_EGL_sync create mode 100644 glew/auto/extensions/gl/GL_EXT_YUV_target create mode 100644 glew/auto/extensions/gl/GL_EXT_abgr create mode 100644 glew/auto/extensions/gl/GL_EXT_base_instance create mode 100644 glew/auto/extensions/gl/GL_EXT_bgra create mode 100644 glew/auto/extensions/gl/GL_EXT_bindable_uniform create mode 100644 glew/auto/extensions/gl/GL_EXT_blend_color create mode 100644 glew/auto/extensions/gl/GL_EXT_blend_equation_separate create mode 100644 glew/auto/extensions/gl/GL_EXT_blend_func_extended create mode 100644 glew/auto/extensions/gl/GL_EXT_blend_func_separate create mode 100644 glew/auto/extensions/gl/GL_EXT_blend_logic_op create mode 100644 glew/auto/extensions/gl/GL_EXT_blend_minmax create mode 100644 glew/auto/extensions/gl/GL_EXT_blend_subtract create mode 100644 glew/auto/extensions/gl/GL_EXT_buffer_storage create mode 100644 glew/auto/extensions/gl/GL_EXT_clear_texture create mode 100644 glew/auto/extensions/gl/GL_EXT_clip_control create mode 100644 glew/auto/extensions/gl/GL_EXT_clip_cull_distance create mode 100644 glew/auto/extensions/gl/GL_EXT_clip_volume_hint create mode 100644 glew/auto/extensions/gl/GL_EXT_cmyka create mode 100644 glew/auto/extensions/gl/GL_EXT_color_buffer_float create mode 100644 glew/auto/extensions/gl/GL_EXT_color_buffer_half_float create mode 100644 glew/auto/extensions/gl/GL_EXT_color_subtable create mode 100644 glew/auto/extensions/gl/GL_EXT_compiled_vertex_array create mode 100644 glew/auto/extensions/gl/GL_EXT_compressed_ETC1_RGB8_sub_texture create mode 100644 glew/auto/extensions/gl/GL_EXT_conservative_depth create mode 100644 glew/auto/extensions/gl/GL_EXT_convolution create mode 100644 glew/auto/extensions/gl/GL_EXT_coordinate_frame create mode 100644 glew/auto/extensions/gl/GL_EXT_copy_image create mode 100644 glew/auto/extensions/gl/GL_EXT_copy_texture create mode 100644 glew/auto/extensions/gl/GL_EXT_cull_vertex create mode 100644 glew/auto/extensions/gl/GL_EXT_debug_label create mode 100644 glew/auto/extensions/gl/GL_EXT_debug_marker create mode 100644 glew/auto/extensions/gl/GL_EXT_depth_bounds_test create mode 100644 glew/auto/extensions/gl/GL_EXT_depth_clamp create mode 100644 glew/auto/extensions/gl/GL_EXT_direct_state_access create mode 100644 glew/auto/extensions/gl/GL_EXT_discard_framebuffer create mode 100644 glew/auto/extensions/gl/GL_EXT_disjoint_timer_query create mode 100644 glew/auto/extensions/gl/GL_EXT_draw_buffers create mode 100644 glew/auto/extensions/gl/GL_EXT_draw_buffers2 create mode 100644 glew/auto/extensions/gl/GL_EXT_draw_buffers_indexed create mode 100644 glew/auto/extensions/gl/GL_EXT_draw_elements_base_vertex create mode 100644 glew/auto/extensions/gl/GL_EXT_draw_instanced create mode 100644 glew/auto/extensions/gl/GL_EXT_draw_range_elements create mode 100644 glew/auto/extensions/gl/GL_EXT_draw_transform_feedback create mode 100644 glew/auto/extensions/gl/GL_EXT_external_buffer create mode 100644 glew/auto/extensions/gl/GL_EXT_float_blend create mode 100644 glew/auto/extensions/gl/GL_EXT_fog_coord create mode 100644 glew/auto/extensions/gl/GL_EXT_frag_depth create mode 100644 glew/auto/extensions/gl/GL_EXT_fragment_lighting create mode 100644 glew/auto/extensions/gl/GL_EXT_framebuffer_blit create mode 100644 glew/auto/extensions/gl/GL_EXT_framebuffer_multisample create mode 100644 glew/auto/extensions/gl/GL_EXT_framebuffer_multisample_blit_scaled create mode 100644 glew/auto/extensions/gl/GL_EXT_framebuffer_object create mode 100644 glew/auto/extensions/gl/GL_EXT_framebuffer_sRGB create mode 100644 glew/auto/extensions/gl/GL_EXT_geometry_point_size create mode 100644 glew/auto/extensions/gl/GL_EXT_geometry_shader create mode 100644 glew/auto/extensions/gl/GL_EXT_geometry_shader4 create mode 100644 glew/auto/extensions/gl/GL_EXT_gpu_program_parameters create mode 100644 glew/auto/extensions/gl/GL_EXT_gpu_shader4 create mode 100644 glew/auto/extensions/gl/GL_EXT_gpu_shader5 create mode 100644 glew/auto/extensions/gl/GL_EXT_histogram create mode 100644 glew/auto/extensions/gl/GL_EXT_index_array_formats create mode 100644 glew/auto/extensions/gl/GL_EXT_index_func create mode 100644 glew/auto/extensions/gl/GL_EXT_index_material create mode 100644 glew/auto/extensions/gl/GL_EXT_index_texture create mode 100644 glew/auto/extensions/gl/GL_EXT_instanced_arrays create mode 100644 glew/auto/extensions/gl/GL_EXT_light_texture create mode 100644 glew/auto/extensions/gl/GL_EXT_map_buffer_range create mode 100644 glew/auto/extensions/gl/GL_EXT_memory_object create mode 100644 glew/auto/extensions/gl/GL_EXT_memory_object_fd create mode 100644 glew/auto/extensions/gl/GL_EXT_memory_object_win32 create mode 100644 glew/auto/extensions/gl/GL_EXT_misc_attribute create mode 100644 glew/auto/extensions/gl/GL_EXT_multi_draw_arrays create mode 100644 glew/auto/extensions/gl/GL_EXT_multi_draw_indirect create mode 100644 glew/auto/extensions/gl/GL_EXT_multiple_textures create mode 100644 glew/auto/extensions/gl/GL_EXT_multisample create mode 100644 glew/auto/extensions/gl/GL_EXT_multisample_compatibility create mode 100644 glew/auto/extensions/gl/GL_EXT_multisampled_render_to_texture create mode 100644 glew/auto/extensions/gl/GL_EXT_multisampled_render_to_texture2 create mode 100644 glew/auto/extensions/gl/GL_EXT_multiview_draw_buffers create mode 100644 glew/auto/extensions/gl/GL_EXT_multiview_tessellation_geometry_shader create mode 100644 glew/auto/extensions/gl/GL_EXT_multiview_texture_multisample create mode 100644 glew/auto/extensions/gl/GL_EXT_multiview_timer_query create mode 100644 glew/auto/extensions/gl/GL_EXT_occlusion_query_boolean create mode 100644 glew/auto/extensions/gl/GL_EXT_packed_depth_stencil create mode 100644 glew/auto/extensions/gl/GL_EXT_packed_float create mode 100644 glew/auto/extensions/gl/GL_EXT_packed_pixels create mode 100644 glew/auto/extensions/gl/GL_EXT_paletted_texture create mode 100644 glew/auto/extensions/gl/GL_EXT_pixel_buffer_object create mode 100644 glew/auto/extensions/gl/GL_EXT_pixel_transform create mode 100644 glew/auto/extensions/gl/GL_EXT_pixel_transform_color_table create mode 100644 glew/auto/extensions/gl/GL_EXT_point_parameters create mode 100644 glew/auto/extensions/gl/GL_EXT_polygon_offset create mode 100644 glew/auto/extensions/gl/GL_EXT_polygon_offset_clamp create mode 100644 glew/auto/extensions/gl/GL_EXT_post_depth_coverage create mode 100644 glew/auto/extensions/gl/GL_EXT_primitive_bounding_box create mode 100644 glew/auto/extensions/gl/GL_EXT_protected_textures create mode 100644 glew/auto/extensions/gl/GL_EXT_provoking_vertex create mode 100644 glew/auto/extensions/gl/GL_EXT_pvrtc_sRGB create mode 100644 glew/auto/extensions/gl/GL_EXT_raster_multisample create mode 100644 glew/auto/extensions/gl/GL_EXT_read_format_bgra create mode 100644 glew/auto/extensions/gl/GL_EXT_render_snorm create mode 100644 glew/auto/extensions/gl/GL_EXT_rescale_normal create mode 100644 glew/auto/extensions/gl/GL_EXT_robustness create mode 100644 glew/auto/extensions/gl/GL_EXT_sRGB create mode 100644 glew/auto/extensions/gl/GL_EXT_sRGB_write_control create mode 100644 glew/auto/extensions/gl/GL_EXT_scene_marker create mode 100644 glew/auto/extensions/gl/GL_EXT_secondary_color create mode 100644 glew/auto/extensions/gl/GL_EXT_semaphore create mode 100644 glew/auto/extensions/gl/GL_EXT_semaphore_fd create mode 100644 glew/auto/extensions/gl/GL_EXT_semaphore_win32 create mode 100644 glew/auto/extensions/gl/GL_EXT_separate_depth_stencil create mode 100644 glew/auto/extensions/gl/GL_EXT_separate_shader_objects create mode 100644 glew/auto/extensions/gl/GL_EXT_separate_specular_color create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_framebuffer_fetch create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_framebuffer_fetch_non_coherent create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_group_vote create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_image_load_formatted create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_image_load_store create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_implicit_conversions create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_integer_mix create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_io_blocks create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_non_constant_global_initializers create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_pixel_local_storage create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_pixel_local_storage2 create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_samples_identical create mode 100644 glew/auto/extensions/gl/GL_EXT_shader_texture_lod create mode 100644 glew/auto/extensions/gl/GL_EXT_shadow_funcs create mode 100644 glew/auto/extensions/gl/GL_EXT_shadow_samplers create mode 100644 glew/auto/extensions/gl/GL_EXT_shared_texture_palette create mode 100644 glew/auto/extensions/gl/GL_EXT_sparse_texture create mode 100644 glew/auto/extensions/gl/GL_EXT_sparse_texture2 create mode 100644 glew/auto/extensions/gl/GL_EXT_static_vertex_array create mode 100644 glew/auto/extensions/gl/GL_EXT_stencil_clear_tag create mode 100644 glew/auto/extensions/gl/GL_EXT_stencil_two_side create mode 100644 glew/auto/extensions/gl/GL_EXT_stencil_wrap create mode 100644 glew/auto/extensions/gl/GL_EXT_subtexture create mode 100644 glew/auto/extensions/gl/GL_EXT_tessellation_point_size create mode 100644 glew/auto/extensions/gl/GL_EXT_tessellation_shader create mode 100644 glew/auto/extensions/gl/GL_EXT_texture create mode 100644 glew/auto/extensions/gl/GL_EXT_texture3D create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_array create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_border_clamp create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_buffer create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_buffer_object create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_compression_astc_decode_mode create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_compression_astc_decode_mode_rgb9e5 create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_compression_bptc create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_compression_dxt1 create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_compression_latc create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_compression_rgtc create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_compression_s3tc create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_compression_s3tc_srgb create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_cube_map create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_cube_map_array create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_edge_clamp create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_env create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_env_add create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_env_combine create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_env_dot3 create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_filter_anisotropic create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_filter_minmax create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_format_BGRA8888 create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_format_sRGB_override create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_integer create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_lod_bias create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_mirror_clamp create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_mirror_clamp_to_edge create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_norm16 create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_object create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_perturb_normal create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_query_lod create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_rectangle create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_rg create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_sRGB create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_sRGB_R8 create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_sRGB_RG8 create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_sRGB_decode create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_shadow_lod create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_shared_exponent create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_snorm create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_storage create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_storage_compression create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_swizzle create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_type_2_10_10_10_REV create mode 100644 glew/auto/extensions/gl/GL_EXT_texture_view create mode 100644 glew/auto/extensions/gl/GL_EXT_timer_query create mode 100644 glew/auto/extensions/gl/GL_EXT_transform_feedback create mode 100644 glew/auto/extensions/gl/GL_EXT_unpack_subimage create mode 100644 glew/auto/extensions/gl/GL_EXT_vertex_array create mode 100644 glew/auto/extensions/gl/GL_EXT_vertex_array_bgra create mode 100644 glew/auto/extensions/gl/GL_EXT_vertex_array_setXXX create mode 100644 glew/auto/extensions/gl/GL_EXT_vertex_attrib_64bit create mode 100644 glew/auto/extensions/gl/GL_EXT_vertex_shader create mode 100644 glew/auto/extensions/gl/GL_EXT_vertex_weighting create mode 100644 glew/auto/extensions/gl/GL_EXT_win32_keyed_mutex create mode 100644 glew/auto/extensions/gl/GL_EXT_window_rectangles create mode 100644 glew/auto/extensions/gl/GL_EXT_x11_sync_object create mode 100644 glew/auto/extensions/gl/GL_FJ_shader_binary_GCCSO create mode 100644 glew/auto/extensions/gl/GL_GREMEDY_frame_terminator create mode 100644 glew/auto/extensions/gl/GL_GREMEDY_string_marker create mode 100644 glew/auto/extensions/gl/GL_HP_convolution_border_modes create mode 100644 glew/auto/extensions/gl/GL_HP_image_transform create mode 100644 glew/auto/extensions/gl/GL_HP_occlusion_test create mode 100644 glew/auto/extensions/gl/GL_HP_texture_lighting create mode 100644 glew/auto/extensions/gl/GL_IBM_cull_vertex create mode 100644 glew/auto/extensions/gl/GL_IBM_multimode_draw_arrays create mode 100644 glew/auto/extensions/gl/GL_IBM_rasterpos_clip create mode 100644 glew/auto/extensions/gl/GL_IBM_static_data create mode 100644 glew/auto/extensions/gl/GL_IBM_texture_mirrored_repeat create mode 100644 glew/auto/extensions/gl/GL_IBM_vertex_array_lists create mode 100644 glew/auto/extensions/gl/GL_IMG_bindless_texture create mode 100644 glew/auto/extensions/gl/GL_IMG_framebuffer_downsample create mode 100644 glew/auto/extensions/gl/GL_IMG_multisampled_render_to_texture create mode 100644 glew/auto/extensions/gl/GL_IMG_program_binary create mode 100644 glew/auto/extensions/gl/GL_IMG_read_format create mode 100644 glew/auto/extensions/gl/GL_IMG_shader_binary create mode 100644 glew/auto/extensions/gl/GL_IMG_texture_compression_pvrtc create mode 100644 glew/auto/extensions/gl/GL_IMG_texture_compression_pvrtc2 create mode 100644 glew/auto/extensions/gl/GL_IMG_texture_env_enhanced_fixed_function create mode 100644 glew/auto/extensions/gl/GL_IMG_texture_filter_cubic create mode 100644 glew/auto/extensions/gl/GL_IMG_tile_region_protection create mode 100644 glew/auto/extensions/gl/GL_INGR_color_clamp create mode 100644 glew/auto/extensions/gl/GL_INGR_interlace_read create mode 100644 glew/auto/extensions/gl/GL_INTEL_blackhole_render create mode 100644 glew/auto/extensions/gl/GL_INTEL_conservative_rasterization create mode 100644 glew/auto/extensions/gl/GL_INTEL_fragment_shader_ordering create mode 100644 glew/auto/extensions/gl/GL_INTEL_framebuffer_CMAA create mode 100644 glew/auto/extensions/gl/GL_INTEL_map_texture create mode 100644 glew/auto/extensions/gl/GL_INTEL_parallel_arrays create mode 100644 glew/auto/extensions/gl/GL_INTEL_performance_query create mode 100644 glew/auto/extensions/gl/GL_INTEL_shader_integer_functions2 create mode 100644 glew/auto/extensions/gl/GL_INTEL_texture_scissor create mode 100644 glew/auto/extensions/gl/GL_KHR_blend_equation_advanced create mode 100644 glew/auto/extensions/gl/GL_KHR_blend_equation_advanced_coherent create mode 100644 glew/auto/extensions/gl/GL_KHR_context_flush_control create mode 100644 glew/auto/extensions/gl/GL_KHR_debug create mode 100644 glew/auto/extensions/gl/GL_KHR_no_error create mode 100644 glew/auto/extensions/gl/GL_KHR_parallel_shader_compile create mode 100644 glew/auto/extensions/gl/GL_KHR_robust_buffer_access_behavior create mode 100644 glew/auto/extensions/gl/GL_KHR_robustness create mode 100644 glew/auto/extensions/gl/GL_KHR_shader_subgroup create mode 100644 glew/auto/extensions/gl/GL_KHR_texture_compression_astc_hdr create mode 100644 glew/auto/extensions/gl/GL_KHR_texture_compression_astc_ldr create mode 100644 glew/auto/extensions/gl/GL_KHR_texture_compression_astc_sliced_3d create mode 100644 glew/auto/extensions/gl/GL_KTX_buffer_region create mode 100644 glew/auto/extensions/gl/GL_MESAX_texture_stack create mode 100644 glew/auto/extensions/gl/GL_MESA_bgra create mode 100644 glew/auto/extensions/gl/GL_MESA_framebuffer_flip_x create mode 100644 glew/auto/extensions/gl/GL_MESA_framebuffer_flip_y create mode 100644 glew/auto/extensions/gl/GL_MESA_framebuffer_swap_xy create mode 100644 glew/auto/extensions/gl/GL_MESA_pack_invert create mode 100644 glew/auto/extensions/gl/GL_MESA_program_binary_formats create mode 100644 glew/auto/extensions/gl/GL_MESA_resize_buffers create mode 100644 glew/auto/extensions/gl/GL_MESA_shader_integer_functions create mode 100644 glew/auto/extensions/gl/GL_MESA_tile_raster_order create mode 100644 glew/auto/extensions/gl/GL_MESA_window_pos create mode 100644 glew/auto/extensions/gl/GL_MESA_ycbcr_texture create mode 100644 glew/auto/extensions/gl/GL_NVX_blend_equation_advanced_multi_draw_buffers create mode 100644 glew/auto/extensions/gl/GL_NVX_conditional_render create mode 100644 glew/auto/extensions/gl/GL_NVX_gpu_memory_info create mode 100644 glew/auto/extensions/gl/GL_NVX_gpu_multicast2 create mode 100644 glew/auto/extensions/gl/GL_NVX_linked_gpu_multicast create mode 100644 glew/auto/extensions/gl/GL_NVX_progress_fence create mode 100644 glew/auto/extensions/gl/GL_NV_3dvision_settings create mode 100644 glew/auto/extensions/gl/GL_NV_EGL_stream_consumer_external create mode 100644 glew/auto/extensions/gl/GL_NV_alpha_to_coverage_dither_control create mode 100644 glew/auto/extensions/gl/GL_NV_bgr create mode 100644 glew/auto/extensions/gl/GL_NV_bindless_multi_draw_indirect create mode 100644 glew/auto/extensions/gl/GL_NV_bindless_multi_draw_indirect_count create mode 100644 glew/auto/extensions/gl/GL_NV_bindless_texture create mode 100644 glew/auto/extensions/gl/GL_NV_blend_equation_advanced create mode 100644 glew/auto/extensions/gl/GL_NV_blend_equation_advanced_coherent create mode 100644 glew/auto/extensions/gl/GL_NV_blend_minmax_factor create mode 100644 glew/auto/extensions/gl/GL_NV_blend_square create mode 100644 glew/auto/extensions/gl/GL_NV_clip_space_w_scaling create mode 100644 glew/auto/extensions/gl/GL_NV_command_list create mode 100644 glew/auto/extensions/gl/GL_NV_compute_program5 create mode 100644 glew/auto/extensions/gl/GL_NV_compute_shader_derivatives create mode 100644 glew/auto/extensions/gl/GL_NV_conditional_render create mode 100644 glew/auto/extensions/gl/GL_NV_conservative_raster create mode 100644 glew/auto/extensions/gl/GL_NV_conservative_raster_dilate create mode 100644 glew/auto/extensions/gl/GL_NV_conservative_raster_pre_snap create mode 100644 glew/auto/extensions/gl/GL_NV_conservative_raster_pre_snap_triangles create mode 100644 glew/auto/extensions/gl/GL_NV_conservative_raster_underestimation create mode 100644 glew/auto/extensions/gl/GL_NV_copy_buffer create mode 100644 glew/auto/extensions/gl/GL_NV_copy_depth_to_color create mode 100644 glew/auto/extensions/gl/GL_NV_copy_image create mode 100644 glew/auto/extensions/gl/GL_NV_deep_texture3D create mode 100644 glew/auto/extensions/gl/GL_NV_depth_buffer_float create mode 100644 glew/auto/extensions/gl/GL_NV_depth_clamp create mode 100644 glew/auto/extensions/gl/GL_NV_depth_nonlinear create mode 100644 glew/auto/extensions/gl/GL_NV_depth_range_unclamped create mode 100644 glew/auto/extensions/gl/GL_NV_draw_buffers create mode 100644 glew/auto/extensions/gl/GL_NV_draw_instanced create mode 100644 glew/auto/extensions/gl/GL_NV_draw_texture create mode 100644 glew/auto/extensions/gl/GL_NV_draw_vulkan_image create mode 100644 glew/auto/extensions/gl/GL_NV_evaluators create mode 100644 glew/auto/extensions/gl/GL_NV_explicit_attrib_location create mode 100644 glew/auto/extensions/gl/GL_NV_explicit_multisample create mode 100644 glew/auto/extensions/gl/GL_NV_fbo_color_attachments create mode 100644 glew/auto/extensions/gl/GL_NV_fence create mode 100644 glew/auto/extensions/gl/GL_NV_fill_rectangle create mode 100644 glew/auto/extensions/gl/GL_NV_float_buffer create mode 100644 glew/auto/extensions/gl/GL_NV_fog_distance create mode 100644 glew/auto/extensions/gl/GL_NV_fragment_coverage_to_color create mode 100644 glew/auto/extensions/gl/GL_NV_fragment_program create mode 100644 glew/auto/extensions/gl/GL_NV_fragment_program2 create mode 100644 glew/auto/extensions/gl/GL_NV_fragment_program4 create mode 100644 glew/auto/extensions/gl/GL_NV_fragment_program_option create mode 100644 glew/auto/extensions/gl/GL_NV_fragment_shader_barycentric create mode 100644 glew/auto/extensions/gl/GL_NV_fragment_shader_interlock create mode 100644 glew/auto/extensions/gl/GL_NV_framebuffer_blit create mode 100644 glew/auto/extensions/gl/GL_NV_framebuffer_mixed_samples create mode 100644 glew/auto/extensions/gl/GL_NV_framebuffer_multisample create mode 100644 glew/auto/extensions/gl/GL_NV_framebuffer_multisample_coverage create mode 100644 glew/auto/extensions/gl/GL_NV_generate_mipmap_sRGB create mode 100644 glew/auto/extensions/gl/GL_NV_geometry_program4 create mode 100644 glew/auto/extensions/gl/GL_NV_geometry_shader4 create mode 100644 glew/auto/extensions/gl/GL_NV_geometry_shader_passthrough create mode 100644 glew/auto/extensions/gl/GL_NV_gpu_multicast create mode 100644 glew/auto/extensions/gl/GL_NV_gpu_program4 create mode 100644 glew/auto/extensions/gl/GL_NV_gpu_program5 create mode 100644 glew/auto/extensions/gl/GL_NV_gpu_program5_mem_extended create mode 100644 glew/auto/extensions/gl/GL_NV_gpu_program_fp64 create mode 100644 glew/auto/extensions/gl/GL_NV_gpu_shader5 create mode 100644 glew/auto/extensions/gl/GL_NV_half_float create mode 100644 glew/auto/extensions/gl/GL_NV_image_formats create mode 100644 glew/auto/extensions/gl/GL_NV_instanced_arrays create mode 100644 glew/auto/extensions/gl/GL_NV_internalformat_sample_query create mode 100644 glew/auto/extensions/gl/GL_NV_light_max_exponent create mode 100644 glew/auto/extensions/gl/GL_NV_memory_attachment create mode 100644 glew/auto/extensions/gl/GL_NV_memory_object_sparse create mode 100644 glew/auto/extensions/gl/GL_NV_mesh_shader create mode 100644 glew/auto/extensions/gl/GL_NV_multisample_coverage create mode 100644 glew/auto/extensions/gl/GL_NV_multisample_filter_hint create mode 100644 glew/auto/extensions/gl/GL_NV_non_square_matrices create mode 100644 glew/auto/extensions/gl/GL_NV_occlusion_query create mode 100644 glew/auto/extensions/gl/GL_NV_pack_subimage create mode 100644 glew/auto/extensions/gl/GL_NV_packed_depth_stencil create mode 100644 glew/auto/extensions/gl/GL_NV_packed_float create mode 100644 glew/auto/extensions/gl/GL_NV_packed_float_linear create mode 100644 glew/auto/extensions/gl/GL_NV_parameter_buffer_object create mode 100644 glew/auto/extensions/gl/GL_NV_parameter_buffer_object2 create mode 100644 glew/auto/extensions/gl/GL_NV_path_rendering create mode 100644 glew/auto/extensions/gl/GL_NV_path_rendering_shared_edge create mode 100644 glew/auto/extensions/gl/GL_NV_pixel_buffer_object create mode 100644 glew/auto/extensions/gl/GL_NV_pixel_data_range create mode 100644 glew/auto/extensions/gl/GL_NV_platform_binary create mode 100644 glew/auto/extensions/gl/GL_NV_point_sprite create mode 100644 glew/auto/extensions/gl/GL_NV_polygon_mode create mode 100644 glew/auto/extensions/gl/GL_NV_present_video create mode 100644 glew/auto/extensions/gl/GL_NV_primitive_restart create mode 100644 glew/auto/extensions/gl/GL_NV_primitive_shading_rate create mode 100644 glew/auto/extensions/gl/GL_NV_query_resource_tag create mode 100644 glew/auto/extensions/gl/GL_NV_read_buffer create mode 100644 glew/auto/extensions/gl/GL_NV_read_buffer_front create mode 100644 glew/auto/extensions/gl/GL_NV_read_depth create mode 100644 glew/auto/extensions/gl/GL_NV_read_depth_stencil create mode 100644 glew/auto/extensions/gl/GL_NV_read_stencil create mode 100644 glew/auto/extensions/gl/GL_NV_register_combiners create mode 100644 glew/auto/extensions/gl/GL_NV_register_combiners2 create mode 100644 glew/auto/extensions/gl/GL_NV_representative_fragment_test create mode 100644 glew/auto/extensions/gl/GL_NV_robustness_video_memory_purge create mode 100644 glew/auto/extensions/gl/GL_NV_sRGB_formats create mode 100644 glew/auto/extensions/gl/GL_NV_sample_locations create mode 100644 glew/auto/extensions/gl/GL_NV_sample_mask_override_coverage create mode 100644 glew/auto/extensions/gl/GL_NV_scissor_exclusive create mode 100644 glew/auto/extensions/gl/GL_NV_shader_atomic_counters create mode 100644 glew/auto/extensions/gl/GL_NV_shader_atomic_float create mode 100644 glew/auto/extensions/gl/GL_NV_shader_atomic_float64 create mode 100644 glew/auto/extensions/gl/GL_NV_shader_atomic_fp16_vector create mode 100644 glew/auto/extensions/gl/GL_NV_shader_atomic_int64 create mode 100644 glew/auto/extensions/gl/GL_NV_shader_buffer_load create mode 100644 glew/auto/extensions/gl/GL_NV_shader_noperspective_interpolation create mode 100644 glew/auto/extensions/gl/GL_NV_shader_storage_buffer_object create mode 100644 glew/auto/extensions/gl/GL_NV_shader_subgroup_partitioned create mode 100644 glew/auto/extensions/gl/GL_NV_shader_texture_footprint create mode 100644 glew/auto/extensions/gl/GL_NV_shader_thread_group create mode 100644 glew/auto/extensions/gl/GL_NV_shader_thread_shuffle create mode 100644 glew/auto/extensions/gl/GL_NV_shading_rate_image create mode 100644 glew/auto/extensions/gl/GL_NV_shadow_samplers_array create mode 100644 glew/auto/extensions/gl/GL_NV_shadow_samplers_cube create mode 100644 glew/auto/extensions/gl/GL_NV_stereo_view_rendering create mode 100644 glew/auto/extensions/gl/GL_NV_tessellation_program5 create mode 100644 glew/auto/extensions/gl/GL_NV_texgen_emboss create mode 100644 glew/auto/extensions/gl/GL_NV_texgen_reflection create mode 100644 glew/auto/extensions/gl/GL_NV_texture_array create mode 100644 glew/auto/extensions/gl/GL_NV_texture_barrier create mode 100644 glew/auto/extensions/gl/GL_NV_texture_border_clamp create mode 100644 glew/auto/extensions/gl/GL_NV_texture_compression_latc create mode 100644 glew/auto/extensions/gl/GL_NV_texture_compression_s3tc create mode 100644 glew/auto/extensions/gl/GL_NV_texture_compression_s3tc_update create mode 100644 glew/auto/extensions/gl/GL_NV_texture_compression_vtc create mode 100644 glew/auto/extensions/gl/GL_NV_texture_env_combine4 create mode 100644 glew/auto/extensions/gl/GL_NV_texture_expand_normal create mode 100644 glew/auto/extensions/gl/GL_NV_texture_multisample create mode 100644 glew/auto/extensions/gl/GL_NV_texture_npot_2D_mipmap create mode 100644 glew/auto/extensions/gl/GL_NV_texture_rectangle create mode 100644 glew/auto/extensions/gl/GL_NV_texture_rectangle_compressed create mode 100644 glew/auto/extensions/gl/GL_NV_texture_shader create mode 100644 glew/auto/extensions/gl/GL_NV_texture_shader2 create mode 100644 glew/auto/extensions/gl/GL_NV_texture_shader3 create mode 100644 glew/auto/extensions/gl/GL_NV_timeline_semaphore create mode 100644 glew/auto/extensions/gl/GL_NV_transform_feedback create mode 100644 glew/auto/extensions/gl/GL_NV_transform_feedback2 create mode 100644 glew/auto/extensions/gl/GL_NV_uniform_buffer_unified_memory create mode 100644 glew/auto/extensions/gl/GL_NV_vdpau_interop create mode 100644 glew/auto/extensions/gl/GL_NV_vdpau_interop2 create mode 100644 glew/auto/extensions/gl/GL_NV_vertex_array_range create mode 100644 glew/auto/extensions/gl/GL_NV_vertex_array_range2 create mode 100644 glew/auto/extensions/gl/GL_NV_vertex_attrib_integer_64bit create mode 100644 glew/auto/extensions/gl/GL_NV_vertex_buffer_unified_memory create mode 100644 glew/auto/extensions/gl/GL_NV_vertex_program create mode 100644 glew/auto/extensions/gl/GL_NV_vertex_program1_1 create mode 100644 glew/auto/extensions/gl/GL_NV_vertex_program2 create mode 100644 glew/auto/extensions/gl/GL_NV_vertex_program2_option create mode 100644 glew/auto/extensions/gl/GL_NV_vertex_program3 create mode 100644 glew/auto/extensions/gl/GL_NV_vertex_program4 create mode 100644 glew/auto/extensions/gl/GL_NV_video_capture create mode 100644 glew/auto/extensions/gl/GL_NV_viewport_array create mode 100644 glew/auto/extensions/gl/GL_NV_viewport_array2 create mode 100644 glew/auto/extensions/gl/GL_NV_viewport_swizzle create mode 100644 glew/auto/extensions/gl/GL_OES_EGL_image create mode 100644 glew/auto/extensions/gl/GL_OES_EGL_image_external create mode 100644 glew/auto/extensions/gl/GL_OES_EGL_image_external_essl3 create mode 100644 glew/auto/extensions/gl/GL_OES_blend_equation_separate create mode 100644 glew/auto/extensions/gl/GL_OES_blend_func_separate create mode 100644 glew/auto/extensions/gl/GL_OES_blend_subtract create mode 100644 glew/auto/extensions/gl/GL_OES_byte_coordinates create mode 100644 glew/auto/extensions/gl/GL_OES_compressed_ETC1_RGB8_texture create mode 100644 glew/auto/extensions/gl/GL_OES_compressed_paletted_texture create mode 100644 glew/auto/extensions/gl/GL_OES_copy_image create mode 100644 glew/auto/extensions/gl/GL_OES_depth24 create mode 100644 glew/auto/extensions/gl/GL_OES_depth32 create mode 100644 glew/auto/extensions/gl/GL_OES_depth_texture create mode 100644 glew/auto/extensions/gl/GL_OES_depth_texture_cube_map create mode 100644 glew/auto/extensions/gl/GL_OES_draw_buffers_indexed create mode 100644 glew/auto/extensions/gl/GL_OES_draw_texture create mode 100644 glew/auto/extensions/gl/GL_OES_element_index_uint create mode 100644 glew/auto/extensions/gl/GL_OES_extended_matrix_palette create mode 100644 glew/auto/extensions/gl/GL_OES_fbo_render_mipmap create mode 100644 glew/auto/extensions/gl/GL_OES_fragment_precision_high create mode 100644 glew/auto/extensions/gl/GL_OES_framebuffer_object create mode 100644 glew/auto/extensions/gl/GL_OES_geometry_point_size create mode 100644 glew/auto/extensions/gl/GL_OES_geometry_shader create mode 100644 glew/auto/extensions/gl/GL_OES_get_program_binary create mode 100644 glew/auto/extensions/gl/GL_OES_gpu_shader5 create mode 100644 glew/auto/extensions/gl/GL_OES_mapbuffer create mode 100644 glew/auto/extensions/gl/GL_OES_matrix_get create mode 100644 glew/auto/extensions/gl/GL_OES_matrix_palette create mode 100644 glew/auto/extensions/gl/GL_OES_packed_depth_stencil create mode 100644 glew/auto/extensions/gl/GL_OES_point_size_array create mode 100644 glew/auto/extensions/gl/GL_OES_point_sprite create mode 100644 glew/auto/extensions/gl/GL_OES_read_format create mode 100644 glew/auto/extensions/gl/GL_OES_required_internalformat create mode 100644 glew/auto/extensions/gl/GL_OES_rgb8_rgba8 create mode 100644 glew/auto/extensions/gl/GL_OES_sample_shading create mode 100644 glew/auto/extensions/gl/GL_OES_sample_variables create mode 100644 glew/auto/extensions/gl/GL_OES_shader_image_atomic create mode 100644 glew/auto/extensions/gl/GL_OES_shader_io_blocks create mode 100644 glew/auto/extensions/gl/GL_OES_shader_multisample_interpolation create mode 100644 glew/auto/extensions/gl/GL_OES_single_precision create mode 100644 glew/auto/extensions/gl/GL_OES_standard_derivatives create mode 100644 glew/auto/extensions/gl/GL_OES_stencil1 create mode 100644 glew/auto/extensions/gl/GL_OES_stencil4 create mode 100644 glew/auto/extensions/gl/GL_OES_stencil8 create mode 100644 glew/auto/extensions/gl/GL_OES_surfaceless_context create mode 100644 glew/auto/extensions/gl/GL_OES_tessellation_point_size create mode 100644 glew/auto/extensions/gl/GL_OES_tessellation_shader create mode 100644 glew/auto/extensions/gl/GL_OES_texture_3D create mode 100644 glew/auto/extensions/gl/GL_OES_texture_border_clamp create mode 100644 glew/auto/extensions/gl/GL_OES_texture_buffer create mode 100644 glew/auto/extensions/gl/GL_OES_texture_compression_astc create mode 100644 glew/auto/extensions/gl/GL_OES_texture_cube_map create mode 100644 glew/auto/extensions/gl/GL_OES_texture_cube_map_array create mode 100644 glew/auto/extensions/gl/GL_OES_texture_env_crossbar create mode 100644 glew/auto/extensions/gl/GL_OES_texture_mirrored_repeat create mode 100644 glew/auto/extensions/gl/GL_OES_texture_npot create mode 100644 glew/auto/extensions/gl/GL_OES_texture_stencil8 create mode 100644 glew/auto/extensions/gl/GL_OES_texture_storage_multisample_2d_array create mode 100644 glew/auto/extensions/gl/GL_OES_texture_view create mode 100644 glew/auto/extensions/gl/GL_OES_vertex_array_object create mode 100644 glew/auto/extensions/gl/GL_OES_vertex_half_float create mode 100644 glew/auto/extensions/gl/GL_OES_vertex_type_10_10_10_2 create mode 100644 glew/auto/extensions/gl/GL_OML_interlace create mode 100644 glew/auto/extensions/gl/GL_OML_resample create mode 100644 glew/auto/extensions/gl/GL_OML_subsample create mode 100644 glew/auto/extensions/gl/GL_OVR_multiview create mode 100644 glew/auto/extensions/gl/GL_OVR_multiview2 create mode 100644 glew/auto/extensions/gl/GL_OVR_multiview_multisampled_render_to_texture create mode 100644 glew/auto/extensions/gl/GL_PGI_misc_hints create mode 100644 glew/auto/extensions/gl/GL_PGI_vertex_hints create mode 100644 glew/auto/extensions/gl/GL_QCOM_YUV_texture_gather create mode 100644 glew/auto/extensions/gl/GL_QCOM_alpha_test create mode 100644 glew/auto/extensions/gl/GL_QCOM_binning_control create mode 100644 glew/auto/extensions/gl/GL_QCOM_driver_control create mode 100644 glew/auto/extensions/gl/GL_QCOM_extended_get create mode 100644 glew/auto/extensions/gl/GL_QCOM_extended_get2 create mode 100644 glew/auto/extensions/gl/GL_QCOM_frame_extrapolation create mode 100644 glew/auto/extensions/gl/GL_QCOM_framebuffer_foveated create mode 100644 glew/auto/extensions/gl/GL_QCOM_motion_estimation create mode 100644 glew/auto/extensions/gl/GL_QCOM_perfmon_global_mode create mode 100644 glew/auto/extensions/gl/GL_QCOM_render_shared_exponent create mode 100644 glew/auto/extensions/gl/GL_QCOM_shader_framebuffer_fetch_noncoherent create mode 100644 glew/auto/extensions/gl/GL_QCOM_shader_framebuffer_fetch_rate create mode 100644 glew/auto/extensions/gl/GL_QCOM_shading_rate create mode 100644 glew/auto/extensions/gl/GL_QCOM_texture_foveated create mode 100644 glew/auto/extensions/gl/GL_QCOM_texture_foveated2 create mode 100644 glew/auto/extensions/gl/GL_QCOM_texture_foveated_subsampled_layout create mode 100644 glew/auto/extensions/gl/GL_QCOM_tiled_rendering create mode 100644 glew/auto/extensions/gl/GL_QCOM_writeonly_rendering create mode 100644 glew/auto/extensions/gl/GL_REGAL_ES1_0_compatibility create mode 100644 glew/auto/extensions/gl/GL_REGAL_ES1_1_compatibility create mode 100644 glew/auto/extensions/gl/GL_REGAL_enable create mode 100644 glew/auto/extensions/gl/GL_REGAL_error_string create mode 100644 glew/auto/extensions/gl/GL_REGAL_extension_query create mode 100644 glew/auto/extensions/gl/GL_REGAL_log create mode 100644 glew/auto/extensions/gl/GL_REGAL_proc_address create mode 100644 glew/auto/extensions/gl/GL_REND_screen_coordinates create mode 100644 glew/auto/extensions/gl/GL_S3_s3tc create mode 100644 glew/auto/extensions/gl/GL_SGIS_clip_band_hint create mode 100644 glew/auto/extensions/gl/GL_SGIS_color_range create mode 100644 glew/auto/extensions/gl/GL_SGIS_detail_texture create mode 100644 glew/auto/extensions/gl/GL_SGIS_fog_function create mode 100644 glew/auto/extensions/gl/GL_SGIS_generate_mipmap create mode 100644 glew/auto/extensions/gl/GL_SGIS_line_texgen create mode 100644 glew/auto/extensions/gl/GL_SGIS_multisample create mode 100644 glew/auto/extensions/gl/GL_SGIS_multitexture create mode 100644 glew/auto/extensions/gl/GL_SGIS_pixel_texture create mode 100644 glew/auto/extensions/gl/GL_SGIS_point_line_texgen create mode 100644 glew/auto/extensions/gl/GL_SGIS_shared_multisample create mode 100644 glew/auto/extensions/gl/GL_SGIS_sharpen_texture create mode 100644 glew/auto/extensions/gl/GL_SGIS_texture4D create mode 100644 glew/auto/extensions/gl/GL_SGIS_texture_border_clamp create mode 100644 glew/auto/extensions/gl/GL_SGIS_texture_edge_clamp create mode 100644 glew/auto/extensions/gl/GL_SGIS_texture_filter4 create mode 100644 glew/auto/extensions/gl/GL_SGIS_texture_lod create mode 100644 glew/auto/extensions/gl/GL_SGIS_texture_select create mode 100644 glew/auto/extensions/gl/GL_SGIX_async create mode 100644 glew/auto/extensions/gl/GL_SGIX_async_histogram create mode 100644 glew/auto/extensions/gl/GL_SGIX_async_pixel create mode 100644 glew/auto/extensions/gl/GL_SGIX_bali_g_instruments create mode 100644 glew/auto/extensions/gl/GL_SGIX_bali_r_instruments create mode 100644 glew/auto/extensions/gl/GL_SGIX_bali_timer_instruments create mode 100644 glew/auto/extensions/gl/GL_SGIX_blend_alpha_minmax create mode 100644 glew/auto/extensions/gl/GL_SGIX_blend_cadd create mode 100644 glew/auto/extensions/gl/GL_SGIX_blend_cmultiply create mode 100644 glew/auto/extensions/gl/GL_SGIX_calligraphic_fragment create mode 100644 glew/auto/extensions/gl/GL_SGIX_clipmap create mode 100644 glew/auto/extensions/gl/GL_SGIX_color_matrix_accuracy create mode 100644 glew/auto/extensions/gl/GL_SGIX_color_table_index_mode create mode 100644 glew/auto/extensions/gl/GL_SGIX_complex_polar create mode 100644 glew/auto/extensions/gl/GL_SGIX_convolution_accuracy create mode 100644 glew/auto/extensions/gl/GL_SGIX_cube_map create mode 100644 glew/auto/extensions/gl/GL_SGIX_cylinder_texgen create mode 100644 glew/auto/extensions/gl/GL_SGIX_datapipe create mode 100644 glew/auto/extensions/gl/GL_SGIX_decimation create mode 100644 glew/auto/extensions/gl/GL_SGIX_depth_pass_instrument create mode 100644 glew/auto/extensions/gl/GL_SGIX_depth_texture create mode 100644 glew/auto/extensions/gl/GL_SGIX_dvc create mode 100644 glew/auto/extensions/gl/GL_SGIX_flush_raster create mode 100644 glew/auto/extensions/gl/GL_SGIX_fog_blend create mode 100644 glew/auto/extensions/gl/GL_SGIX_fog_factor_to_alpha create mode 100644 glew/auto/extensions/gl/GL_SGIX_fog_layers create mode 100644 glew/auto/extensions/gl/GL_SGIX_fog_offset create mode 100644 glew/auto/extensions/gl/GL_SGIX_fog_patchy create mode 100644 glew/auto/extensions/gl/GL_SGIX_fog_scale create mode 100644 glew/auto/extensions/gl/GL_SGIX_fog_texture create mode 100644 glew/auto/extensions/gl/GL_SGIX_fragment_lighting_space create mode 100644 glew/auto/extensions/gl/GL_SGIX_fragment_specular_lighting create mode 100644 glew/auto/extensions/gl/GL_SGIX_fragments_instrument create mode 100644 glew/auto/extensions/gl/GL_SGIX_framezoom create mode 100644 glew/auto/extensions/gl/GL_SGIX_icc_texture create mode 100644 glew/auto/extensions/gl/GL_SGIX_igloo_interface create mode 100644 glew/auto/extensions/gl/GL_SGIX_image_compression create mode 100644 glew/auto/extensions/gl/GL_SGIX_impact_pixel_texture create mode 100644 glew/auto/extensions/gl/GL_SGIX_instrument_error create mode 100644 glew/auto/extensions/gl/GL_SGIX_interlace create mode 100644 glew/auto/extensions/gl/GL_SGIX_ir_instrument1 create mode 100644 glew/auto/extensions/gl/GL_SGIX_line_quality_hint create mode 100644 glew/auto/extensions/gl/GL_SGIX_list_priority create mode 100644 glew/auto/extensions/gl/GL_SGIX_mpeg1 create mode 100644 glew/auto/extensions/gl/GL_SGIX_mpeg2 create mode 100644 glew/auto/extensions/gl/GL_SGIX_nonlinear_lighting_pervertex create mode 100644 glew/auto/extensions/gl/GL_SGIX_nurbs_eval create mode 100644 glew/auto/extensions/gl/GL_SGIX_occlusion_instrument create mode 100644 glew/auto/extensions/gl/GL_SGIX_packed_6bytes create mode 100644 glew/auto/extensions/gl/GL_SGIX_pixel_texture create mode 100644 glew/auto/extensions/gl/GL_SGIX_pixel_texture_bits create mode 100644 glew/auto/extensions/gl/GL_SGIX_pixel_texture_lod create mode 100644 glew/auto/extensions/gl/GL_SGIX_pixel_tiles create mode 100644 glew/auto/extensions/gl/GL_SGIX_polynomial_ffd create mode 100644 glew/auto/extensions/gl/GL_SGIX_quad_mesh create mode 100644 glew/auto/extensions/gl/GL_SGIX_reference_plane create mode 100644 glew/auto/extensions/gl/GL_SGIX_resample create mode 100644 glew/auto/extensions/gl/GL_SGIX_scalebias_hint create mode 100644 glew/auto/extensions/gl/GL_SGIX_shadow create mode 100644 glew/auto/extensions/gl/GL_SGIX_shadow_ambient create mode 100644 glew/auto/extensions/gl/GL_SGIX_slim create mode 100644 glew/auto/extensions/gl/GL_SGIX_spotlight_cutoff create mode 100644 glew/auto/extensions/gl/GL_SGIX_sprite create mode 100644 glew/auto/extensions/gl/GL_SGIX_subdiv_patch create mode 100644 glew/auto/extensions/gl/GL_SGIX_subsample create mode 100644 glew/auto/extensions/gl/GL_SGIX_tag_sample_buffer create mode 100644 glew/auto/extensions/gl/GL_SGIX_texture_add_env create mode 100644 glew/auto/extensions/gl/GL_SGIX_texture_coordinate_clamp create mode 100644 glew/auto/extensions/gl/GL_SGIX_texture_lod_bias create mode 100644 glew/auto/extensions/gl/GL_SGIX_texture_mipmap_anisotropic create mode 100644 glew/auto/extensions/gl/GL_SGIX_texture_multi_buffer create mode 100644 glew/auto/extensions/gl/GL_SGIX_texture_phase create mode 100644 glew/auto/extensions/gl/GL_SGIX_texture_range create mode 100644 glew/auto/extensions/gl/GL_SGIX_texture_scale_bias create mode 100644 glew/auto/extensions/gl/GL_SGIX_texture_supersample create mode 100644 glew/auto/extensions/gl/GL_SGIX_vector_ops create mode 100644 glew/auto/extensions/gl/GL_SGIX_vertex_array_object create mode 100644 glew/auto/extensions/gl/GL_SGIX_vertex_preclip create mode 100644 glew/auto/extensions/gl/GL_SGIX_vertex_preclip_hint create mode 100644 glew/auto/extensions/gl/GL_SGIX_ycrcb create mode 100644 glew/auto/extensions/gl/GL_SGIX_ycrcb_subsample create mode 100644 glew/auto/extensions/gl/GL_SGIX_ycrcba create mode 100644 glew/auto/extensions/gl/GL_SGI_color_matrix create mode 100644 glew/auto/extensions/gl/GL_SGI_color_table create mode 100644 glew/auto/extensions/gl/GL_SGI_complex create mode 100644 glew/auto/extensions/gl/GL_SGI_complex_type create mode 100644 glew/auto/extensions/gl/GL_SGI_fft create mode 100644 glew/auto/extensions/gl/GL_SGI_texture_color_table create mode 100644 glew/auto/extensions/gl/GL_SUNX_constant_data create mode 100644 glew/auto/extensions/gl/GL_SUN_convolution_border_modes create mode 100644 glew/auto/extensions/gl/GL_SUN_global_alpha create mode 100644 glew/auto/extensions/gl/GL_SUN_mesh_array create mode 100644 glew/auto/extensions/gl/GL_SUN_read_video_pixels create mode 100644 glew/auto/extensions/gl/GL_SUN_slice_accum create mode 100644 glew/auto/extensions/gl/GL_SUN_triangle_list create mode 100644 glew/auto/extensions/gl/GL_SUN_vertex create mode 100644 glew/auto/extensions/gl/GL_VIV_shader_binary create mode 100644 glew/auto/extensions/gl/GL_WIN_phong_shading create mode 100644 glew/auto/extensions/gl/GL_WIN_scene_markerXXX create mode 100644 glew/auto/extensions/gl/GL_WIN_specular_fog create mode 100644 glew/auto/extensions/gl/GL_WIN_swap_hint create mode 100644 glew/auto/extensions/gl/WGL_3DFX_multisample create mode 100644 glew/auto/extensions/gl/WGL_3DL_stereo_control create mode 100644 glew/auto/extensions/gl/WGL_AMD_gpu_association create mode 100644 glew/auto/extensions/gl/WGL_ARB_buffer_region create mode 100644 glew/auto/extensions/gl/WGL_ARB_context_flush_control create mode 100644 glew/auto/extensions/gl/WGL_ARB_create_context create mode 100644 glew/auto/extensions/gl/WGL_ARB_create_context_no_error create mode 100644 glew/auto/extensions/gl/WGL_ARB_create_context_profile create mode 100644 glew/auto/extensions/gl/WGL_ARB_create_context_robustness create mode 100644 glew/auto/extensions/gl/WGL_ARB_extensions_string create mode 100644 glew/auto/extensions/gl/WGL_ARB_framebuffer_sRGB create mode 100644 glew/auto/extensions/gl/WGL_ARB_make_current_read create mode 100644 glew/auto/extensions/gl/WGL_ARB_multisample create mode 100644 glew/auto/extensions/gl/WGL_ARB_pbuffer create mode 100644 glew/auto/extensions/gl/WGL_ARB_pixel_format create mode 100644 glew/auto/extensions/gl/WGL_ARB_pixel_format_float create mode 100644 glew/auto/extensions/gl/WGL_ARB_render_texture create mode 100644 glew/auto/extensions/gl/WGL_ARB_robustness_application_isolation create mode 100644 glew/auto/extensions/gl/WGL_ARB_robustness_share_group_isolation create mode 100644 glew/auto/extensions/gl/WGL_ATI_pixel_format_float create mode 100644 glew/auto/extensions/gl/WGL_ATI_render_texture_rectangle create mode 100644 glew/auto/extensions/gl/WGL_EXT_colorspace create mode 100644 glew/auto/extensions/gl/WGL_EXT_create_context_es2_profile create mode 100644 glew/auto/extensions/gl/WGL_EXT_create_context_es_profile create mode 100644 glew/auto/extensions/gl/WGL_EXT_depth_float create mode 100644 glew/auto/extensions/gl/WGL_EXT_display_color_table create mode 100644 glew/auto/extensions/gl/WGL_EXT_extensions_string create mode 100644 glew/auto/extensions/gl/WGL_EXT_framebuffer_sRGB create mode 100644 glew/auto/extensions/gl/WGL_EXT_make_current_read create mode 100644 glew/auto/extensions/gl/WGL_EXT_multisample create mode 100644 glew/auto/extensions/gl/WGL_EXT_pbuffer create mode 100644 glew/auto/extensions/gl/WGL_EXT_pixel_format create mode 100644 glew/auto/extensions/gl/WGL_EXT_pixel_format_packed_float create mode 100644 glew/auto/extensions/gl/WGL_EXT_swap_control create mode 100644 glew/auto/extensions/gl/WGL_EXT_swap_control_tear create mode 100644 glew/auto/extensions/gl/WGL_I3D_digital_video_control create mode 100644 glew/auto/extensions/gl/WGL_I3D_gamma create mode 100644 glew/auto/extensions/gl/WGL_I3D_genlock create mode 100644 glew/auto/extensions/gl/WGL_I3D_image_buffer create mode 100644 glew/auto/extensions/gl/WGL_I3D_swap_frame_lock create mode 100644 glew/auto/extensions/gl/WGL_I3D_swap_frame_usage create mode 100644 glew/auto/extensions/gl/WGL_NV_DX_interop create mode 100644 glew/auto/extensions/gl/WGL_NV_DX_interop2 create mode 100644 glew/auto/extensions/gl/WGL_NV_copy_image create mode 100644 glew/auto/extensions/gl/WGL_NV_delay_before_swap create mode 100644 glew/auto/extensions/gl/WGL_NV_float_buffer create mode 100644 glew/auto/extensions/gl/WGL_NV_gpu_affinity create mode 100644 glew/auto/extensions/gl/WGL_NV_multigpu_context create mode 100644 glew/auto/extensions/gl/WGL_NV_multisample_coverage create mode 100644 glew/auto/extensions/gl/WGL_NV_present_video create mode 100644 glew/auto/extensions/gl/WGL_NV_render_depth_texture create mode 100644 glew/auto/extensions/gl/WGL_NV_render_texture_rectangle create mode 100644 glew/auto/extensions/gl/WGL_NV_swap_group create mode 100644 glew/auto/extensions/gl/WGL_NV_vertex_array_range create mode 100644 glew/auto/extensions/gl/WGL_NV_video_capture create mode 100644 glew/auto/extensions/gl/WGL_NV_video_output create mode 100644 glew/auto/extensions/gl/WGL_OML_sync_control create mode 100644 glew/auto/src/eglew_head.h create mode 100644 glew/auto/src/eglew_mid.h create mode 100644 glew/auto/src/eglew_tail.h create mode 100644 glew/auto/src/footer.html create mode 100644 glew/auto/src/glew_head.c create mode 100644 glew/auto/src/glew_head.h create mode 100644 glew/auto/src/glew_init_egl.c create mode 100644 glew/auto/src/glew_init_gl.c create mode 100644 glew/auto/src/glew_init_glx.c create mode 100644 glew/auto/src/glew_init_tail.c create mode 100644 glew/auto/src/glew_init_wgl.c create mode 100644 glew/auto/src/glew_license.h create mode 100644 glew/auto/src/glew_str_egl.c create mode 100644 glew/auto/src/glew_str_glx.c create mode 100644 glew/auto/src/glew_str_head.c create mode 100644 glew/auto/src/glew_str_tail.c create mode 100644 glew/auto/src/glew_str_wgl.c create mode 100644 glew/auto/src/glew_tail.h create mode 100644 glew/auto/src/glewinfo_egl.c create mode 100644 glew/auto/src/glewinfo_gl.c create mode 100644 glew/auto/src/glewinfo_glx.c create mode 100644 glew/auto/src/glewinfo_head.c create mode 100644 glew/auto/src/glewinfo_tail.c create mode 100644 glew/auto/src/glewinfo_wgl.c create mode 100644 glew/auto/src/glxew_head.h create mode 100644 glew/auto/src/glxew_mid.h create mode 100644 glew/auto/src/glxew_tail.h create mode 100644 glew/auto/src/header.html create mode 100644 glew/auto/src/khronos_license.h create mode 100644 glew/auto/src/mesa_license.h create mode 100644 glew/auto/src/wglew_head.h create mode 100644 glew/auto/src/wglew_mid.h create mode 100644 glew/auto/src/wglew_tail.h create mode 100644 glew/build/cmake/CMakeLists.txt create mode 100644 glew/build/cmake/CopyImportedTargetProperties.cmake create mode 100644 glew/build/cmake/cmake_uninstall.cmake.in create mode 100644 glew/build/cmake/glew-config.cmake create mode 100644 glew/build/cmake/testbuild/CMakeLists.txt create mode 100644 glew/build/cmake/testbuild/main.c create mode 100644 glew/build/vc10/common.props create mode 100644 glew/build/vc12/common.props create mode 100644 glew/build/vc14/common.props create mode 100644 glew/build/vc15/common.props create mode 100644 glew/build/vc6/glew.dsw create mode 100644 glew/build/vc6/glew_shared.dsp create mode 100644 glew/build/vc6/glew_static.dsp create mode 100644 glew/build/vc6/glewinfo.dsp create mode 100644 glew/build/vc6/visualinfo.dsp create mode 100644 glew/cmake-testbuild.sh create mode 100644 glew/config/config.guess create mode 100644 glew/config/version create mode 100644 glew/doc/advanced.html create mode 100644 glew/doc/basic.html create mode 100644 glew/doc/build.html create mode 100644 glew/doc/credits.html create mode 100644 glew/doc/github.png create mode 100644 glew/doc/glew.css create mode 100644 glew/doc/glew.html create mode 100644 glew/doc/glew.png create mode 100644 glew/doc/glew.txt create mode 100644 glew/doc/glxew.html create mode 100644 glew/doc/gpl.txt create mode 100644 glew/doc/index.html create mode 100644 glew/doc/install.html create mode 100644 glew/doc/khronos.txt create mode 100644 glew/doc/log.html create mode 100644 glew/doc/mesa.txt create mode 100644 glew/doc/new.png create mode 100644 glew/doc/ogl_sm.jpg create mode 100644 glew/doc/travis.png create mode 100644 glew/doc/wglew.html create mode 100644 glew/glew.pc.in create mode 100644 glew/include/GL/eglew.h create mode 100644 glew/include/GL/glew.h create mode 100644 glew/include/GL/glxew.h create mode 100644 glew/include/GL/wglew.h create mode 100644 glew/original-readme.md create mode 100644 glew/src/glew.c create mode 100644 glew/src/glewinfo.c create mode 100644 glew/src/visualinfo.c (limited to 'glew') diff --git a/glew/LICENSE.txt b/glew/LICENSE.txt new file mode 100644 index 0000000..f707804 --- /dev/null +++ b/glew/LICENSE.txt @@ -0,0 +1,73 @@ +The OpenGL Extension Wrangler Library +Copyright (C) 2002-2007, Milan Ikits +Copyright (C) 2002-2007, Marcelo E. Magallon +Copyright (C) 2002, Lev Povalahev +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* The name of the author may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + + +Mesa 3-D graphics library +Version: 7.0 + +Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright (c) 2007 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. diff --git a/glew/README.md b/glew/README.md new file mode 100644 index 0000000..94cbcc3 --- /dev/null +++ b/glew/README.md @@ -0,0 +1,3 @@ +# Glew Library for CS 1230 + +Last updated on 8/30/22 \ No newline at end of file diff --git a/glew/auto/EGL-Registry/.dummy b/glew/auto/EGL-Registry/.dummy new file mode 100644 index 0000000..e69de29 diff --git a/glew/auto/EGL-Registry/.htaccess b/glew/auto/EGL-Registry/.htaccess new file mode 100644 index 0000000..3872b67 --- /dev/null +++ b/glew/auto/EGL-Registry/.htaccess @@ -0,0 +1,12 @@ +RewriteEngine on + +# Avoid redirect loops +RewriteCond %{ENV:REDIRECT_STATUS} 200 +RewriteRule ^ - [L] + +# Old versioned-by-date EGL specs redirected to the single per-version copy +RewriteRule ^specs/eglspec.1.1.02.pdf https://www.khronos.org/registry/EGL/specs/eglspec.1.1.pdf [L,R=301] +RewriteRule ^specs/eglspec.1.4.([0-9]+).pdf https://www.khronos.org/registry/EGL/specs/eglspec.1.4.pdf [L,R=301] +RewriteRule ^specs/eglspec.1.4.withchanges.([0-9]+).pdf https://www.khronos.org/registry/EGL/specs/eglspec.1.4.withchanges.pdf [L,R=301] + +# RewriteRule ^xhtml/(.*)\.xml https://www.khronos.org/opengles/sdk/docs/man3/html/$1.xhtml [L,R=301] diff --git a/glew/auto/EGL-Registry/CODE_OF_CONDUCT.md b/glew/auto/EGL-Registry/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..a11610b --- /dev/null +++ b/glew/auto/EGL-Registry/CODE_OF_CONDUCT.md @@ -0,0 +1 @@ +A reminder that this issue tracker is managed by the Khronos Group. Interactions here should follow the Khronos Code of Conduct (https://www.khronos.org/developers/code-of-conduct), which prohibits aggressive or derogatory language. Please keep the discussion friendly and civil. diff --git a/glew/auto/EGL-Registry/README.md b/glew/auto/EGL-Registry/README.md new file mode 100644 index 0000000..1d01f54 --- /dev/null +++ b/glew/auto/EGL-Registry/README.md @@ -0,0 +1,100 @@ +# EGL-Registry + +The EGL-Registry repository contains the EGL API and Extension Registry, +including specifications, reference pages and reference cards, and the +enumerant registry. It is also used as a backing store for the web view of +the registry at https://www.khronos.org/registry/egl/ ; commits to the +master branch of this repository will be reflected there. + +In the past, the EGL registry was maintained in a public Subversion +repository. The history in that repository has not been imported to github, +but it is still available at +https://cvs.khronos.org/svn/repos/registry/trunk/public/egl/ . + +Interesting files in this repository include: + +* index.php - toplevel index page for the web view. This relies on PHP + include files found elsewhere on www.khronos.org and so is not very useful + in isolation. +* registry.tcl - extension number registry. Documents the names and index + numbers assigned to EGL extension specifications. +* api/egl.xml - extension enumerant and API registry. Defines the EGL API, + including extensions, and is used to generate headers. Documents the EGL + enumerant ranges assigned to different vendors. +* api/EGL/ and api/KHR/ - header files used by an EGL implementation. + EGL/eglext.h and EGL/egl.h are generated from egl.xml. The other headers + are handcoded and express OS and window system (platform) dependencies. +* extensions/ - EGL extension specifications, grouped into vendor-specific + subdirectories. +* sdk/ - EGL reference pages and reference cards. There are separate sets + for each API version. +* specs/ - EGL specification documents. + +## Reserving EGL Enumerant Ranges + +EGL enumerants are documented in api/egl.xml . New ranges can be allocated +by proposing a pull request to master modifying this file, following the +existing examples. Allocate ranges starting at the lowest free values +available (search for "Reservable for future use"). Ranges are not +officially allocated until your pull request is *accepted* into master. At +that point you can use values from your assigned range for API extensions. + + +## Adding Extension Specifications + +Extension specification documents can be added by proposing a pull request +to master, adding the specification .txt file and related changes under +extensions/\/filename.txt. Your pull request must also: + +* Allocate an extension number in registry.tcl (follow the existing + `````` examples, search for "Next free extension number", and use + the lowest available extension number). +* Include that extension number in the extension specification document. +* Define the interfaces introduced by this extension in api/egl.xml, + following the examples of existing extensions. If you have difficulty + doing this, consult the registry schema documentation in the GL registry + at www.khronos.org/registry/gl/; you may also create Issues in the + EGL-Registry repository to request help. +* Verify that the EGL headers regenerate properly after applying your XML + changes. In the api/ directory, you must be able to do the following without + errors: +``` + # Validate XML changes + make validate + # Verify headers build and are legal C + make clobber + make + make tests +``` +* Finally, add a link from the extensions section of index.php to the + extension document, using the specified extension number, so it shows up + in the web view (this could in principle be generated automatically from + registry.tcl / egl.xml, but isn't at present). + +Sometimes extension text files contain inappropriate UTF-8 characters. They +should be restricted to the ASCII subset of UTF-8 at present. They can be +removed using the iconv Linux command-line tool via + + iconv -c -f utf-8 -t ascii filename.txt + +(see internal Bugzilla issue 16141 for more). + +We may transition to an asciidoc-based extension specification format at +some point. + + +## Build Tools + +This section is not complete (see https://github.com/KhronosGroup/EGL-Registry/issues/92). + +To validate the XML and build the headers you will need at least GNU make, +'jing' for the 'make validate' step (https://relaxng.org/jclark/jing.html), +and Python 3.5 and the lxml.etree Python library +(https://pypi.org/project/lxml/) for the 'make' step. The 'make tests' step +requires whatever the C and C++ compilers configured for GNU make are, +usually gcc and g++. + +All of these components are available prepackaged for major Linux +distributions and for the Windows 10 Debian WSL. + + diff --git a/glew/auto/EGL-Registry/api/1.0/EGL/egl.h b/glew/auto/EGL-Registry/api/1.0/EGL/egl.h new file mode 100644 index 0000000..7b36e8a --- /dev/null +++ b/glew/auto/EGL-Registry/api/1.0/EGL/egl.h @@ -0,0 +1,286 @@ +/* Copyright 2006-2020 The Khronos Group Inc. + * SPDX-License-Identifier: Apache-2.0 + */ +/* Sketchy version of egl.h (really only for reserving + * enumerant values to EGL tokens and sanity checking + * prototypes). + * + * Last modified 2006/08/13 + */ + +#ifndef __egl_h_ +#define __egl_h_ + +/* Windows calling convention boilerplate */ +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#define WIN32_LEAN_AND_MEAN 1 +#include +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef EGLAPI +#define EGLAPI extern +#endif + + +/* EGL Types */ +#include + +typedef int32_t EGLint; +typedef unsigned int EGLBoolean; +typedef unsigned int EGLenum; +typedef void *EGLConfig; +typedef void *EGLContext; +typedef void *EGLDisplay; +typedef void *EGLSurface; +typedef void *EGLClientBuffer; +/* NativeDisplayType, NativeWindowType, NativePixmapType TBD */ + +/* EGL Versioning */ +#define EGL_VERSION_1_0 1 +#define EGL_VERSION_1_1 1 +#define EGL_VERSION_1_2 1 +#define EGL_VERSION_1_3 1 + +/* EGL Enumerants. Exceptional cases aside, most + * enums are assigned unique values starting at 0x3000. + */ + +/* EGL aliases */ +#define EGL_FALSE 0 +#define EGL_TRUE 1 + +/* Out-of-band handle values */ +/* These values may vary depending on semantics of native concepts */ +#define EGL_DEFAULT_DISPLAY ((void *)0) +#define EGL_NO_CONTEXT ((EGLContext)0) +#define EGL_NO_DISPLAY ((EGLDisplay)0) +#define EGL_NO_SURFACE ((EGLSurface)0) + +/* Out-of-band attribute value */ +#define EGL_DONT_CARE ((EGLint)-1) + +/* Errors / GetError return values */ +#define EGL_SUCCESS 0x3000 +#define EGL_NOT_INITIALIZED 0x3001 +#define EGL_BAD_ACCESS 0x3002 +#define EGL_BAD_ALLOC 0x3003 +#define EGL_BAD_ATTRIBUTE 0x3004 +#define EGL_BAD_CONFIG 0x3005 +#define EGL_BAD_CONTEXT 0x3006 +#define EGL_BAD_CURRENT_SURFACE 0x3007 +#define EGL_BAD_DISPLAY 0x3008 +#define EGL_BAD_MATCH 0x3009 +#define EGL_BAD_NATIVE_PIXMAP 0x300A +#define EGL_BAD_NATIVE_WINDOW 0x300B +#define EGL_BAD_PARAMETER 0x300C +#define EGL_BAD_SURFACE 0x300D +#define EGL_CONTEXT_LOST 0x300E /* EGL 1.1 - IMG_power_management */ + +/* Reserved 0x300F-0x301F for additional errors */ + +/* Config attributes */ +#define EGL_BUFFER_SIZE 0x3020 +#define EGL_ALPHA_SIZE 0x3021 +#define EGL_BLUE_SIZE 0x3022 +#define EGL_GREEN_SIZE 0x3023 +#define EGL_RED_SIZE 0x3024 +#define EGL_DEPTH_SIZE 0x3025 +#define EGL_STENCIL_SIZE 0x3026 +#define EGL_CONFIG_CAVEAT 0x3027 +#define EGL_CONFIG_ID 0x3028 +#define EGL_LEVEL 0x3029 +#define EGL_MAX_PBUFFER_HEIGHT 0x302A +#define EGL_MAX_PBUFFER_PIXELS 0x302B +#define EGL_MAX_PBUFFER_WIDTH 0x302C +#define EGL_NATIVE_RENDERABLE 0x302D +#define EGL_NATIVE_VISUAL_ID 0x302E +#define EGL_NATIVE_VISUAL_TYPE 0x302F +#define EGL_PRESERVED_RESOURCES 0x3030 +#define EGL_SAMPLES 0x3031 +#define EGL_SAMPLE_BUFFERS 0x3032 +#define EGL_SURFACE_TYPE 0x3033 +#define EGL_TRANSPARENT_TYPE 0x3034 +#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 +#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 +#define EGL_TRANSPARENT_RED_VALUE 0x3037 +#define EGL_NONE 0x3038 /* Attrib list terminator */ +#define EGL_BIND_TO_TEXTURE_RGB 0x3039 +#define EGL_BIND_TO_TEXTURE_RGBA 0x303A +#define EGL_MIN_SWAP_INTERVAL 0x303B +#define EGL_MAX_SWAP_INTERVAL 0x303C +#define EGL_LUMINANCE_SIZE 0x303D +#define EGL_ALPHA_MASK_SIZE 0x303E +#define EGL_COLOR_BUFFER_TYPE 0x303F +#define EGL_RENDERABLE_TYPE 0x3040 +#define EGL_MATCH_NATIVE_PIXMAP 0x3041 /* Pseudo-attribute (not queryable) */ + +/* Reserved 0x3041-0x304F for additional config attributes */ + +/* Config attribute values */ +#define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */ +#define EGL_NON_CONFORMANT_CONFIG 0x3051 /* EGL_CONFIG_CAVEAT value */ +#define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */ +#define EGL_RGB_BUFFER 0x308E /* EGL_COLOR_BUFFER_TYPE value */ +#define EGL_LUMINANCE_BUFFER 0x308F /* EGL_COLOR_BUFFER_TYPE value */ + +/* More config attribute values, for EGL_TEXTURE_FORMAT */ +#define EGL_NO_TEXTURE 0x305C +#define EGL_TEXTURE_RGB 0x305D +#define EGL_TEXTURE_RGBA 0x305E +#define EGL_TEXTURE_2D 0x305F + +/* Config attribute mask bits */ +#define EGL_PBUFFER_BIT 0x01 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_PIXMAP_BIT 0x02 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_WINDOW_BIT 0x04 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_OPENGL_ES_BIT 0x01 /* EGL_RENDERABLE_TYPE mask bits */ +#define EGL_OPENVG_BIT 0x02 /* EGL_RENDERABLE_TYPE mask bits */ +#define EGL_OPENGL_ES2_BIT 0x04 /* EGL_RENDERABLE_TYPE mask bits */ + +/* QueryString targets */ +#define EGL_VENDOR 0x3053 +#define EGL_VERSION 0x3054 +#define EGL_EXTENSIONS 0x3055 +#define EGL_CLIENT_APIS 0x308D + +/* QuerySurface / CreatePbufferSurface targets */ +#define EGL_HEIGHT 0x3056 +#define EGL_WIDTH 0x3057 +#define EGL_LARGEST_PBUFFER 0x3058 +#define EGL_TEXTURE_FORMAT 0x3080 +#define EGL_TEXTURE_TARGET 0x3081 +#define EGL_MIPMAP_TEXTURE 0x3082 +#define EGL_MIPMAP_LEVEL 0x3083 +#define EGL_RENDER_BUFFER 0x3086 +#define EGL_COLORSPACE 0x3087 +#define EGL_ALPHA_FORMAT 0x3088 +#define EGL_HORIZONTAL_RESOLUTION 0x3090 +#define EGL_VERTICAL_RESOLUTION 0x3091 +#define EGL_PIXEL_ASPECT_RATIO 0x3092 +#define EGL_SWAP_BEHAVIOR 0x3093 + +/* EGL_RENDER_BUFFER values / BindTexImage / ReleaseTexImage buffer targets */ +#define EGL_BACK_BUFFER 0x3084 +#define EGL_SINGLE_BUFFER 0x3085 + +/* OpenVG color spaces */ +#define EGL_COLORSPACE_sRGB 0x3089 /* EGL_COLORSPACE value */ +#define EGL_COLORSPACE_LINEAR 0x308A /* EGL_COLORSPACE value */ + +/* OpenVG alpha formats */ +#define EGL_ALPHA_FORMAT_NONPRE 0x308B /* EGL_ALPHA_FORMAT value */ +#define EGL_ALPHA_FORMAT_PRE 0x308C /* EGL_ALPHA_FORMAT value */ + +/* Constant scale factor by which fractional display resolutions & + * aspect ratio are scaled when queried as integer values. + */ +#define EGL_DISPLAY_SCALING 10000 + +/* Unknown display resolution/aspect ratio */ +#define EGL_UNKNOWN ((EGLint)-1) + +/* Back buffer swap behaviors */ +#define EGL_BUFFER_PRESERVED 0x3094 /* EGL_SWAP_BEHAVIOR value */ +#define EGL_BUFFER_DESTROYED 0x3095 /* EGL_SWAP_BEHAVIOR value */ + +/* CreatePbufferFromClientBuffer buffer types */ +#define EGL_OPENVG_IMAGE 0x3096 + +/* QueryContext targets */ +#define EGL_CONTEXT_CLIENT_TYPE 0x3097 + +/* CreateContext attributes */ +#define EGL_CONTEXT_CLIENT_VERSION 0x3098 + +/* BindAPI/QueryAPI targets */ +#define EGL_OPENGL_ES_API 0x30A0 +#define EGL_OPENVG_API 0x30A1 + +/* GetCurrentSurface targets */ +#define EGL_DRAW 0x3059 +#define EGL_READ 0x305A + +/* WaitNative engines */ +#define EGL_CORE_NATIVE_ENGINE 0x305B + +/* EGL extensions must request enum blocks from the OpenGL ARB + * Secretary, who maintains the EGL enumerant registry. + */ + + + +/* EGL Functions */ + +EGLAPI EGLint APIENTRY eglGetError(); + +EGLAPI EGLDisplay APIENTRY eglGetDisplay(const char *display_id); +EGLAPI EGLBoolean APIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor); +EGLAPI EGLBoolean APIENTRY eglTerminate(EGLDisplay dpy); + +EGLAPI const char * APIENTRY eglQueryString(EGLDisplay dpy, EGLint name); + +EGLAPI EGLBoolean APIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, + EGLint config_size, EGLint *num_config); +EGLAPI EGLBoolean APIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, + EGLConfig *configs, EGLint config_size, + EGLint *num_config); +EGLAPI EGLBoolean APIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, + EGLint attribute, EGLint *value); + +EGLAPI EGLSurface APIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, + NativeWindowType win, + const EGLint *attrib_list); +EGLAPI EGLSurface APIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, + const EGLint *attrib_list); +EGLAPI EGLSurface APIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, + NativePixmapType pixmap, + const EGLint *attrib_list); +EGLAPI EGLBoolean APIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface); +EGLAPI EGLBoolean APIENTRY eglQuerySurface(EGLDisplay dpy, EGLSurface surface, + EGLint attribute, EGLint *value); + +EGLAPI EGLBoolean APIENTRY eglBindAPI(EGLenum api); +EGLAPI EGLenum APIENTRY eglQueryAPI(void); + +EGLAPI EGLBoolean APIENTRY eglWaitClient(void); + +EGLAPI EGLBoolean APIENTRY eglReleaseThread(void); + +EGLAPI EGLSurface APIENTRY eglCreatePbufferFromClientBuffer( + EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, + EGLConfig config, const EGLint *attrib_list); + +EGLAPI EGLBoolean APIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, + EGLint attribute, EGLint value); +EGLAPI EGLBoolean APIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); +EGLAPI EGLBoolean APIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); + + +EGLAPI EGLBoolean APIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval); + + +EGLAPI EGLContext APIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, + EGLContext share_context, + const EGLint *attrib_list); +EGLAPI EGLBoolean APIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx); +EGLAPI EGLBoolean APIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, + EGLSurface read, EGLContext ctx); + +EGLAPI EGLContext APIENTRY eglGetCurrentContext(void); +EGLAPI EGLSurface APIENTRY eglGetCurrentSurface(EGLint readdraw); +EGLAPI EGLDisplay APIENTRY eglGetCurrentDisplay(void); +EGLAPI EGLBoolean APIENTRY eglQueryContext(EGLDisplay dpy, EGLContext ctx, + EGLint attribute, EGLint *value); + +EGLAPI EGLBoolean APIENTRY eglWaitGL(void); +EGLAPI EGLBoolean APIENTRY eglWaitNative(EGLint engine); +EGLAPI EGLBoolean APIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface); +EGLAPI EGLBoolean APIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, + NativePixmapType target); + +EGLAPI void (* APIENTRY eglGetProcAddress(const char *procname))(); + +#endif /* __egl_h_ */ diff --git a/glew/auto/EGL-Registry/api/1.0/egl.h b/glew/auto/EGL-Registry/api/1.0/egl.h new file mode 100644 index 0000000..f433385 --- /dev/null +++ b/glew/auto/EGL-Registry/api/1.0/egl.h @@ -0,0 +1,283 @@ +/* Sketchy version of egl.h (really only for reserving + * enumerant values to EGL tokens and sanity checking + * prototypes). + * + * Last modified 2006/08/13 + */ + +#ifndef __egl_h_ +#define __egl_h_ + +/* Windows calling convention boilerplate */ +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#define WIN32_LEAN_AND_MEAN 1 +#include +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef EGLAPI +#define EGLAPI extern +#endif + + +/* EGL Types */ +#include + +typedef int32_t EGLint; +typedef unsigned int EGLBoolean; +typedef unsigned int EGLenum; +typedef void *EGLConfig; +typedef void *EGLContext; +typedef void *EGLDisplay; +typedef void *EGLSurface; +typedef void *EGLClientBuffer; +/* NativeDisplayType, NativeWindowType, NativePixmapType TBD */ + +/* EGL Versioning */ +#define EGL_VERSION_1_0 1 +#define EGL_VERSION_1_1 1 +#define EGL_VERSION_1_2 1 +#define EGL_VERSION_1_3 1 + +/* EGL Enumerants. Exceptional cases aside, most + * enums are assigned unique values starting at 0x3000. + */ + +/* EGL aliases */ +#define EGL_FALSE 0 +#define EGL_TRUE 1 + +/* Out-of-band handle values */ +/* These values may vary depending on semantics of native concepts */ +#define EGL_DEFAULT_DISPLAY ((void *)0) +#define EGL_NO_CONTEXT ((EGLContext)0) +#define EGL_NO_DISPLAY ((EGLDisplay)0) +#define EGL_NO_SURFACE ((EGLSurface)0) + +/* Out-of-band attribute value */ +#define EGL_DONT_CARE ((EGLint)-1) + +/* Errors / GetError return values */ +#define EGL_SUCCESS 0x3000 +#define EGL_NOT_INITIALIZED 0x3001 +#define EGL_BAD_ACCESS 0x3002 +#define EGL_BAD_ALLOC 0x3003 +#define EGL_BAD_ATTRIBUTE 0x3004 +#define EGL_BAD_CONFIG 0x3005 +#define EGL_BAD_CONTEXT 0x3006 +#define EGL_BAD_CURRENT_SURFACE 0x3007 +#define EGL_BAD_DISPLAY 0x3008 +#define EGL_BAD_MATCH 0x3009 +#define EGL_BAD_NATIVE_PIXMAP 0x300A +#define EGL_BAD_NATIVE_WINDOW 0x300B +#define EGL_BAD_PARAMETER 0x300C +#define EGL_BAD_SURFACE 0x300D +#define EGL_CONTEXT_LOST 0x300E /* EGL 1.1 - IMG_power_management */ + +/* Reserved 0x300F-0x301F for additional errors */ + +/* Config attributes */ +#define EGL_BUFFER_SIZE 0x3020 +#define EGL_ALPHA_SIZE 0x3021 +#define EGL_BLUE_SIZE 0x3022 +#define EGL_GREEN_SIZE 0x3023 +#define EGL_RED_SIZE 0x3024 +#define EGL_DEPTH_SIZE 0x3025 +#define EGL_STENCIL_SIZE 0x3026 +#define EGL_CONFIG_CAVEAT 0x3027 +#define EGL_CONFIG_ID 0x3028 +#define EGL_LEVEL 0x3029 +#define EGL_MAX_PBUFFER_HEIGHT 0x302A +#define EGL_MAX_PBUFFER_PIXELS 0x302B +#define EGL_MAX_PBUFFER_WIDTH 0x302C +#define EGL_NATIVE_RENDERABLE 0x302D +#define EGL_NATIVE_VISUAL_ID 0x302E +#define EGL_NATIVE_VISUAL_TYPE 0x302F +#define EGL_PRESERVED_RESOURCES 0x3030 +#define EGL_SAMPLES 0x3031 +#define EGL_SAMPLE_BUFFERS 0x3032 +#define EGL_SURFACE_TYPE 0x3033 +#define EGL_TRANSPARENT_TYPE 0x3034 +#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 +#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 +#define EGL_TRANSPARENT_RED_VALUE 0x3037 +#define EGL_NONE 0x3038 /* Attrib list terminator */ +#define EGL_BIND_TO_TEXTURE_RGB 0x3039 +#define EGL_BIND_TO_TEXTURE_RGBA 0x303A +#define EGL_MIN_SWAP_INTERVAL 0x303B +#define EGL_MAX_SWAP_INTERVAL 0x303C +#define EGL_LUMINANCE_SIZE 0x303D +#define EGL_ALPHA_MASK_SIZE 0x303E +#define EGL_COLOR_BUFFER_TYPE 0x303F +#define EGL_RENDERABLE_TYPE 0x3040 +#define EGL_MATCH_NATIVE_PIXMAP 0x3041 /* Pseudo-attribute (not queryable) */ + +/* Reserved 0x3041-0x304F for additional config attributes */ + +/* Config attribute values */ +#define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */ +#define EGL_NON_CONFORMANT_CONFIG 0x3051 /* EGL_CONFIG_CAVEAT value */ +#define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */ +#define EGL_RGB_BUFFER 0x308E /* EGL_COLOR_BUFFER_TYPE value */ +#define EGL_LUMINANCE_BUFFER 0x308F /* EGL_COLOR_BUFFER_TYPE value */ + +/* More config attribute values, for EGL_TEXTURE_FORMAT */ +#define EGL_NO_TEXTURE 0x305C +#define EGL_TEXTURE_RGB 0x305D +#define EGL_TEXTURE_RGBA 0x305E +#define EGL_TEXTURE_2D 0x305F + +/* Config attribute mask bits */ +#define EGL_PBUFFER_BIT 0x01 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_PIXMAP_BIT 0x02 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_WINDOW_BIT 0x04 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_OPENGL_ES_BIT 0x01 /* EGL_RENDERABLE_TYPE mask bits */ +#define EGL_OPENVG_BIT 0x02 /* EGL_RENDERABLE_TYPE mask bits */ +#define EGL_OPENGL_ES2_BIT 0x04 /* EGL_RENDERABLE_TYPE mask bits */ + +/* QueryString targets */ +#define EGL_VENDOR 0x3053 +#define EGL_VERSION 0x3054 +#define EGL_EXTENSIONS 0x3055 +#define EGL_CLIENT_APIS 0x308D + +/* QuerySurface / CreatePbufferSurface targets */ +#define EGL_HEIGHT 0x3056 +#define EGL_WIDTH 0x3057 +#define EGL_LARGEST_PBUFFER 0x3058 +#define EGL_TEXTURE_FORMAT 0x3080 +#define EGL_TEXTURE_TARGET 0x3081 +#define EGL_MIPMAP_TEXTURE 0x3082 +#define EGL_MIPMAP_LEVEL 0x3083 +#define EGL_RENDER_BUFFER 0x3086 +#define EGL_COLORSPACE 0x3087 +#define EGL_ALPHA_FORMAT 0x3088 +#define EGL_HORIZONTAL_RESOLUTION 0x3090 +#define EGL_VERTICAL_RESOLUTION 0x3091 +#define EGL_PIXEL_ASPECT_RATIO 0x3092 +#define EGL_SWAP_BEHAVIOR 0x3093 + +/* EGL_RENDER_BUFFER values / BindTexImage / ReleaseTexImage buffer targets */ +#define EGL_BACK_BUFFER 0x3084 +#define EGL_SINGLE_BUFFER 0x3085 + +/* OpenVG color spaces */ +#define EGL_COLORSPACE_sRGB 0x3089 /* EGL_COLORSPACE value */ +#define EGL_COLORSPACE_LINEAR 0x308A /* EGL_COLORSPACE value */ + +/* OpenVG alpha formats */ +#define EGL_ALPHA_FORMAT_NONPRE 0x308B /* EGL_ALPHA_FORMAT value */ +#define EGL_ALPHA_FORMAT_PRE 0x308C /* EGL_ALPHA_FORMAT value */ + +/* Constant scale factor by which fractional display resolutions & + * aspect ratio are scaled when queried as integer values. + */ +#define EGL_DISPLAY_SCALING 10000 + +/* Unknown display resolution/aspect ratio */ +#define EGL_UNKNOWN ((EGLint)-1) + +/* Back buffer swap behaviors */ +#define EGL_BUFFER_PRESERVED 0x3094 /* EGL_SWAP_BEHAVIOR value */ +#define EGL_BUFFER_DESTROYED 0x3095 /* EGL_SWAP_BEHAVIOR value */ + +/* CreatePbufferFromClientBuffer buffer types */ +#define EGL_OPENVG_IMAGE 0x3096 + +/* QueryContext targets */ +#define EGL_CONTEXT_CLIENT_TYPE 0x3097 + +/* CreateContext attributes */ +#define EGL_CONTEXT_CLIENT_VERSION 0x3098 + +/* BindAPI/QueryAPI targets */ +#define EGL_OPENGL_ES_API 0x30A0 +#define EGL_OPENVG_API 0x30A1 + +/* GetCurrentSurface targets */ +#define EGL_DRAW 0x3059 +#define EGL_READ 0x305A + +/* WaitNative engines */ +#define EGL_CORE_NATIVE_ENGINE 0x305B + +/* EGL extensions must request enum blocks from the OpenGL ARB + * Secretary, who maintains the EGL enumerant registry. + */ + + + +/* EGL Functions */ + +EGLAPI EGLint APIENTRY eglGetError(); + +EGLAPI EGLDisplay APIENTRY eglGetDisplay(const char *display_id); +EGLAPI EGLBoolean APIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor); +EGLAPI EGLBoolean APIENTRY eglTerminate(EGLDisplay dpy); + +EGLAPI const char * APIENTRY eglQueryString(EGLDisplay dpy, EGLint name); + +EGLAPI EGLBoolean APIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, + EGLint config_size, EGLint *num_config); +EGLAPI EGLBoolean APIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, + EGLConfig *configs, EGLint config_size, + EGLint *num_config); +EGLAPI EGLBoolean APIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, + EGLint attribute, EGLint *value); + +EGLAPI EGLSurface APIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, + NativeWindowType win, + const EGLint *attrib_list); +EGLAPI EGLSurface APIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, + const EGLint *attrib_list); +EGLAPI EGLSurface APIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, + NativePixmapType pixmap, + const EGLint *attrib_list); +EGLAPI EGLBoolean APIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface); +EGLAPI EGLBoolean APIENTRY eglQuerySurface(EGLDisplay dpy, EGLSurface surface, + EGLint attribute, EGLint *value); + +EGLAPI EGLBoolean APIENTRY eglBindAPI(EGLenum api); +EGLAPI EGLenum APIENTRY eglQueryAPI(void); + +EGLAPI EGLBoolean APIENTRY eglWaitClient(void); + +EGLAPI EGLBoolean APIENTRY eglReleaseThread(void); + +EGLAPI EGLSurface APIENTRY eglCreatePbufferFromClientBuffer( + EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, + EGLConfig config, const EGLint *attrib_list); + +EGLAPI EGLBoolean APIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, + EGLint attribute, EGLint value); +EGLAPI EGLBoolean APIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); +EGLAPI EGLBoolean APIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); + + +EGLAPI EGLBoolean APIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval); + + +EGLAPI EGLContext APIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, + EGLContext share_context, + const EGLint *attrib_list); +EGLAPI EGLBoolean APIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx); +EGLAPI EGLBoolean APIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, + EGLSurface read, EGLContext ctx); + +EGLAPI EGLContext APIENTRY eglGetCurrentContext(void); +EGLAPI EGLSurface APIENTRY eglGetCurrentSurface(EGLint readdraw); +EGLAPI EGLDisplay APIENTRY eglGetCurrentDisplay(void); +EGLAPI EGLBoolean APIENTRY eglQueryContext(EGLDisplay dpy, EGLContext ctx, + EGLint attribute, EGLint *value); + +EGLAPI EGLBoolean APIENTRY eglWaitGL(void); +EGLAPI EGLBoolean APIENTRY eglWaitNative(EGLint engine); +EGLAPI EGLBoolean APIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface); +EGLAPI EGLBoolean APIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, + NativePixmapType target); + +EGLAPI void (* APIENTRY eglGetProcAddress(const char *procname))(); + +#endif /* __egl_h_ */ diff --git a/glew/auto/EGL-Registry/api/1.1/EGL/egl.h b/glew/auto/EGL-Registry/api/1.1/EGL/egl.h new file mode 100644 index 0000000..99f2880 --- /dev/null +++ b/glew/auto/EGL-Registry/api/1.1/EGL/egl.h @@ -0,0 +1,226 @@ +/* Copyright 2006-2020 The Khronos Group Inc. + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef __egl_h_ +#define __egl_h_ + +#include +#include + +/* +** egltypes.h is platform dependent. It defines: +** +** - EGL types and resources +** - Native types +** - EGL and native handle values +** +** EGL types and resources are to be typedef'ed with appropriate platform +** dependent resource handle types. EGLint must be an integer of at least +** 32-bit. +** +** NativeDisplayType, NativeWindowType and NativePixmapType are to be +** replaced with corresponding types of the native window system in egl.h. +** +** EGL and native handle values must match their types. +** +** Example egltypes.h: +*/ + +#if 0 + +#include +#include + +/* +** Types and resources +*/ +typedef int EGLBoolean; +typedef int32_t EGLint; +typedef void *EGLDisplay; +typedef void *EGLConfig; +typedef void *EGLSurface; +typedef void *EGLContext; + +/* +** EGL and native handle values +*/ +#define EGL_DEFAULT_DISPLAY ((NativeDisplayType)0) +#define EGL_NO_CONTEXT ((EGLContext)0) +#define EGL_NO_DISPLAY ((EGLDisplay)0) +#define EGL_NO_SURFACE ((EGLSurface)0) + +#endif + +/* +** Versioning and extensions +*/ +#define EGL_VERSION_1_0 1 +#define EGL_VERSION_1_1 1 + +/* +** Boolean +*/ +#define EGL_FALSE 0 +#define EGL_TRUE 1 + +/* +** Errors +*/ +#define EGL_SUCCESS 0x3000 +#define EGL_NOT_INITIALIZED 0x3001 +#define EGL_BAD_ACCESS 0x3002 +#define EGL_BAD_ALLOC 0x3003 +#define EGL_BAD_ATTRIBUTE 0x3004 +#define EGL_BAD_CONFIG 0x3005 +#define EGL_BAD_CONTEXT 0x3006 +#define EGL_BAD_CURRENT_SURFACE 0x3007 +#define EGL_BAD_DISPLAY 0x3008 +#define EGL_BAD_MATCH 0x3009 +#define EGL_BAD_NATIVE_PIXMAP 0x300A +#define EGL_BAD_NATIVE_WINDOW 0x300B +#define EGL_BAD_PARAMETER 0x300C +#define EGL_BAD_SURFACE 0x300D +#define EGL_CONTEXT_LOST 0x300E +/* 0x300F - 0x301F reserved for additional errors. */ + +/* +** Config attributes +*/ +#define EGL_BUFFER_SIZE 0x3020 +#define EGL_ALPHA_SIZE 0x3021 +#define EGL_BLUE_SIZE 0x3022 +#define EGL_GREEN_SIZE 0x3023 +#define EGL_RED_SIZE 0x3024 +#define EGL_DEPTH_SIZE 0x3025 +#define EGL_STENCIL_SIZE 0x3026 +#define EGL_CONFIG_CAVEAT 0x3027 +#define EGL_CONFIG_ID 0x3028 +#define EGL_LEVEL 0x3029 +#define EGL_MAX_PBUFFER_HEIGHT 0x302A +#define EGL_MAX_PBUFFER_PIXELS 0x302B +#define EGL_MAX_PBUFFER_WIDTH 0x302C +#define EGL_NATIVE_RENDERABLE 0x302D +#define EGL_NATIVE_VISUAL_ID 0x302E +#define EGL_NATIVE_VISUAL_TYPE 0x302F +/*#define EGL_PRESERVED_RESOURCES 0x3030*/ +#define EGL_SAMPLES 0x3031 +#define EGL_SAMPLE_BUFFERS 0x3032 +#define EGL_SURFACE_TYPE 0x3033 +#define EGL_TRANSPARENT_TYPE 0x3034 +#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 +#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 +#define EGL_TRANSPARENT_RED_VALUE 0x3037 +#define EGL_NONE 0x3038 /* Also a config value */ +#define EGL_BIND_TO_TEXTURE_RGB 0x3039 +#define EGL_BIND_TO_TEXTURE_RGBA 0x303A +#define EGL_MIN_SWAP_INTERVAL 0x303B +#define EGL_MAX_SWAP_INTERVAL 0x303C + +/* +** Config values +*/ +#define EGL_DONT_CARE ((EGLint) -1) + +#define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */ +#define EGL_NON_CONFORMANT_CONFIG 0x3051 /* " */ +#define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */ +#define EGL_NO_TEXTURE 0x305C /* EGL_TEXTURE_FORMAT/TARGET value */ +#define EGL_TEXTURE_RGB 0x305D /* EGL_TEXTURE_FORMAT value */ +#define EGL_TEXTURE_RGBA 0x305E /* " */ +#define EGL_TEXTURE_2D 0x305F /* EGL_TEXTURE_TARGET value */ + +/* +** Config attribute mask bits +*/ +#define EGL_PBUFFER_BIT 0x01 /* EGL_SURFACE_TYPE mask bit */ +#define EGL_PIXMAP_BIT 0x02 /* " */ +#define EGL_WINDOW_BIT 0x04 /* " */ + +/* +** String names +*/ +#define EGL_VENDOR 0x3053 /* eglQueryString target */ +#define EGL_VERSION 0x3054 /* " */ +#define EGL_EXTENSIONS 0x3055 /* " */ + +/* +** Surface attributes +*/ +#define EGL_HEIGHT 0x3056 +#define EGL_WIDTH 0x3057 +#define EGL_LARGEST_PBUFFER 0x3058 +#define EGL_TEXTURE_FORMAT 0x3080 /* For pbuffers bound as textures */ +#define EGL_TEXTURE_TARGET 0x3081 /* " */ +#define EGL_MIPMAP_TEXTURE 0x3082 /* " */ +#define EGL_MIPMAP_LEVEL 0x3083 /* " */ + +/* +** BindTexImage / ReleaseTexImage buffer target +*/ +#define EGL_BACK_BUFFER 0x3084 + +/* +** Current surfaces +*/ +#define EGL_DRAW 0x3059 +#define EGL_READ 0x305A + +/* +** Engines +*/ +#define EGL_CORE_NATIVE_ENGINE 0x305B + +/* 0x305C-0x3FFFF reserved for future use */ + +/* +** Functions +*/ +#ifdef __cplusplus +extern "C" { +#endif + +GLAPI EGLint APIENTRY eglGetError (void); + +GLAPI EGLDisplay APIENTRY eglGetDisplay (NativeDisplayType display); +GLAPI EGLBoolean APIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor); +GLAPI EGLBoolean APIENTRY eglTerminate (EGLDisplay dpy); +GLAPI const char * APIENTRY eglQueryString (EGLDisplay dpy, EGLint name); +GLAPI void (* APIENTRY eglGetProcAddress (const char *procname))(); + +GLAPI EGLBoolean APIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); +GLAPI EGLBoolean APIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); +GLAPI EGLBoolean APIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); + +GLAPI EGLSurface APIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, NativeWindowType window, const EGLint *attrib_list); +GLAPI EGLSurface APIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, NativePixmapType pixmap, const EGLint *attrib_list); +GLAPI EGLSurface APIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); +GLAPI EGLBoolean APIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface); +GLAPI EGLBoolean APIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); + +/* EGL 1.1 render-to-texture APIs */ +GLAPI EGLBoolean APIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); +GLAPI EGLBoolean APIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); +GLAPI EGLBoolean APIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); + +/* EGL 1.1 swap control API */ +GLAPI EGLBoolean APIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval); + +GLAPI EGLContext APIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_list, const EGLint *attrib_list); +GLAPI EGLBoolean APIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx); +GLAPI EGLBoolean APIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); +GLAPI EGLContext APIENTRY eglGetCurrentContext (void); +GLAPI EGLSurface APIENTRY eglGetCurrentSurface (EGLint readdraw); +GLAPI EGLDisplay APIENTRY eglGetCurrentDisplay (void); +GLAPI EGLBoolean APIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); + +GLAPI EGLBoolean APIENTRY eglWaitGL (void); +GLAPI EGLBoolean APIENTRY eglWaitNative (EGLint engine); +GLAPI EGLBoolean APIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface draw); +GLAPI EGLBoolean APIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, NativePixmapType target); + +#ifdef __cplusplus +} +#endif + +#endif /* ___egl_h_ */ diff --git a/glew/auto/EGL-Registry/api/1.2/EGL/egl.h b/glew/auto/EGL-Registry/api/1.2/EGL/egl.h new file mode 100644 index 0000000..d67fd1a --- /dev/null +++ b/glew/auto/EGL-Registry/api/1.2/EGL/egl.h @@ -0,0 +1,264 @@ +/* Copyright 2006-2020 The Khronos Group Inc. + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Reference egl.h for EGL 1.2 + * Last modified 2006/10/24 + */ + +#ifndef __egl_h_ +#define __egl_h_ + +/* EGL Types */ +#include + +typedef int32_t EGLint; +typedef unsigned int EGLBoolean; +typedef void *EGLConfig; +typedef void *EGLContext; +typedef void *EGLDisplay; +typedef void *EGLSurface; + +/* Define NativeDisplayType, NativeWindowType, NativePixmapType in egltypes.h */ +#include + +/* EGL Versioning */ +#define EGL_VERSION_1_0 1 +#define EGL_VERSION_1_1 1 +#define EGL_VERSION_1_2 1 + +/* EGL Enumerants. Exceptional cases aside, most + * enums are assigned unique values starting at 0x3000. + */ + +/* EGL aliases */ +#define EGL_FALSE 0 +#define EGL_TRUE 1 + +/* Out-of-band handle values */ +/* These values may vary depending on semantics of native concepts */ +#define EGL_DEFAULT_DISPLAY ((void *)0) +#define EGL_NO_CONTEXT ((EGLContext)0) +#define EGL_NO_DISPLAY ((EGLDisplay)0) +#define EGL_NO_SURFACE ((EGLSurface)0) + +/* Out-of-band attribute value */ +#define EGL_DONT_CARE ((EGLint)-1) + +/* Errors / GetError return values */ +#define EGL_SUCCESS 0x3000 +#define EGL_NOT_INITIALIZED 0x3001 +#define EGL_BAD_ACCESS 0x3002 +#define EGL_BAD_ALLOC 0x3003 +#define EGL_BAD_ATTRIBUTE 0x3004 +#define EGL_BAD_CONFIG 0x3005 +#define EGL_BAD_CONTEXT 0x3006 +#define EGL_BAD_CURRENT_SURFACE 0x3007 +#define EGL_BAD_DISPLAY 0x3008 +#define EGL_BAD_MATCH 0x3009 +#define EGL_BAD_NATIVE_PIXMAP 0x300A +#define EGL_BAD_NATIVE_WINDOW 0x300B +#define EGL_BAD_PARAMETER 0x300C +#define EGL_BAD_SURFACE 0x300D +#define EGL_CONTEXT_LOST 0x300E /* EGL 1.1 - IMG_power_management */ + +/* Reserved 0x300F-0x301F for additional errors */ + +/* Config attributes */ +#define EGL_BUFFER_SIZE 0x3020 +#define EGL_ALPHA_SIZE 0x3021 +#define EGL_BLUE_SIZE 0x3022 +#define EGL_GREEN_SIZE 0x3023 +#define EGL_RED_SIZE 0x3024 +#define EGL_DEPTH_SIZE 0x3025 +#define EGL_STENCIL_SIZE 0x3026 +#define EGL_CONFIG_CAVEAT 0x3027 +#define EGL_CONFIG_ID 0x3028 +#define EGL_LEVEL 0x3029 +#define EGL_MAX_PBUFFER_HEIGHT 0x302A +#define EGL_MAX_PBUFFER_PIXELS 0x302B +#define EGL_MAX_PBUFFER_WIDTH 0x302C +#define EGL_NATIVE_RENDERABLE 0x302D +#define EGL_NATIVE_VISUAL_ID 0x302E +#define EGL_NATIVE_VISUAL_TYPE 0x302F +#define EGL_PRESERVED_RESOURCES 0x3030 +#define EGL_SAMPLES 0x3031 +#define EGL_SAMPLE_BUFFERS 0x3032 +#define EGL_SURFACE_TYPE 0x3033 +#define EGL_TRANSPARENT_TYPE 0x3034 +#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 +#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 +#define EGL_TRANSPARENT_RED_VALUE 0x3037 +#define EGL_NONE 0x3038 /* Attrib list terminator */ +#define EGL_BIND_TO_TEXTURE_RGB 0x3039 +#define EGL_BIND_TO_TEXTURE_RGBA 0x303A +#define EGL_MIN_SWAP_INTERVAL 0x303B +#define EGL_MAX_SWAP_INTERVAL 0x303C +#define EGL_LUMINANCE_SIZE 0x303D +#define EGL_ALPHA_MASK_SIZE 0x303E +#define EGL_COLOR_BUFFER_TYPE 0x303F +#define EGL_RENDERABLE_TYPE 0x3040 + +/* Reserved 0x3041-0x304F for additional config attributes */ + +/* Config attribute values */ +#define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */ +#define EGL_NON_CONFORMANT_CONFIG 0x3051 /* EGL_CONFIG_CAVEAT value */ +#define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */ +#define EGL_RGB_BUFFER 0x308E /* EGL_COLOR_BUFFER_TYPE value */ +#define EGL_LUMINANCE_BUFFER 0x308F /* EGL_COLOR_BUFFER_TYPE value */ + +/* More config attribute values, for EGL_TEXTURE_FORMAT */ +#define EGL_NO_TEXTURE 0x305C +#define EGL_TEXTURE_RGB 0x305D +#define EGL_TEXTURE_RGBA 0x305E +#define EGL_TEXTURE_2D 0x305F + +/* Config attribute mask bits */ +#define EGL_PBUFFER_BIT 0x01 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_PIXMAP_BIT 0x02 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_WINDOW_BIT 0x04 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_OPENGL_ES_BIT 0x01 /* EGL_RENDERABLE_TYPE mask bits */ +#define EGL_OPENVG_BIT 0x02 /* EGL_RENDERABLE_TYPE mask bits */ + +/* QueryString targets */ +#define EGL_VENDOR 0x3053 +#define EGL_VERSION 0x3054 +#define EGL_EXTENSIONS 0x3055 +#define EGL_CLIENT_APIS 0x308D + +/* QuerySurface / CreatePbufferSurface targets */ +#define EGL_HEIGHT 0x3056 +#define EGL_WIDTH 0x3057 +#define EGL_LARGEST_PBUFFER 0x3058 +#define EGL_TEXTURE_FORMAT 0x3080 +#define EGL_TEXTURE_TARGET 0x3081 +#define EGL_MIPMAP_TEXTURE 0x3082 +#define EGL_MIPMAP_LEVEL 0x3083 +#define EGL_RENDER_BUFFER 0x3086 +#define EGL_COLORSPACE 0x3087 +#define EGL_ALPHA_FORMAT 0x3088 +#define EGL_HORIZONTAL_RESOLUTION 0x3090 +#define EGL_VERTICAL_RESOLUTION 0x3091 +#define EGL_PIXEL_ASPECT_RATIO 0x3092 +#define EGL_SWAP_BEHAVIOR 0x3093 + +/* EGL_RENDER_BUFFER values / BindTexImage / ReleaseTexImage buffer targets */ +#define EGL_BACK_BUFFER 0x3084 +#define EGL_SINGLE_BUFFER 0x3085 + +/* OpenVG color spaces */ +#define EGL_COLORSPACE_sRGB 0x3089 /* EGL_COLORSPACE value */ +#define EGL_COLORSPACE_LINEAR 0x308A /* EGL_COLORSPACE value */ + +/* OpenVG alpha formats */ +#define EGL_ALPHA_FORMAT_NONPRE 0x308B /* EGL_ALPHA_FORMAT value */ +#define EGL_ALPHA_FORMAT_PRE 0x308C /* EGL_ALPHA_FORMAT value */ + +/* Constant scale factor by which fractional display resolutions & + * aspect ratio are scaled when queried as integer values. + */ +#define EGL_DISPLAY_SCALING 10000 + +/* Unknown display resolution/aspect ratio */ +#define EGL_UNKNOWN ((EGLint)-1) + +/* Back buffer swap behaviors */ +#define EGL_BUFFER_PRESERVED 0x3094 /* EGL_SWAP_BEHAVIOR value */ +#define EGL_BUFFER_DESTROYED 0x3095 /* EGL_SWAP_BEHAVIOR value */ + +/* CreatePbufferFromClientBuffer buffer types */ +#define EGL_OPENVG_IMAGE 0x3096 + +/* QueryContext targets */ +#define EGL_CONTEXT_CLIENT_TYPE 0x3097 + +/* BindAPI/QueryAPI targets */ +#define EGL_OPENGL_ES_API 0x30A0 +#define EGL_OPENVG_API 0x30A1 + +/* GetCurrentSurface targets */ +#define EGL_DRAW 0x3059 +#define EGL_READ 0x305A + +/* WaitNative engines */ +#define EGL_CORE_NATIVE_ENGINE 0x305B + +/* EGL extensions must request enum blocks from the OpenGL ARB + * Secretary, who maintains the EGL enumerant registry. + */ + + + +/* EGL Functions */ + +EGLint eglGetError(); + +EGLDisplay eglGetDisplay(NativeDisplayType display_id); +EGLBoolean eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor); +EGLBoolean eglTerminate(EGLDisplay dpy); + +const char *eglQueryString(EGLDisplay dpy, EGLint name); + +EGLBoolean eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, + EGLint config_size, EGLint *num_config); +EGLBoolean eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, + EGLConfig *configs, EGLint config_size, + EGLint *num_config); +EGLBoolean eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, + EGLint attribute, EGLint *value); + +EGLSurface eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, + NativeWindowType win, + const EGLint *attrib_list); +EGLSurface eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, + const EGLint *attrib_list); +EGLSurface eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, + NativePixmapType pixmap, + const EGLint *attrib_list); +EGLBoolean eglDestroySurface(EGLDisplay dpy, EGLSurface surface); +EGLBoolean eglQuerySurface(EGLDisplay dpy, EGLSurface surface, + EGLint attribute, EGLint *value); + +EGLBoolean eglBindAPI(EGLenum api); +EGLenum eglQueryAPI(void); + +EGLBoolean eglWaitClient(void); + +EGLBoolean eglReleaseThread(void); + +EGLSurface eglCreatePbufferFromClientBuffer( + EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, + EGLConfig config, const EGLint *attrib_list); + +EGLBoolean eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, + EGLint attribute, EGLint value); +EGLBoolean eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); +EGLBoolean eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); + + +EGLBoolean eglSwapInterval(EGLDisplay dpy, EGLint interval); + + +EGLContext eglCreateContext(EGLDisplay dpy, EGLConfig config, + EGLContext share_context, + const EGLint *attrib_list); +EGLBoolean eglDestroyContext(EGLDisplay dpy, EGLContext ctx); +EGLBoolean eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, + EGLSurface read, EGLContext ctx); + +EGLContext eglGetCurrentContext(void); +EGLSurface eglGetCurrentSurface(EGLint readdraw); +EGLDisplay eglGetCurrentDisplay(void); +EGLBoolean eglQueryContext(EGLDisplay dpy, EGLContext ctx, + EGLint attribute, EGLint *value); + +EGLBoolean eglWaitGL(void); +EGLBoolean eglWaitNative(EGLint engine); +EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface surface); +EGLBoolean eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, + NativePixmapType target); + +void (*eglGetProcAddress(const char *procname))(); + +#endif /* __egl_h_ */ diff --git a/glew/auto/EGL-Registry/api/1.2/egl.h b/glew/auto/EGL-Registry/api/1.2/egl.h new file mode 100644 index 0000000..bf27697 --- /dev/null +++ b/glew/auto/EGL-Registry/api/1.2/egl.h @@ -0,0 +1,260 @@ +/* Reference egl.h for EGL 1.2 + * Last modified 2006/10/24 + */ + +#ifndef __egl_h_ +#define __egl_h_ + +/* EGL Types */ +#include + +typedef int32_t EGLint; +typedef unsigned int EGLBoolean; +typedef void *EGLConfig; +typedef void *EGLContext; +typedef void *EGLDisplay; +typedef void *EGLSurface; + +/* Define NativeDisplayType, NativeWindowType, NativePixmapType in egltypes.h */ +#include + +/* EGL Versioning */ +#define EGL_VERSION_1_0 1 +#define EGL_VERSION_1_1 1 +#define EGL_VERSION_1_2 1 + +/* EGL Enumerants. Exceptional cases aside, most + * enums are assigned unique values starting at 0x3000. + */ + +/* EGL aliases */ +#define EGL_FALSE 0 +#define EGL_TRUE 1 + +/* Out-of-band handle values */ +/* These values may vary depending on semantics of native concepts */ +#define EGL_DEFAULT_DISPLAY ((void *)0) +#define EGL_NO_CONTEXT ((EGLContext)0) +#define EGL_NO_DISPLAY ((EGLDisplay)0) +#define EGL_NO_SURFACE ((EGLSurface)0) + +/* Out-of-band attribute value */ +#define EGL_DONT_CARE ((EGLint)-1) + +/* Errors / GetError return values */ +#define EGL_SUCCESS 0x3000 +#define EGL_NOT_INITIALIZED 0x3001 +#define EGL_BAD_ACCESS 0x3002 +#define EGL_BAD_ALLOC 0x3003 +#define EGL_BAD_ATTRIBUTE 0x3004 +#define EGL_BAD_CONFIG 0x3005 +#define EGL_BAD_CONTEXT 0x3006 +#define EGL_BAD_CURRENT_SURFACE 0x3007 +#define EGL_BAD_DISPLAY 0x3008 +#define EGL_BAD_MATCH 0x3009 +#define EGL_BAD_NATIVE_PIXMAP 0x300A +#define EGL_BAD_NATIVE_WINDOW 0x300B +#define EGL_BAD_PARAMETER 0x300C +#define EGL_BAD_SURFACE 0x300D +#define EGL_CONTEXT_LOST 0x300E /* EGL 1.1 - IMG_power_management */ + +/* Reserved 0x300F-0x301F for additional errors */ + +/* Config attributes */ +#define EGL_BUFFER_SIZE 0x3020 +#define EGL_ALPHA_SIZE 0x3021 +#define EGL_BLUE_SIZE 0x3022 +#define EGL_GREEN_SIZE 0x3023 +#define EGL_RED_SIZE 0x3024 +#define EGL_DEPTH_SIZE 0x3025 +#define EGL_STENCIL_SIZE 0x3026 +#define EGL_CONFIG_CAVEAT 0x3027 +#define EGL_CONFIG_ID 0x3028 +#define EGL_LEVEL 0x3029 +#define EGL_MAX_PBUFFER_HEIGHT 0x302A +#define EGL_MAX_PBUFFER_PIXELS 0x302B +#define EGL_MAX_PBUFFER_WIDTH 0x302C +#define EGL_NATIVE_RENDERABLE 0x302D +#define EGL_NATIVE_VISUAL_ID 0x302E +#define EGL_NATIVE_VISUAL_TYPE 0x302F +#define EGL_PRESERVED_RESOURCES 0x3030 +#define EGL_SAMPLES 0x3031 +#define EGL_SAMPLE_BUFFERS 0x3032 +#define EGL_SURFACE_TYPE 0x3033 +#define EGL_TRANSPARENT_TYPE 0x3034 +#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 +#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 +#define EGL_TRANSPARENT_RED_VALUE 0x3037 +#define EGL_NONE 0x3038 /* Attrib list terminator */ +#define EGL_BIND_TO_TEXTURE_RGB 0x3039 +#define EGL_BIND_TO_TEXTURE_RGBA 0x303A +#define EGL_MIN_SWAP_INTERVAL 0x303B +#define EGL_MAX_SWAP_INTERVAL 0x303C +#define EGL_LUMINANCE_SIZE 0x303D +#define EGL_ALPHA_MASK_SIZE 0x303E +#define EGL_COLOR_BUFFER_TYPE 0x303F +#define EGL_RENDERABLE_TYPE 0x3040 + +/* Reserved 0x3041-0x304F for additional config attributes */ + +/* Config attribute values */ +#define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */ +#define EGL_NON_CONFORMANT_CONFIG 0x3051 /* EGL_CONFIG_CAVEAT value */ +#define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */ +#define EGL_RGB_BUFFER 0x308E /* EGL_COLOR_BUFFER_TYPE value */ +#define EGL_LUMINANCE_BUFFER 0x308F /* EGL_COLOR_BUFFER_TYPE value */ + +/* More config attribute values, for EGL_TEXTURE_FORMAT */ +#define EGL_NO_TEXTURE 0x305C +#define EGL_TEXTURE_RGB 0x305D +#define EGL_TEXTURE_RGBA 0x305E +#define EGL_TEXTURE_2D 0x305F + +/* Config attribute mask bits */ +#define EGL_PBUFFER_BIT 0x01 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_PIXMAP_BIT 0x02 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_WINDOW_BIT 0x04 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_OPENGL_ES_BIT 0x01 /* EGL_RENDERABLE_TYPE mask bits */ +#define EGL_OPENVG_BIT 0x02 /* EGL_RENDERABLE_TYPE mask bits */ + +/* QueryString targets */ +#define EGL_VENDOR 0x3053 +#define EGL_VERSION 0x3054 +#define EGL_EXTENSIONS 0x3055 +#define EGL_CLIENT_APIS 0x308D + +/* QuerySurface / CreatePbufferSurface targets */ +#define EGL_HEIGHT 0x3056 +#define EGL_WIDTH 0x3057 +#define EGL_LARGEST_PBUFFER 0x3058 +#define EGL_TEXTURE_FORMAT 0x3080 +#define EGL_TEXTURE_TARGET 0x3081 +#define EGL_MIPMAP_TEXTURE 0x3082 +#define EGL_MIPMAP_LEVEL 0x3083 +#define EGL_RENDER_BUFFER 0x3086 +#define EGL_COLORSPACE 0x3087 +#define EGL_ALPHA_FORMAT 0x3088 +#define EGL_HORIZONTAL_RESOLUTION 0x3090 +#define EGL_VERTICAL_RESOLUTION 0x3091 +#define EGL_PIXEL_ASPECT_RATIO 0x3092 +#define EGL_SWAP_BEHAVIOR 0x3093 + +/* EGL_RENDER_BUFFER values / BindTexImage / ReleaseTexImage buffer targets */ +#define EGL_BACK_BUFFER 0x3084 +#define EGL_SINGLE_BUFFER 0x3085 + +/* OpenVG color spaces */ +#define EGL_COLORSPACE_sRGB 0x3089 /* EGL_COLORSPACE value */ +#define EGL_COLORSPACE_LINEAR 0x308A /* EGL_COLORSPACE value */ + +/* OpenVG alpha formats */ +#define EGL_ALPHA_FORMAT_NONPRE 0x308B /* EGL_ALPHA_FORMAT value */ +#define EGL_ALPHA_FORMAT_PRE 0x308C /* EGL_ALPHA_FORMAT value */ + +/* Constant scale factor by which fractional display resolutions & + * aspect ratio are scaled when queried as integer values. + */ +#define EGL_DISPLAY_SCALING 10000 + +/* Unknown display resolution/aspect ratio */ +#define EGL_UNKNOWN ((EGLint)-1) + +/* Back buffer swap behaviors */ +#define EGL_BUFFER_PRESERVED 0x3094 /* EGL_SWAP_BEHAVIOR value */ +#define EGL_BUFFER_DESTROYED 0x3095 /* EGL_SWAP_BEHAVIOR value */ + +/* CreatePbufferFromClientBuffer buffer types */ +#define EGL_OPENVG_IMAGE 0x3096 + +/* QueryContext targets */ +#define EGL_CONTEXT_CLIENT_TYPE 0x3097 + +/* BindAPI/QueryAPI targets */ +#define EGL_OPENGL_ES_API 0x30A0 +#define EGL_OPENVG_API 0x30A1 + +/* GetCurrentSurface targets */ +#define EGL_DRAW 0x3059 +#define EGL_READ 0x305A + +/* WaitNative engines */ +#define EGL_CORE_NATIVE_ENGINE 0x305B + +/* EGL extensions must request enum blocks from the OpenGL ARB + * Secretary, who maintains the EGL enumerant registry. + */ + + + +/* EGL Functions */ + +EGLint eglGetError(); + +EGLDisplay eglGetDisplay(NativeDisplayType display_id); +EGLBoolean eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor); +EGLBoolean eglTerminate(EGLDisplay dpy); + +const char *eglQueryString(EGLDisplay dpy, EGLint name); + +EGLBoolean eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, + EGLint config_size, EGLint *num_config); +EGLBoolean eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, + EGLConfig *configs, EGLint config_size, + EGLint *num_config); +EGLBoolean eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, + EGLint attribute, EGLint *value); + +EGLSurface eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, + NativeWindowType win, + const EGLint *attrib_list); +EGLSurface eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, + const EGLint *attrib_list); +EGLSurface eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, + NativePixmapType pixmap, + const EGLint *attrib_list); +EGLBoolean eglDestroySurface(EGLDisplay dpy, EGLSurface surface); +EGLBoolean eglQuerySurface(EGLDisplay dpy, EGLSurface surface, + EGLint attribute, EGLint *value); + +EGLBoolean eglBindAPI(EGLenum api); +EGLenum eglQueryAPI(void); + +EGLBoolean eglWaitClient(void); + +EGLBoolean eglReleaseThread(void); + +EGLSurface eglCreatePbufferFromClientBuffer( + EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, + EGLConfig config, const EGLint *attrib_list); + +EGLBoolean eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, + EGLint attribute, EGLint value); +EGLBoolean eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); +EGLBoolean eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); + + +EGLBoolean eglSwapInterval(EGLDisplay dpy, EGLint interval); + + +EGLContext eglCreateContext(EGLDisplay dpy, EGLConfig config, + EGLContext share_context, + const EGLint *attrib_list); +EGLBoolean eglDestroyContext(EGLDisplay dpy, EGLContext ctx); +EGLBoolean eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, + EGLSurface read, EGLContext ctx); + +EGLContext eglGetCurrentContext(void); +EGLSurface eglGetCurrentSurface(EGLint readdraw); +EGLDisplay eglGetCurrentDisplay(void); +EGLBoolean eglQueryContext(EGLDisplay dpy, EGLContext ctx, + EGLint attribute, EGLint *value); + +EGLBoolean eglWaitGL(void); +EGLBoolean eglWaitNative(EGLint engine); +EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface surface); +EGLBoolean eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, + NativePixmapType target); + +void (*eglGetProcAddress(const char *procname))(); + +#endif /* __egl_h_ */ diff --git a/glew/auto/EGL-Registry/api/EGL/egl.h b/glew/auto/EGL-Registry/api/EGL/egl.h new file mode 100644 index 0000000..97d0878 --- /dev/null +++ b/glew/auto/EGL-Registry/api/EGL/egl.h @@ -0,0 +1,342 @@ +#ifndef __egl_h_ +#define __egl_h_ 1 + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** Copyright 2013-2020 The Khronos Group Inc. +** SPDX-License-Identifier: Apache-2.0 +** +** This header is generated from the Khronos EGL XML API Registry. +** The current version of the Registry, generator scripts +** used to make the header, and the header can be found at +** http://www.khronos.org/registry/egl +** +** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $ +*/ + +#include + +#ifndef EGL_EGL_PROTOTYPES +#define EGL_EGL_PROTOTYPES 1 +#endif + +/* Generated on date 20220525 */ + +/* Generated C header for: + * API: egl + * Versions considered: .* + * Versions emitted: .* + * Default extensions included: None + * Additional extensions included: _nomatch_^ + * Extensions removed: _nomatch_^ + */ + +#ifndef EGL_VERSION_1_0 +#define EGL_VERSION_1_0 1 +typedef unsigned int EGLBoolean; +typedef void *EGLDisplay; +#include +#include +typedef void *EGLConfig; +typedef void *EGLSurface; +typedef void *EGLContext; +typedef void (*__eglMustCastToProperFunctionPointerType)(void); +#define EGL_ALPHA_SIZE 0x3021 +#define EGL_BAD_ACCESS 0x3002 +#define EGL_BAD_ALLOC 0x3003 +#define EGL_BAD_ATTRIBUTE 0x3004 +#define EGL_BAD_CONFIG 0x3005 +#define EGL_BAD_CONTEXT 0x3006 +#define EGL_BAD_CURRENT_SURFACE 0x3007 +#define EGL_BAD_DISPLAY 0x3008 +#define EGL_BAD_MATCH 0x3009 +#define EGL_BAD_NATIVE_PIXMAP 0x300A +#define EGL_BAD_NATIVE_WINDOW 0x300B +#define EGL_BAD_PARAMETER 0x300C +#define EGL_BAD_SURFACE 0x300D +#define EGL_BLUE_SIZE 0x3022 +#define EGL_BUFFER_SIZE 0x3020 +#define EGL_CONFIG_CAVEAT 0x3027 +#define EGL_CONFIG_ID 0x3028 +#define EGL_CORE_NATIVE_ENGINE 0x305B +#define EGL_DEPTH_SIZE 0x3025 +#define EGL_DONT_CARE EGL_CAST(EGLint,-1) +#define EGL_DRAW 0x3059 +#define EGL_EXTENSIONS 0x3055 +#define EGL_FALSE 0 +#define EGL_GREEN_SIZE 0x3023 +#define EGL_HEIGHT 0x3056 +#define EGL_LARGEST_PBUFFER 0x3058 +#define EGL_LEVEL 0x3029 +#define EGL_MAX_PBUFFER_HEIGHT 0x302A +#define EGL_MAX_PBUFFER_PIXELS 0x302B +#define EGL_MAX_PBUFFER_WIDTH 0x302C +#define EGL_NATIVE_RENDERABLE 0x302D +#define EGL_NATIVE_VISUAL_ID 0x302E +#define EGL_NATIVE_VISUAL_TYPE 0x302F +#define EGL_NONE 0x3038 +#define EGL_NON_CONFORMANT_CONFIG 0x3051 +#define EGL_NOT_INITIALIZED 0x3001 +#define EGL_NO_CONTEXT EGL_CAST(EGLContext,0) +#define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0) +#define EGL_NO_SURFACE EGL_CAST(EGLSurface,0) +#define EGL_PBUFFER_BIT 0x0001 +#define EGL_PIXMAP_BIT 0x0002 +#define EGL_READ 0x305A +#define EGL_RED_SIZE 0x3024 +#define EGL_SAMPLES 0x3031 +#define EGL_SAMPLE_BUFFERS 0x3032 +#define EGL_SLOW_CONFIG 0x3050 +#define EGL_STENCIL_SIZE 0x3026 +#define EGL_SUCCESS 0x3000 +#define EGL_SURFACE_TYPE 0x3033 +#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 +#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 +#define EGL_TRANSPARENT_RED_VALUE 0x3037 +#define EGL_TRANSPARENT_RGB 0x3052 +#define EGL_TRANSPARENT_TYPE 0x3034 +#define EGL_TRUE 1 +#define EGL_VENDOR 0x3053 +#define EGL_VERSION 0x3054 +#define EGL_WIDTH 0x3057 +#define EGL_WINDOW_BIT 0x0004 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); +typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); +typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); +typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list); +typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); +typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETCURRENTDISPLAYPROC) (void); +typedef EGLSurface (EGLAPIENTRYP PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw); +typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id); +typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void); +typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); +typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine); +#if EGL_EGL_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); +EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); +EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); +EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); +EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list); +EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface); +EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); +EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); +EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void); +EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw); +EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id); +EGLAPI EGLint EGLAPIENTRY eglGetError (void); +EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname); +EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor); +EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); +EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name); +EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); +EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface); +EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy); +EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void); +EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine); +#endif +#endif /* EGL_VERSION_1_0 */ + +#ifndef EGL_VERSION_1_1 +#define EGL_VERSION_1_1 1 +#define EGL_BACK_BUFFER 0x3084 +#define EGL_BIND_TO_TEXTURE_RGB 0x3039 +#define EGL_BIND_TO_TEXTURE_RGBA 0x303A +#define EGL_CONTEXT_LOST 0x300E +#define EGL_MIN_SWAP_INTERVAL 0x303B +#define EGL_MAX_SWAP_INTERVAL 0x303C +#define EGL_MIPMAP_TEXTURE 0x3082 +#define EGL_MIPMAP_LEVEL 0x3083 +#define EGL_NO_TEXTURE 0x305C +#define EGL_TEXTURE_2D 0x305F +#define EGL_TEXTURE_FORMAT 0x3080 +#define EGL_TEXTURE_RGB 0x305D +#define EGL_TEXTURE_RGBA 0x305E +#define EGL_TEXTURE_TARGET 0x3081 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval); +#if EGL_EGL_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer); +EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer); +EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); +EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval); +#endif +#endif /* EGL_VERSION_1_1 */ + +#ifndef EGL_VERSION_1_2 +#define EGL_VERSION_1_2 1 +typedef unsigned int EGLenum; +typedef void *EGLClientBuffer; +#define EGL_ALPHA_FORMAT 0x3088 +#define EGL_ALPHA_FORMAT_NONPRE 0x308B +#define EGL_ALPHA_FORMAT_PRE 0x308C +#define EGL_ALPHA_MASK_SIZE 0x303E +#define EGL_BUFFER_PRESERVED 0x3094 +#define EGL_BUFFER_DESTROYED 0x3095 +#define EGL_CLIENT_APIS 0x308D +#define EGL_COLORSPACE 0x3087 +#define EGL_COLORSPACE_sRGB 0x3089 +#define EGL_COLORSPACE_LINEAR 0x308A +#define EGL_COLOR_BUFFER_TYPE 0x303F +#define EGL_CONTEXT_CLIENT_TYPE 0x3097 +#define EGL_DISPLAY_SCALING 10000 +#define EGL_HORIZONTAL_RESOLUTION 0x3090 +#define EGL_LUMINANCE_BUFFER 0x308F +#define EGL_LUMINANCE_SIZE 0x303D +#define EGL_OPENGL_ES_BIT 0x0001 +#define EGL_OPENVG_BIT 0x0002 +#define EGL_OPENGL_ES_API 0x30A0 +#define EGL_OPENVG_API 0x30A1 +#define EGL_OPENVG_IMAGE 0x3096 +#define EGL_PIXEL_ASPECT_RATIO 0x3092 +#define EGL_RENDERABLE_TYPE 0x3040 +#define EGL_RENDER_BUFFER 0x3086 +#define EGL_RGB_BUFFER 0x308E +#define EGL_SINGLE_BUFFER 0x3085 +#define EGL_SWAP_BEHAVIOR 0x3093 +#define EGL_UNKNOWN EGL_CAST(EGLint,-1) +#define EGL_VERTICAL_RESOLUTION 0x3091 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api); +typedef EGLenum (EGLAPIENTRYP PFNEGLQUERYAPIPROC) (void); +typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETHREADPROC) (void); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITCLIENTPROC) (void); +#if EGL_EGL_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api); +EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void); +EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void); +EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void); +#endif +#endif /* EGL_VERSION_1_2 */ + +#ifndef EGL_VERSION_1_3 +#define EGL_VERSION_1_3 1 +#define EGL_CONFORMANT 0x3042 +#define EGL_CONTEXT_CLIENT_VERSION 0x3098 +#define EGL_MATCH_NATIVE_PIXMAP 0x3041 +#define EGL_OPENGL_ES2_BIT 0x0004 +#define EGL_VG_ALPHA_FORMAT 0x3088 +#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B +#define EGL_VG_ALPHA_FORMAT_PRE 0x308C +#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 +#define EGL_VG_COLORSPACE 0x3087 +#define EGL_VG_COLORSPACE_sRGB 0x3089 +#define EGL_VG_COLORSPACE_LINEAR 0x308A +#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 +#endif /* EGL_VERSION_1_3 */ + +#ifndef EGL_VERSION_1_4 +#define EGL_VERSION_1_4 1 +#define EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0) +#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 +#define EGL_MULTISAMPLE_RESOLVE 0x3099 +#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A +#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B +#define EGL_OPENGL_API 0x30A2 +#define EGL_OPENGL_BIT 0x0008 +#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 +typedef EGLContext (EGLAPIENTRYP PFNEGLGETCURRENTCONTEXTPROC) (void); +#if EGL_EGL_PROTOTYPES +EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void); +#endif +#endif /* EGL_VERSION_1_4 */ + +#ifndef EGL_VERSION_1_5 +#define EGL_VERSION_1_5 1 +typedef void *EGLSync; +typedef intptr_t EGLAttrib; +typedef khronos_utime_nanoseconds_t EGLTime; +typedef void *EGLImage; +#define EGL_CONTEXT_MAJOR_VERSION 0x3098 +#define EGL_CONTEXT_MINOR_VERSION 0x30FB +#define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD +#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD +#define EGL_NO_RESET_NOTIFICATION 0x31BE +#define EGL_LOSE_CONTEXT_ON_RESET 0x31BF +#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001 +#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define EGL_CONTEXT_OPENGL_DEBUG 0x31B0 +#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1 +#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2 +#define EGL_OPENGL_ES3_BIT 0x00000040 +#define EGL_CL_EVENT_HANDLE 0x309C +#define EGL_SYNC_CL_EVENT 0x30FE +#define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF +#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0 +#define EGL_SYNC_TYPE 0x30F7 +#define EGL_SYNC_STATUS 0x30F1 +#define EGL_SYNC_CONDITION 0x30F8 +#define EGL_SIGNALED 0x30F2 +#define EGL_UNSIGNALED 0x30F3 +#define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001 +#define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull +#define EGL_TIMEOUT_EXPIRED 0x30F5 +#define EGL_CONDITION_SATISFIED 0x30F6 +#define EGL_NO_SYNC EGL_CAST(EGLSync,0) +#define EGL_SYNC_FENCE 0x30F9 +#define EGL_GL_COLORSPACE 0x309D +#define EGL_GL_COLORSPACE_SRGB 0x3089 +#define EGL_GL_COLORSPACE_LINEAR 0x308A +#define EGL_GL_RENDERBUFFER 0x30B9 +#define EGL_GL_TEXTURE_2D 0x30B1 +#define EGL_GL_TEXTURE_LEVEL 0x30BC +#define EGL_GL_TEXTURE_3D 0x30B2 +#define EGL_GL_TEXTURE_ZOFFSET 0x30BD +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8 +#define EGL_IMAGE_PRESERVED 0x30D2 +#define EGL_NO_IMAGE EGL_CAST(EGLImage,0) +typedef EGLSync (EGLAPIENTRYP PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync); +typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value); +typedef EGLImage (EGLAPIENTRYP PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image); +typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list); +typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list); +typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags); +#if EGL_EGL_PROTOTYPES +EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync); +EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout); +EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value); +EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image); +EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list); +EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list); +EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags); +#endif +#endif /* EGL_VERSION_1_5 */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/glew/auto/EGL-Registry/api/EGL/eglext.h b/glew/auto/EGL-Registry/api/EGL/eglext.h new file mode 100644 index 0000000..d58da70 --- /dev/null +++ b/glew/auto/EGL-Registry/api/EGL/eglext.h @@ -0,0 +1,1483 @@ +#ifndef __eglext_h_ +#define __eglext_h_ 1 + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** Copyright 2013-2020 The Khronos Group Inc. +** SPDX-License-Identifier: Apache-2.0 +** +** This header is generated from the Khronos EGL XML API Registry. +** The current version of the Registry, generator scripts +** used to make the header, and the header can be found at +** http://www.khronos.org/registry/egl +** +** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $ +*/ + +#include + +#define EGL_EGLEXT_VERSION 20220525 + +/* Generated C header for: + * API: egl + * Versions considered: .* + * Versions emitted: _nomatch_^ + * Default extensions included: egl + * Additional extensions included: _nomatch_^ + * Extensions removed: _nomatch_^ + */ + +#ifndef EGL_KHR_cl_event +#define EGL_KHR_cl_event 1 +#define EGL_CL_EVENT_HANDLE_KHR 0x309C +#define EGL_SYNC_CL_EVENT_KHR 0x30FE +#define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF +#endif /* EGL_KHR_cl_event */ + +#ifndef EGL_KHR_cl_event2 +#define EGL_KHR_cl_event2 1 +typedef void *EGLSyncKHR; +typedef intptr_t EGLAttribKHR; +typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list); +#endif +#endif /* EGL_KHR_cl_event2 */ + +#ifndef EGL_KHR_client_get_all_proc_addresses +#define EGL_KHR_client_get_all_proc_addresses 1 +#endif /* EGL_KHR_client_get_all_proc_addresses */ + +#ifndef EGL_KHR_config_attribs +#define EGL_KHR_config_attribs 1 +#define EGL_CONFORMANT_KHR 0x3042 +#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 +#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 +#endif /* EGL_KHR_config_attribs */ + +#ifndef EGL_KHR_context_flush_control +#define EGL_KHR_context_flush_control 1 +#define EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR 0 +#define EGL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x2097 +#define EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x2098 +#endif /* EGL_KHR_context_flush_control */ + +#ifndef EGL_KHR_create_context +#define EGL_KHR_create_context 1 +#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098 +#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB +#define EGL_CONTEXT_FLAGS_KHR 0x30FC +#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD +#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD +#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE +#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF +#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001 +#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002 +#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004 +#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001 +#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002 +#define EGL_OPENGL_ES3_BIT_KHR 0x00000040 +#endif /* EGL_KHR_create_context */ + +#ifndef EGL_KHR_create_context_no_error +#define EGL_KHR_create_context_no_error 1 +#define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31B3 +#endif /* EGL_KHR_create_context_no_error */ + +#ifndef EGL_KHR_debug +#define EGL_KHR_debug 1 +typedef void *EGLLabelKHR; +typedef void *EGLObjectKHR; +typedef void (EGLAPIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message); +#define EGL_OBJECT_THREAD_KHR 0x33B0 +#define EGL_OBJECT_DISPLAY_KHR 0x33B1 +#define EGL_OBJECT_CONTEXT_KHR 0x33B2 +#define EGL_OBJECT_SURFACE_KHR 0x33B3 +#define EGL_OBJECT_IMAGE_KHR 0x33B4 +#define EGL_OBJECT_SYNC_KHR 0x33B5 +#define EGL_OBJECT_STREAM_KHR 0x33B6 +#define EGL_DEBUG_MSG_CRITICAL_KHR 0x33B9 +#define EGL_DEBUG_MSG_ERROR_KHR 0x33BA +#define EGL_DEBUG_MSG_WARN_KHR 0x33BB +#define EGL_DEBUG_MSG_INFO_KHR 0x33BC +#define EGL_DEBUG_CALLBACK_KHR 0x33B8 +typedef EGLint (EGLAPIENTRYP PFNEGLDEBUGMESSAGECONTROLKHRPROC) (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEBUGKHRPROC) (EGLint attribute, EGLAttrib *value); +typedef EGLint (EGLAPIENTRYP PFNEGLLABELOBJECTKHRPROC) (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLint EGLAPIENTRY eglDebugMessageControlKHR (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryDebugKHR (EGLint attribute, EGLAttrib *value); +EGLAPI EGLint EGLAPIENTRY eglLabelObjectKHR (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label); +#endif +#endif /* EGL_KHR_debug */ + +#ifndef EGL_KHR_display_reference +#define EGL_KHR_display_reference 1 +#define EGL_TRACK_REFERENCES_KHR 0x3352 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBKHRPROC) (EGLDisplay dpy, EGLint name, EGLAttrib *value); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribKHR (EGLDisplay dpy, EGLint name, EGLAttrib *value); +#endif +#endif /* EGL_KHR_display_reference */ + +#ifndef EGL_KHR_fence_sync +#define EGL_KHR_fence_sync 1 +typedef khronos_utime_nanoseconds_t EGLTimeKHR; +#ifdef KHRONOS_SUPPORT_INT64 +#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 +#define EGL_SYNC_CONDITION_KHR 0x30F8 +#define EGL_SYNC_FENCE_KHR 0x30F9 +typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); +typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync); +EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); +EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); +#endif +#endif /* KHRONOS_SUPPORT_INT64 */ +#endif /* EGL_KHR_fence_sync */ + +#ifndef EGL_KHR_get_all_proc_addresses +#define EGL_KHR_get_all_proc_addresses 1 +#endif /* EGL_KHR_get_all_proc_addresses */ + +#ifndef EGL_KHR_gl_colorspace +#define EGL_KHR_gl_colorspace 1 +#define EGL_GL_COLORSPACE_KHR 0x309D +#define EGL_GL_COLORSPACE_SRGB_KHR 0x3089 +#define EGL_GL_COLORSPACE_LINEAR_KHR 0x308A +#endif /* EGL_KHR_gl_colorspace */ + +#ifndef EGL_KHR_gl_renderbuffer_image +#define EGL_KHR_gl_renderbuffer_image 1 +#define EGL_GL_RENDERBUFFER_KHR 0x30B9 +#endif /* EGL_KHR_gl_renderbuffer_image */ + +#ifndef EGL_KHR_gl_texture_2D_image +#define EGL_KHR_gl_texture_2D_image 1 +#define EGL_GL_TEXTURE_2D_KHR 0x30B1 +#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC +#endif /* EGL_KHR_gl_texture_2D_image */ + +#ifndef EGL_KHR_gl_texture_3D_image +#define EGL_KHR_gl_texture_3D_image 1 +#define EGL_GL_TEXTURE_3D_KHR 0x30B2 +#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD +#endif /* EGL_KHR_gl_texture_3D_image */ + +#ifndef EGL_KHR_gl_texture_cubemap_image +#define EGL_KHR_gl_texture_cubemap_image 1 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 +#endif /* EGL_KHR_gl_texture_cubemap_image */ + +#ifndef EGL_KHR_image +#define EGL_KHR_image 1 +typedef void *EGLImageKHR; +#define EGL_NATIVE_PIXMAP_KHR 0x30B0 +#define EGL_NO_IMAGE_KHR EGL_CAST(EGLImageKHR,0) +typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); +#endif +#endif /* EGL_KHR_image */ + +#ifndef EGL_KHR_image_base +#define EGL_KHR_image_base 1 +#define EGL_IMAGE_PRESERVED_KHR 0x30D2 +#endif /* EGL_KHR_image_base */ + +#ifndef EGL_KHR_image_pixmap +#define EGL_KHR_image_pixmap 1 +#endif /* EGL_KHR_image_pixmap */ + +#ifndef EGL_KHR_lock_surface +#define EGL_KHR_lock_surface 1 +#define EGL_READ_SURFACE_BIT_KHR 0x0001 +#define EGL_WRITE_SURFACE_BIT_KHR 0x0002 +#define EGL_LOCK_SURFACE_BIT_KHR 0x0080 +#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 +#define EGL_MATCH_FORMAT_KHR 0x3043 +#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 +#define EGL_FORMAT_RGB_565_KHR 0x30C1 +#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 +#define EGL_FORMAT_RGBA_8888_KHR 0x30C3 +#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 +#define EGL_LOCK_USAGE_HINT_KHR 0x30C5 +#define EGL_BITMAP_POINTER_KHR 0x30C6 +#define EGL_BITMAP_PITCH_KHR 0x30C7 +#define EGL_BITMAP_ORIGIN_KHR 0x30C8 +#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 +#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA +#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB +#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC +#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD +#define EGL_LOWER_LEFT_KHR 0x30CE +#define EGL_UPPER_LEFT_KHR 0x30CF +typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface); +#endif +#endif /* EGL_KHR_lock_surface */ + +#ifndef EGL_KHR_lock_surface2 +#define EGL_KHR_lock_surface2 1 +#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110 +#endif /* EGL_KHR_lock_surface2 */ + +#ifndef EGL_KHR_lock_surface3 +#define EGL_KHR_lock_surface3 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value); +#endif +#endif /* EGL_KHR_lock_surface3 */ + +#ifndef EGL_KHR_mutable_render_buffer +#define EGL_KHR_mutable_render_buffer 1 +#define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR 0x1000 +#endif /* EGL_KHR_mutable_render_buffer */ + +#ifndef EGL_KHR_no_config_context +#define EGL_KHR_no_config_context 1 +#define EGL_NO_CONFIG_KHR EGL_CAST(EGLConfig,0) +#endif /* EGL_KHR_no_config_context */ + +#ifndef EGL_KHR_partial_update +#define EGL_KHR_partial_update 1 +#define EGL_BUFFER_AGE_KHR 0x313D +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); +#endif +#endif /* EGL_KHR_partial_update */ + +#ifndef EGL_KHR_platform_android +#define EGL_KHR_platform_android 1 +#define EGL_PLATFORM_ANDROID_KHR 0x3141 +#endif /* EGL_KHR_platform_android */ + +#ifndef EGL_KHR_platform_gbm +#define EGL_KHR_platform_gbm 1 +#define EGL_PLATFORM_GBM_KHR 0x31D7 +#endif /* EGL_KHR_platform_gbm */ + +#ifndef EGL_KHR_platform_wayland +#define EGL_KHR_platform_wayland 1 +#define EGL_PLATFORM_WAYLAND_KHR 0x31D8 +#endif /* EGL_KHR_platform_wayland */ + +#ifndef EGL_KHR_platform_x11 +#define EGL_KHR_platform_x11 1 +#define EGL_PLATFORM_X11_KHR 0x31D5 +#define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6 +#endif /* EGL_KHR_platform_x11 */ + +#ifndef EGL_KHR_reusable_sync +#define EGL_KHR_reusable_sync 1 +#ifdef KHRONOS_SUPPORT_INT64 +#define EGL_SYNC_STATUS_KHR 0x30F1 +#define EGL_SIGNALED_KHR 0x30F2 +#define EGL_UNSIGNALED_KHR 0x30F3 +#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 +#define EGL_CONDITION_SATISFIED_KHR 0x30F6 +#define EGL_SYNC_TYPE_KHR 0x30F7 +#define EGL_SYNC_REUSABLE_KHR 0x30FA +#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 +#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull +#define EGL_NO_SYNC_KHR EGL_CAST(EGLSyncKHR,0) +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); +#endif +#endif /* KHRONOS_SUPPORT_INT64 */ +#endif /* EGL_KHR_reusable_sync */ + +#ifndef EGL_KHR_stream +#define EGL_KHR_stream 1 +typedef void *EGLStreamKHR; +typedef khronos_uint64_t EGLuint64KHR; +#ifdef KHRONOS_SUPPORT_INT64 +#define EGL_NO_STREAM_KHR EGL_CAST(EGLStreamKHR,0) +#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210 +#define EGL_PRODUCER_FRAME_KHR 0x3212 +#define EGL_CONSUMER_FRAME_KHR 0x3213 +#define EGL_STREAM_STATE_KHR 0x3214 +#define EGL_STREAM_STATE_CREATED_KHR 0x3215 +#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216 +#define EGL_STREAM_STATE_EMPTY_KHR 0x3217 +#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218 +#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219 +#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A +#define EGL_BAD_STREAM_KHR 0x321B +#define EGL_BAD_STATE_KHR 0x321C +typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream); +EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); +#endif +#endif /* KHRONOS_SUPPORT_INT64 */ +#endif /* EGL_KHR_stream */ + +#ifndef EGL_KHR_stream_attrib +#define EGL_KHR_stream_attrib 1 +#ifdef KHRONOS_SUPPORT_INT64 +typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMATTRIBKHRPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamAttribKHR (EGLDisplay dpy, const EGLAttrib *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value); +EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); +#endif +#endif /* KHRONOS_SUPPORT_INT64 */ +#endif /* EGL_KHR_stream_attrib */ + +#ifndef EGL_KHR_stream_consumer_gltexture +#define EGL_KHR_stream_consumer_gltexture 1 +#ifdef EGL_KHR_stream +#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream); +EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream); +EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream); +#endif +#endif /* EGL_KHR_stream */ +#endif /* EGL_KHR_stream_consumer_gltexture */ + +#ifndef EGL_KHR_stream_cross_process_fd +#define EGL_KHR_stream_cross_process_fd 1 +typedef int EGLNativeFileDescriptorKHR; +#ifdef EGL_KHR_stream +#define EGL_NO_FILE_DESCRIPTOR_KHR EGL_CAST(EGLNativeFileDescriptorKHR,-1) +typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); +typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream); +EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); +#endif +#endif /* EGL_KHR_stream */ +#endif /* EGL_KHR_stream_cross_process_fd */ + +#ifndef EGL_KHR_stream_fifo +#define EGL_KHR_stream_fifo 1 +#ifdef EGL_KHR_stream +#define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC +#define EGL_STREAM_TIME_NOW_KHR 0x31FD +#define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE +#define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); +#endif +#endif /* EGL_KHR_stream */ +#endif /* EGL_KHR_stream_fifo */ + +#ifndef EGL_KHR_stream_producer_aldatalocator +#define EGL_KHR_stream_producer_aldatalocator 1 +#ifdef EGL_KHR_stream +#endif /* EGL_KHR_stream */ +#endif /* EGL_KHR_stream_producer_aldatalocator */ + +#ifndef EGL_KHR_stream_producer_eglsurface +#define EGL_KHR_stream_producer_eglsurface 1 +#ifdef EGL_KHR_stream +#define EGL_STREAM_BIT_KHR 0x0800 +typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); +#endif +#endif /* EGL_KHR_stream */ +#endif /* EGL_KHR_stream_producer_eglsurface */ + +#ifndef EGL_KHR_surfaceless_context +#define EGL_KHR_surfaceless_context 1 +#endif /* EGL_KHR_surfaceless_context */ + +#ifndef EGL_KHR_swap_buffers_with_damage +#define EGL_KHR_swap_buffers_with_damage 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects); +#endif +#endif /* EGL_KHR_swap_buffers_with_damage */ + +#ifndef EGL_KHR_vg_parent_image +#define EGL_KHR_vg_parent_image 1 +#define EGL_VG_PARENT_IMAGE_KHR 0x30BA +#endif /* EGL_KHR_vg_parent_image */ + +#ifndef EGL_KHR_wait_sync +#define EGL_KHR_wait_sync 1 +typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); +#endif +#endif /* EGL_KHR_wait_sync */ + +#ifndef EGL_ANDROID_GLES_layers +#define EGL_ANDROID_GLES_layers 1 +#endif /* EGL_ANDROID_GLES_layers */ + +#ifndef EGL_ANDROID_blob_cache +#define EGL_ANDROID_blob_cache 1 +typedef khronos_ssize_t EGLsizeiANDROID; +typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize); +typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize); +typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); +#endif +#endif /* EGL_ANDROID_blob_cache */ + +#ifndef EGL_ANDROID_create_native_client_buffer +#define EGL_ANDROID_create_native_client_buffer 1 +#define EGL_NATIVE_BUFFER_USAGE_ANDROID 0x3143 +#define EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID 0x00000001 +#define EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID 0x00000002 +#define EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID 0x00000004 +typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC) (const EGLint *attrib_list); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLClientBuffer EGLAPIENTRY eglCreateNativeClientBufferANDROID (const EGLint *attrib_list); +#endif +#endif /* EGL_ANDROID_create_native_client_buffer */ + +#ifndef EGL_ANDROID_framebuffer_target +#define EGL_ANDROID_framebuffer_target 1 +#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147 +#endif /* EGL_ANDROID_framebuffer_target */ + +#ifndef EGL_ANDROID_front_buffer_auto_refresh +#define EGL_ANDROID_front_buffer_auto_refresh 1 +#define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C +#endif /* EGL_ANDROID_front_buffer_auto_refresh */ + +#ifndef EGL_ANDROID_get_frame_timestamps +#define EGL_ANDROID_get_frame_timestamps 1 +typedef khronos_stime_nanoseconds_t EGLnsecsANDROID; +#define EGL_TIMESTAMP_PENDING_ANDROID EGL_CAST(EGLnsecsANDROID,-2) +#define EGL_TIMESTAMP_INVALID_ANDROID EGL_CAST(EGLnsecsANDROID,-1) +#define EGL_TIMESTAMPS_ANDROID 0x3430 +#define EGL_COMPOSITE_DEADLINE_ANDROID 0x3431 +#define EGL_COMPOSITE_INTERVAL_ANDROID 0x3432 +#define EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID 0x3433 +#define EGL_REQUESTED_PRESENT_TIME_ANDROID 0x3434 +#define EGL_RENDERING_COMPLETE_TIME_ANDROID 0x3435 +#define EGL_COMPOSITION_LATCH_TIME_ANDROID 0x3436 +#define EGL_FIRST_COMPOSITION_START_TIME_ANDROID 0x3437 +#define EGL_LAST_COMPOSITION_START_TIME_ANDROID 0x3438 +#define EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID 0x3439 +#define EGL_DISPLAY_PRESENT_TIME_ANDROID 0x343A +#define EGL_DEQUEUE_READY_TIME_ANDROID 0x343B +#define EGL_READS_DONE_TIME_ANDROID 0x343C +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint name); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETNEXTFRAMEIDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint timestamp); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint name); +EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingANDROID (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values); +EGLAPI EGLBoolean EGLAPIENTRY eglGetNextFrameIdANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId); +EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint timestamp); +EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampsANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values); +#endif +#endif /* EGL_ANDROID_get_frame_timestamps */ + +#ifndef EGL_ANDROID_get_native_client_buffer +#define EGL_ANDROID_get_native_client_buffer 1 +struct AHardwareBuffer; +typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC) (const struct AHardwareBuffer *buffer); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLClientBuffer EGLAPIENTRY eglGetNativeClientBufferANDROID (const struct AHardwareBuffer *buffer); +#endif +#endif /* EGL_ANDROID_get_native_client_buffer */ + +#ifndef EGL_ANDROID_image_native_buffer +#define EGL_ANDROID_image_native_buffer 1 +#define EGL_NATIVE_BUFFER_ANDROID 0x3140 +#endif /* EGL_ANDROID_image_native_buffer */ + +#ifndef EGL_ANDROID_native_fence_sync +#define EGL_ANDROID_native_fence_sync 1 +#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 +#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 +#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 +#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1 +typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync); +#endif +#endif /* EGL_ANDROID_native_fence_sync */ + +#ifndef EGL_ANDROID_presentation_time +#define EGL_ANDROID_presentation_time 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLPRESENTATIONTIMEANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglPresentationTimeANDROID (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time); +#endif +#endif /* EGL_ANDROID_presentation_time */ + +#ifndef EGL_ANDROID_recordable +#define EGL_ANDROID_recordable 1 +#define EGL_RECORDABLE_ANDROID 0x3142 +#endif /* EGL_ANDROID_recordable */ + +#ifndef EGL_ANGLE_d3d_share_handle_client_buffer +#define EGL_ANGLE_d3d_share_handle_client_buffer 1 +#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 +#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */ + +#ifndef EGL_ANGLE_device_d3d +#define EGL_ANGLE_device_d3d 1 +#define EGL_D3D9_DEVICE_ANGLE 0x33A0 +#define EGL_D3D11_DEVICE_ANGLE 0x33A1 +#endif /* EGL_ANGLE_device_d3d */ + +#ifndef EGL_ANGLE_query_surface_pointer +#define EGL_ANGLE_query_surface_pointer 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); +#endif +#endif /* EGL_ANGLE_query_surface_pointer */ + +#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle +#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1 +#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */ + +#ifndef EGL_ANGLE_sync_control_rate +#define EGL_ANGLE_sync_control_rate 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMSCRATEANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglGetMscRateANGLE (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator); +#endif +#endif /* EGL_ANGLE_sync_control_rate */ + +#ifndef EGL_ANGLE_window_fixed_size +#define EGL_ANGLE_window_fixed_size 1 +#define EGL_FIXED_SIZE_ANGLE 0x3201 +#endif /* EGL_ANGLE_window_fixed_size */ + +#ifndef EGL_ARM_image_format +#define EGL_ARM_image_format 1 +#define EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM 0x3287 +#define EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM 0x3288 +#endif /* EGL_ARM_image_format */ + +#ifndef EGL_ARM_implicit_external_sync +#define EGL_ARM_implicit_external_sync 1 +#define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A +#endif /* EGL_ARM_implicit_external_sync */ + +#ifndef EGL_ARM_pixmap_multisample_discard +#define EGL_ARM_pixmap_multisample_discard 1 +#define EGL_DISCARD_SAMPLES_ARM 0x3286 +#endif /* EGL_ARM_pixmap_multisample_discard */ + +#ifndef EGL_EXT_bind_to_front +#define EGL_EXT_bind_to_front 1 +#define EGL_FRONT_BUFFER_EXT 0x3464 +#endif /* EGL_EXT_bind_to_front */ + +#ifndef EGL_EXT_buffer_age +#define EGL_EXT_buffer_age 1 +#define EGL_BUFFER_AGE_EXT 0x313D +#endif /* EGL_EXT_buffer_age */ + +#ifndef EGL_EXT_client_extensions +#define EGL_EXT_client_extensions 1 +#endif /* EGL_EXT_client_extensions */ + +#ifndef EGL_EXT_client_sync +#define EGL_EXT_client_sync 1 +#define EGL_SYNC_CLIENT_EXT 0x3364 +#define EGL_SYNC_CLIENT_SIGNAL_EXT 0x3365 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLCLIENTSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglClientSignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list); +#endif +#endif /* EGL_EXT_client_sync */ + +#ifndef EGL_EXT_compositor +#define EGL_EXT_compositor 1 +#define EGL_PRIMARY_COMPOSITOR_CONTEXT_EXT 0x3460 +#define EGL_EXTERNAL_REF_ID_EXT 0x3461 +#define EGL_COMPOSITOR_DROP_NEWEST_FRAME_EXT 0x3462 +#define EGL_COMPOSITOR_KEEP_NEWEST_FRAME_EXT 0x3463 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC) (const EGLint *external_ref_ids, EGLint num_entries); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC) (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC) (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC) (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC) (EGLint external_win_id); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETSIZEEXTPROC) (EGLint external_win_id, EGLint width, EGLint height); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSWAPPOLICYEXTPROC) (EGLint external_win_id, EGLint policy); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextListEXT (const EGLint *external_ref_ids, EGLint num_entries); +EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextAttributesEXT (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries); +EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowListEXT (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries); +EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowAttributesEXT (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries); +EGLAPI EGLBoolean EGLAPIENTRY eglCompositorBindTexWindowEXT (EGLint external_win_id); +EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetSizeEXT (EGLint external_win_id, EGLint width, EGLint height); +EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSwapPolicyEXT (EGLint external_win_id, EGLint policy); +#endif +#endif /* EGL_EXT_compositor */ + +#ifndef EGL_EXT_config_select_group +#define EGL_EXT_config_select_group 1 +#define EGL_CONFIG_SELECT_GROUP_EXT 0x34C0 +#endif /* EGL_EXT_config_select_group */ + +#ifndef EGL_EXT_create_context_robustness +#define EGL_EXT_create_context_robustness 1 +#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF +#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138 +#define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE +#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF +#endif /* EGL_EXT_create_context_robustness */ + +#ifndef EGL_EXT_device_base +#define EGL_EXT_device_base 1 +typedef void *EGLDeviceEXT; +#define EGL_NO_DEVICE_EXT EGL_CAST(EGLDeviceEXT,0) +#define EGL_BAD_DEVICE_EXT 0x322B +#define EGL_DEVICE_EXT 0x322C +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value); +typedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value); +EGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); +#endif +#endif /* EGL_EXT_device_base */ + +#ifndef EGL_EXT_device_drm +#define EGL_EXT_device_drm 1 +#define EGL_DRM_DEVICE_FILE_EXT 0x3233 +#define EGL_DRM_MASTER_FD_EXT 0x333C +#endif /* EGL_EXT_device_drm */ + +#ifndef EGL_EXT_device_drm_render_node +#define EGL_EXT_device_drm_render_node 1 +#define EGL_DRM_RENDER_NODE_FILE_EXT 0x3377 +#endif /* EGL_EXT_device_drm_render_node */ + +#ifndef EGL_EXT_device_enumeration +#define EGL_EXT_device_enumeration 1 +#endif /* EGL_EXT_device_enumeration */ + +#ifndef EGL_EXT_device_openwf +#define EGL_EXT_device_openwf 1 +#define EGL_OPENWF_DEVICE_ID_EXT 0x3237 +#define EGL_OPENWF_DEVICE_EXT 0x333D +#endif /* EGL_EXT_device_openwf */ + +#ifndef EGL_EXT_device_persistent_id +#define EGL_EXT_device_persistent_id 1 +#define EGL_DEVICE_UUID_EXT 0x335C +#define EGL_DRIVER_UUID_EXT 0x335D +#define EGL_DRIVER_NAME_EXT 0x335E +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEBINARYEXTPROC) (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceBinaryEXT (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size); +#endif +#endif /* EGL_EXT_device_persistent_id */ + +#ifndef EGL_EXT_device_query +#define EGL_EXT_device_query 1 +#endif /* EGL_EXT_device_query */ + +#ifndef EGL_EXT_device_query_name +#define EGL_EXT_device_query_name 1 +#define EGL_RENDERER_EXT 0x335F +#endif /* EGL_EXT_device_query_name */ + +#ifndef EGL_EXT_explicit_device +#define EGL_EXT_explicit_device 1 +#endif /* EGL_EXT_explicit_device */ + +#ifndef EGL_EXT_gl_colorspace_bt2020_linear +#define EGL_EXT_gl_colorspace_bt2020_linear 1 +#define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F +#endif /* EGL_EXT_gl_colorspace_bt2020_linear */ + +#ifndef EGL_EXT_gl_colorspace_bt2020_pq +#define EGL_EXT_gl_colorspace_bt2020_pq 1 +#define EGL_GL_COLORSPACE_BT2020_PQ_EXT 0x3340 +#endif /* EGL_EXT_gl_colorspace_bt2020_pq */ + +#ifndef EGL_EXT_gl_colorspace_display_p3 +#define EGL_EXT_gl_colorspace_display_p3 1 +#define EGL_GL_COLORSPACE_DISPLAY_P3_EXT 0x3363 +#endif /* EGL_EXT_gl_colorspace_display_p3 */ + +#ifndef EGL_EXT_gl_colorspace_display_p3_linear +#define EGL_EXT_gl_colorspace_display_p3_linear 1 +#define EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT 0x3362 +#endif /* EGL_EXT_gl_colorspace_display_p3_linear */ + +#ifndef EGL_EXT_gl_colorspace_display_p3_passthrough +#define EGL_EXT_gl_colorspace_display_p3_passthrough 1 +#define EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT 0x3490 +#endif /* EGL_EXT_gl_colorspace_display_p3_passthrough */ + +#ifndef EGL_EXT_gl_colorspace_scrgb +#define EGL_EXT_gl_colorspace_scrgb 1 +#define EGL_GL_COLORSPACE_SCRGB_EXT 0x3351 +#endif /* EGL_EXT_gl_colorspace_scrgb */ + +#ifndef EGL_EXT_gl_colorspace_scrgb_linear +#define EGL_EXT_gl_colorspace_scrgb_linear 1 +#define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT 0x3350 +#endif /* EGL_EXT_gl_colorspace_scrgb_linear */ + +#ifndef EGL_EXT_image_dma_buf_import +#define EGL_EXT_image_dma_buf_import 1 +#define EGL_LINUX_DMA_BUF_EXT 0x3270 +#define EGL_LINUX_DRM_FOURCC_EXT 0x3271 +#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272 +#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273 +#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274 +#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275 +#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276 +#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277 +#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278 +#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279 +#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A +#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B +#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C +#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D +#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E +#define EGL_ITU_REC601_EXT 0x327F +#define EGL_ITU_REC709_EXT 0x3280 +#define EGL_ITU_REC2020_EXT 0x3281 +#define EGL_YUV_FULL_RANGE_EXT 0x3282 +#define EGL_YUV_NARROW_RANGE_EXT 0x3283 +#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284 +#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285 +#endif /* EGL_EXT_image_dma_buf_import */ + +#ifndef EGL_EXT_image_dma_buf_import_modifiers +#define EGL_EXT_image_dma_buf_import_modifiers 1 +#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440 +#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441 +#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442 +#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443 +#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444 +#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445 +#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446 +#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447 +#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448 +#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449 +#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFFORMATSEXTPROC) (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFMODIFIERSEXTPROC) (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufFormatsEXT (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufModifiersEXT (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers); +#endif +#endif /* EGL_EXT_image_dma_buf_import_modifiers */ + +#ifndef EGL_EXT_image_gl_colorspace +#define EGL_EXT_image_gl_colorspace 1 +#define EGL_GL_COLORSPACE_DEFAULT_EXT 0x314D +#endif /* EGL_EXT_image_gl_colorspace */ + +#ifndef EGL_EXT_image_implicit_sync_control +#define EGL_EXT_image_implicit_sync_control 1 +#define EGL_IMPORT_SYNC_TYPE_EXT 0x3470 +#define EGL_IMPORT_IMPLICIT_SYNC_EXT 0x3471 +#define EGL_IMPORT_EXPLICIT_SYNC_EXT 0x3472 +#endif /* EGL_EXT_image_implicit_sync_control */ + +#ifndef EGL_EXT_multiview_window +#define EGL_EXT_multiview_window 1 +#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134 +#endif /* EGL_EXT_multiview_window */ + +#ifndef EGL_EXT_output_base +#define EGL_EXT_output_base 1 +typedef void *EGLOutputLayerEXT; +typedef void *EGLOutputPortEXT; +#define EGL_NO_OUTPUT_LAYER_EXT EGL_CAST(EGLOutputLayerEXT,0) +#define EGL_NO_OUTPUT_PORT_EXT EGL_CAST(EGLOutputPortEXT,0) +#define EGL_BAD_OUTPUT_LAYER_EXT 0x322D +#define EGL_BAD_OUTPUT_PORT_EXT 0x322E +#define EGL_SWAP_INTERVAL_EXT 0x322F +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value); +typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value); +typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers); +EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports); +EGLAPI EGLBoolean EGLAPIENTRY eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value); +EGLAPI const char *EGLAPIENTRY eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name); +EGLAPI EGLBoolean EGLAPIENTRY eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value); +EGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name); +#endif +#endif /* EGL_EXT_output_base */ + +#ifndef EGL_EXT_output_drm +#define EGL_EXT_output_drm 1 +#define EGL_DRM_CRTC_EXT 0x3234 +#define EGL_DRM_PLANE_EXT 0x3235 +#define EGL_DRM_CONNECTOR_EXT 0x3236 +#endif /* EGL_EXT_output_drm */ + +#ifndef EGL_EXT_output_openwf +#define EGL_EXT_output_openwf 1 +#define EGL_OPENWF_PIPELINE_ID_EXT 0x3238 +#define EGL_OPENWF_PORT_ID_EXT 0x3239 +#endif /* EGL_EXT_output_openwf */ + +#ifndef EGL_EXT_pixel_format_float +#define EGL_EXT_pixel_format_float 1 +#define EGL_COLOR_COMPONENT_TYPE_EXT 0x3339 +#define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A +#define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B +#endif /* EGL_EXT_pixel_format_float */ + +#ifndef EGL_EXT_platform_base +#define EGL_EXT_platform_base 1 +typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list); +typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list); +typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list); +EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list); +EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list); +#endif +#endif /* EGL_EXT_platform_base */ + +#ifndef EGL_EXT_platform_device +#define EGL_EXT_platform_device 1 +#define EGL_PLATFORM_DEVICE_EXT 0x313F +#endif /* EGL_EXT_platform_device */ + +#ifndef EGL_EXT_platform_wayland +#define EGL_EXT_platform_wayland 1 +#define EGL_PLATFORM_WAYLAND_EXT 0x31D8 +#endif /* EGL_EXT_platform_wayland */ + +#ifndef EGL_EXT_platform_x11 +#define EGL_EXT_platform_x11 1 +#define EGL_PLATFORM_X11_EXT 0x31D5 +#define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6 +#endif /* EGL_EXT_platform_x11 */ + +#ifndef EGL_EXT_platform_xcb +#define EGL_EXT_platform_xcb 1 +#define EGL_PLATFORM_XCB_EXT 0x31DC +#define EGL_PLATFORM_XCB_SCREEN_EXT 0x31DE +#endif /* EGL_EXT_platform_xcb */ + +#ifndef EGL_EXT_present_opaque +#define EGL_EXT_present_opaque 1 +#define EGL_PRESENT_OPAQUE_EXT 0x31DF +#endif /* EGL_EXT_present_opaque */ + +#ifndef EGL_EXT_protected_content +#define EGL_EXT_protected_content 1 +#define EGL_PROTECTED_CONTENT_EXT 0x32C0 +#endif /* EGL_EXT_protected_content */ + +#ifndef EGL_EXT_protected_surface +#define EGL_EXT_protected_surface 1 +#endif /* EGL_EXT_protected_surface */ + +#ifndef EGL_EXT_stream_consumer_egloutput +#define EGL_EXT_stream_consumer_egloutput 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer); +#endif +#endif /* EGL_EXT_stream_consumer_egloutput */ + +#ifndef EGL_EXT_surface_CTA861_3_metadata +#define EGL_EXT_surface_CTA861_3_metadata 1 +#define EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT 0x3360 +#define EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT 0x3361 +#endif /* EGL_EXT_surface_CTA861_3_metadata */ + +#ifndef EGL_EXT_surface_SMPTE2086_metadata +#define EGL_EXT_surface_SMPTE2086_metadata 1 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT 0x3341 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT 0x3342 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT 0x3343 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT 0x3344 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT 0x3345 +#define EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT 0x3346 +#define EGL_SMPTE2086_WHITE_POINT_X_EXT 0x3347 +#define EGL_SMPTE2086_WHITE_POINT_Y_EXT 0x3348 +#define EGL_SMPTE2086_MAX_LUMINANCE_EXT 0x3349 +#define EGL_SMPTE2086_MIN_LUMINANCE_EXT 0x334A +#define EGL_METADATA_SCALING_EXT 50000 +#endif /* EGL_EXT_surface_SMPTE2086_metadata */ + +#ifndef EGL_EXT_surface_compression +#define EGL_EXT_surface_compression 1 +#define EGL_SURFACE_COMPRESSION_EXT 0x34B0 +#define EGL_SURFACE_COMPRESSION_PLANE1_EXT 0x328E +#define EGL_SURFACE_COMPRESSION_PLANE2_EXT 0x328F +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT 0x34B1 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT 0x34B2 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT 0x34B4 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT 0x34B5 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT 0x34B6 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT 0x34B7 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT 0x34B8 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT 0x34B9 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT 0x34BA +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT 0x34BB +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT 0x34BC +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT 0x34BD +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT 0x34BE +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT 0x34BF +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSUPPORTEDCOMPRESSIONRATESEXTPROC) (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQuerySupportedCompressionRatesEXT (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates); +#endif +#endif /* EGL_EXT_surface_compression */ + +#ifndef EGL_EXT_swap_buffers_with_damage +#define EGL_EXT_swap_buffers_with_damage 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects); +#endif +#endif /* EGL_EXT_swap_buffers_with_damage */ + +#ifndef EGL_EXT_sync_reuse +#define EGL_EXT_sync_reuse 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglUnsignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list); +#endif +#endif /* EGL_EXT_sync_reuse */ + +#ifndef EGL_EXT_yuv_surface +#define EGL_EXT_yuv_surface 1 +#define EGL_YUV_ORDER_EXT 0x3301 +#define EGL_YUV_NUMBER_OF_PLANES_EXT 0x3311 +#define EGL_YUV_SUBSAMPLE_EXT 0x3312 +#define EGL_YUV_DEPTH_RANGE_EXT 0x3317 +#define EGL_YUV_CSC_STANDARD_EXT 0x330A +#define EGL_YUV_PLANE_BPP_EXT 0x331A +#define EGL_YUV_BUFFER_EXT 0x3300 +#define EGL_YUV_ORDER_YUV_EXT 0x3302 +#define EGL_YUV_ORDER_YVU_EXT 0x3303 +#define EGL_YUV_ORDER_YUYV_EXT 0x3304 +#define EGL_YUV_ORDER_UYVY_EXT 0x3305 +#define EGL_YUV_ORDER_YVYU_EXT 0x3306 +#define EGL_YUV_ORDER_VYUY_EXT 0x3307 +#define EGL_YUV_ORDER_AYUV_EXT 0x3308 +#define EGL_YUV_SUBSAMPLE_4_2_0_EXT 0x3313 +#define EGL_YUV_SUBSAMPLE_4_2_2_EXT 0x3314 +#define EGL_YUV_SUBSAMPLE_4_4_4_EXT 0x3315 +#define EGL_YUV_DEPTH_RANGE_LIMITED_EXT 0x3318 +#define EGL_YUV_DEPTH_RANGE_FULL_EXT 0x3319 +#define EGL_YUV_CSC_STANDARD_601_EXT 0x330B +#define EGL_YUV_CSC_STANDARD_709_EXT 0x330C +#define EGL_YUV_CSC_STANDARD_2020_EXT 0x330D +#define EGL_YUV_PLANE_BPP_0_EXT 0x331B +#define EGL_YUV_PLANE_BPP_8_EXT 0x331C +#define EGL_YUV_PLANE_BPP_10_EXT 0x331D +#endif /* EGL_EXT_yuv_surface */ + +#ifndef EGL_HI_clientpixmap +#define EGL_HI_clientpixmap 1 +struct EGLClientPixmapHI { + void *pData; + EGLint iWidth; + EGLint iHeight; + EGLint iStride; +}; +#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74 +typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap); +#endif +#endif /* EGL_HI_clientpixmap */ + +#ifndef EGL_HI_colorformats +#define EGL_HI_colorformats 1 +#define EGL_COLOR_FORMAT_HI 0x8F70 +#define EGL_COLOR_RGB_HI 0x8F71 +#define EGL_COLOR_RGBA_HI 0x8F72 +#define EGL_COLOR_ARGB_HI 0x8F73 +#endif /* EGL_HI_colorformats */ + +#ifndef EGL_IMG_context_priority +#define EGL_IMG_context_priority 1 +#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100 +#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101 +#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102 +#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103 +#endif /* EGL_IMG_context_priority */ + +#ifndef EGL_IMG_image_plane_attribs +#define EGL_IMG_image_plane_attribs 1 +#define EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG 0x3105 +#define EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG 0x3106 +#endif /* EGL_IMG_image_plane_attribs */ + +#ifndef EGL_MESA_drm_image +#define EGL_MESA_drm_image 1 +#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 +#define EGL_DRM_BUFFER_USE_MESA 0x31D1 +#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 +#define EGL_DRM_BUFFER_MESA 0x31D3 +#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 +#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 +#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 +#define EGL_DRM_BUFFER_USE_CURSOR_MESA 0x00000004 +typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); +#endif +#endif /* EGL_MESA_drm_image */ + +#ifndef EGL_MESA_image_dma_buf_export +#define EGL_MESA_image_dma_buf_export 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers); +EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets); +#endif +#endif /* EGL_MESA_image_dma_buf_export */ + +#ifndef EGL_MESA_platform_gbm +#define EGL_MESA_platform_gbm 1 +#define EGL_PLATFORM_GBM_MESA 0x31D7 +#endif /* EGL_MESA_platform_gbm */ + +#ifndef EGL_MESA_platform_surfaceless +#define EGL_MESA_platform_surfaceless 1 +#define EGL_PLATFORM_SURFACELESS_MESA 0x31DD +#endif /* EGL_MESA_platform_surfaceless */ + +#ifndef EGL_MESA_query_driver +#define EGL_MESA_query_driver 1 +typedef char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERCONFIGPROC) (EGLDisplay dpy); +typedef const char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERNAMEPROC) (EGLDisplay dpy); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI char *EGLAPIENTRY eglGetDisplayDriverConfig (EGLDisplay dpy); +EGLAPI const char *EGLAPIENTRY eglGetDisplayDriverName (EGLDisplay dpy); +#endif +#endif /* EGL_MESA_query_driver */ + +#ifndef EGL_NOK_swap_region +#define EGL_NOK_swap_region 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); +#endif +#endif /* EGL_NOK_swap_region */ + +#ifndef EGL_NOK_swap_region2 +#define EGL_NOK_swap_region2 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); +#endif +#endif /* EGL_NOK_swap_region2 */ + +#ifndef EGL_NOK_texture_from_pixmap +#define EGL_NOK_texture_from_pixmap 1 +#define EGL_Y_INVERTED_NOK 0x307F +#endif /* EGL_NOK_texture_from_pixmap */ + +#ifndef EGL_NV_3dvision_surface +#define EGL_NV_3dvision_surface 1 +#define EGL_AUTO_STEREO_NV 0x3136 +#endif /* EGL_NV_3dvision_surface */ + +#ifndef EGL_NV_context_priority_realtime +#define EGL_NV_context_priority_realtime 1 +#define EGL_CONTEXT_PRIORITY_REALTIME_NV 0x3357 +#endif /* EGL_NV_context_priority_realtime */ + +#ifndef EGL_NV_coverage_sample +#define EGL_NV_coverage_sample 1 +#define EGL_COVERAGE_BUFFERS_NV 0x30E0 +#define EGL_COVERAGE_SAMPLES_NV 0x30E1 +#endif /* EGL_NV_coverage_sample */ + +#ifndef EGL_NV_coverage_sample_resolve +#define EGL_NV_coverage_sample_resolve 1 +#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131 +#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132 +#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133 +#endif /* EGL_NV_coverage_sample_resolve */ + +#ifndef EGL_NV_cuda_event +#define EGL_NV_cuda_event 1 +#define EGL_CUDA_EVENT_HANDLE_NV 0x323B +#define EGL_SYNC_CUDA_EVENT_NV 0x323C +#define EGL_SYNC_CUDA_EVENT_COMPLETE_NV 0x323D +#endif /* EGL_NV_cuda_event */ + +#ifndef EGL_NV_depth_nonlinear +#define EGL_NV_depth_nonlinear 1 +#define EGL_DEPTH_ENCODING_NV 0x30E2 +#define EGL_DEPTH_ENCODING_NONE_NV 0 +#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3 +#endif /* EGL_NV_depth_nonlinear */ + +#ifndef EGL_NV_device_cuda +#define EGL_NV_device_cuda 1 +#define EGL_CUDA_DEVICE_NV 0x323A +#endif /* EGL_NV_device_cuda */ + +#ifndef EGL_NV_native_query +#define EGL_NV_native_query 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); +#endif +#endif /* EGL_NV_native_query */ + +#ifndef EGL_NV_post_convert_rounding +#define EGL_NV_post_convert_rounding 1 +#endif /* EGL_NV_post_convert_rounding */ + +#ifndef EGL_NV_post_sub_buffer +#define EGL_NV_post_sub_buffer 1 +#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE +typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); +#endif +#endif /* EGL_NV_post_sub_buffer */ + +#ifndef EGL_NV_quadruple_buffer +#define EGL_NV_quadruple_buffer 1 +#define EGL_QUADRUPLE_BUFFER_NV 0x3231 +#endif /* EGL_NV_quadruple_buffer */ + +#ifndef EGL_NV_robustness_video_memory_purge +#define EGL_NV_robustness_video_memory_purge 1 +#define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C +#endif /* EGL_NV_robustness_video_memory_purge */ + +#ifndef EGL_NV_stream_consumer_eglimage +#define EGL_NV_stream_consumer_eglimage 1 +#define EGL_STREAM_CONSUMER_IMAGE_NV 0x3373 +#define EGL_STREAM_IMAGE_ADD_NV 0x3374 +#define EGL_STREAM_IMAGE_REMOVE_NV 0x3375 +#define EGL_STREAM_IMAGE_AVAILABLE_NV 0x3376 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list); +typedef EGLint (EGLAPIENTRYP PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMACQUIREIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMRELEASEIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list); +EGLAPI EGLint EGLAPIENTRY eglQueryStreamConsumerEventNV (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux); +EGLAPI EGLBoolean EGLAPIENTRY eglStreamAcquireImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync); +EGLAPI EGLBoolean EGLAPIENTRY eglStreamReleaseImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync); +#endif +#endif /* EGL_NV_stream_consumer_eglimage */ + +#ifndef EGL_NV_stream_consumer_gltexture_yuv +#define EGL_NV_stream_consumer_gltexture_yuv 1 +#define EGL_YUV_PLANE0_TEXTURE_UNIT_NV 0x332C +#define EGL_YUV_PLANE1_TEXTURE_UNIT_NV 0x332D +#define EGL_YUV_PLANE2_TEXTURE_UNIT_NV 0x332E +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalAttribsNV (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); +#endif +#endif /* EGL_NV_stream_consumer_gltexture_yuv */ + +#ifndef EGL_NV_stream_cross_display +#define EGL_NV_stream_cross_display 1 +#define EGL_STREAM_CROSS_DISPLAY_NV 0x334E +#endif /* EGL_NV_stream_cross_display */ + +#ifndef EGL_NV_stream_cross_object +#define EGL_NV_stream_cross_object 1 +#define EGL_STREAM_CROSS_OBJECT_NV 0x334D +#endif /* EGL_NV_stream_cross_object */ + +#ifndef EGL_NV_stream_cross_partition +#define EGL_NV_stream_cross_partition 1 +#define EGL_STREAM_CROSS_PARTITION_NV 0x323F +#endif /* EGL_NV_stream_cross_partition */ + +#ifndef EGL_NV_stream_cross_process +#define EGL_NV_stream_cross_process 1 +#define EGL_STREAM_CROSS_PROCESS_NV 0x3245 +#endif /* EGL_NV_stream_cross_process */ + +#ifndef EGL_NV_stream_cross_system +#define EGL_NV_stream_cross_system 1 +#define EGL_STREAM_CROSS_SYSTEM_NV 0x334F +#endif /* EGL_NV_stream_cross_system */ + +#ifndef EGL_NV_stream_dma +#define EGL_NV_stream_dma 1 +#define EGL_STREAM_DMA_NV 0x3371 +#define EGL_STREAM_DMA_SERVER_NV 0x3372 +#endif /* EGL_NV_stream_dma */ + +#ifndef EGL_NV_stream_fifo_next +#define EGL_NV_stream_fifo_next 1 +#define EGL_PENDING_FRAME_NV 0x3329 +#define EGL_STREAM_TIME_PENDING_NV 0x332A +#endif /* EGL_NV_stream_fifo_next */ + +#ifndef EGL_NV_stream_fifo_synchronous +#define EGL_NV_stream_fifo_synchronous 1 +#define EGL_STREAM_FIFO_SYNCHRONOUS_NV 0x3336 +#endif /* EGL_NV_stream_fifo_synchronous */ + +#ifndef EGL_NV_stream_flush +#define EGL_NV_stream_flush 1 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMFLUSHNVPROC) (EGLDisplay dpy, EGLStreamKHR stream); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglStreamFlushNV (EGLDisplay dpy, EGLStreamKHR stream); +#endif +#endif /* EGL_NV_stream_flush */ + +#ifndef EGL_NV_stream_frame_limits +#define EGL_NV_stream_frame_limits 1 +#define EGL_PRODUCER_MAX_FRAME_HINT_NV 0x3337 +#define EGL_CONSUMER_MAX_FRAME_HINT_NV 0x3338 +#endif /* EGL_NV_stream_frame_limits */ + +#ifndef EGL_NV_stream_metadata +#define EGL_NV_stream_metadata 1 +#define EGL_MAX_STREAM_METADATA_BLOCKS_NV 0x3250 +#define EGL_MAX_STREAM_METADATA_BLOCK_SIZE_NV 0x3251 +#define EGL_MAX_STREAM_METADATA_TOTAL_SIZE_NV 0x3252 +#define EGL_PRODUCER_METADATA_NV 0x3253 +#define EGL_CONSUMER_METADATA_NV 0x3254 +#define EGL_PENDING_METADATA_NV 0x3328 +#define EGL_METADATA0_SIZE_NV 0x3255 +#define EGL_METADATA1_SIZE_NV 0x3256 +#define EGL_METADATA2_SIZE_NV 0x3257 +#define EGL_METADATA3_SIZE_NV 0x3258 +#define EGL_METADATA0_TYPE_NV 0x3259 +#define EGL_METADATA1_TYPE_NV 0x325A +#define EGL_METADATA2_TYPE_NV 0x325B +#define EGL_METADATA3_TYPE_NV 0x325C +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBNVPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribNV (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); +EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data); +#endif +#endif /* EGL_NV_stream_metadata */ + +#ifndef EGL_NV_stream_origin +#define EGL_NV_stream_origin 1 +#define EGL_STREAM_FRAME_ORIGIN_X_NV 0x3366 +#define EGL_STREAM_FRAME_ORIGIN_Y_NV 0x3367 +#define EGL_STREAM_FRAME_MAJOR_AXIS_NV 0x3368 +#define EGL_CONSUMER_AUTO_ORIENTATION_NV 0x3369 +#define EGL_PRODUCER_AUTO_ORIENTATION_NV 0x336A +#define EGL_LEFT_NV 0x336B +#define EGL_RIGHT_NV 0x336C +#define EGL_TOP_NV 0x336D +#define EGL_BOTTOM_NV 0x336E +#define EGL_X_AXIS_NV 0x336F +#define EGL_Y_AXIS_NV 0x3370 +#endif /* EGL_NV_stream_origin */ + +#ifndef EGL_NV_stream_remote +#define EGL_NV_stream_remote 1 +#define EGL_STREAM_STATE_INITIALIZING_NV 0x3240 +#define EGL_STREAM_TYPE_NV 0x3241 +#define EGL_STREAM_PROTOCOL_NV 0x3242 +#define EGL_STREAM_ENDPOINT_NV 0x3243 +#define EGL_STREAM_LOCAL_NV 0x3244 +#define EGL_STREAM_PRODUCER_NV 0x3247 +#define EGL_STREAM_CONSUMER_NV 0x3248 +#define EGL_STREAM_PROTOCOL_FD_NV 0x3246 +#endif /* EGL_NV_stream_remote */ + +#ifndef EGL_NV_stream_reset +#define EGL_NV_stream_reset 1 +#define EGL_SUPPORT_RESET_NV 0x3334 +#define EGL_SUPPORT_REUSE_NV 0x3335 +typedef EGLBoolean (EGLAPIENTRYP PFNEGLRESETSTREAMNVPROC) (EGLDisplay dpy, EGLStreamKHR stream); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglResetStreamNV (EGLDisplay dpy, EGLStreamKHR stream); +#endif +#endif /* EGL_NV_stream_reset */ + +#ifndef EGL_NV_stream_socket +#define EGL_NV_stream_socket 1 +#define EGL_STREAM_PROTOCOL_SOCKET_NV 0x324B +#define EGL_SOCKET_HANDLE_NV 0x324C +#define EGL_SOCKET_TYPE_NV 0x324D +#endif /* EGL_NV_stream_socket */ + +#ifndef EGL_NV_stream_socket_inet +#define EGL_NV_stream_socket_inet 1 +#define EGL_SOCKET_TYPE_INET_NV 0x324F +#endif /* EGL_NV_stream_socket_inet */ + +#ifndef EGL_NV_stream_socket_unix +#define EGL_NV_stream_socket_unix 1 +#define EGL_SOCKET_TYPE_UNIX_NV 0x324E +#endif /* EGL_NV_stream_socket_unix */ + +#ifndef EGL_NV_stream_sync +#define EGL_NV_stream_sync 1 +#define EGL_SYNC_NEW_FRAME_NV 0x321F +typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list); +#endif +#endif /* EGL_NV_stream_sync */ + +#ifndef EGL_NV_sync +#define EGL_NV_sync 1 +typedef void *EGLSyncNV; +typedef khronos_utime_nanoseconds_t EGLTimeNV; +#ifdef KHRONOS_SUPPORT_INT64 +#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6 +#define EGL_SYNC_STATUS_NV 0x30E7 +#define EGL_SIGNALED_NV 0x30E8 +#define EGL_UNSIGNALED_NV 0x30E9 +#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001 +#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull +#define EGL_ALREADY_SIGNALED_NV 0x30EA +#define EGL_TIMEOUT_EXPIRED_NV 0x30EB +#define EGL_CONDITION_SATISFIED_NV 0x30EC +#define EGL_SYNC_TYPE_NV 0x30ED +#define EGL_SYNC_CONDITION_NV 0x30EE +#define EGL_SYNC_FENCE_NV 0x30EF +#define EGL_NO_SYNC_NV EGL_CAST(EGLSyncNV,0) +typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync); +typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync); +EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync); +EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); +EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode); +EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value); +#endif +#endif /* KHRONOS_SUPPORT_INT64 */ +#endif /* EGL_NV_sync */ + +#ifndef EGL_NV_system_time +#define EGL_NV_system_time 1 +typedef khronos_utime_nanoseconds_t EGLuint64NV; +#ifdef KHRONOS_SUPPORT_INT64 +typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void); +typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void); +EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void); +#endif +#endif /* KHRONOS_SUPPORT_INT64 */ +#endif /* EGL_NV_system_time */ + +#ifndef EGL_NV_triple_buffer +#define EGL_NV_triple_buffer 1 +#define EGL_TRIPLE_BUFFER_NV 0x3230 +#endif /* EGL_NV_triple_buffer */ + +#ifndef EGL_TIZEN_image_native_buffer +#define EGL_TIZEN_image_native_buffer 1 +#define EGL_NATIVE_BUFFER_TIZEN 0x32A0 +#endif /* EGL_TIZEN_image_native_buffer */ + +#ifndef EGL_TIZEN_image_native_surface +#define EGL_TIZEN_image_native_surface 1 +#define EGL_NATIVE_SURFACE_TIZEN 0x32A1 +#endif /* EGL_TIZEN_image_native_surface */ + +#ifndef EGL_WL_bind_wayland_display +#define EGL_WL_bind_wayland_display 1 +#define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC +#define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC +#define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC +struct wl_display; +struct wl_resource; +#define EGL_WAYLAND_BUFFER_WL 0x31D5 +#define EGL_WAYLAND_PLANE_WL 0x31D6 +#define EGL_TEXTURE_Y_U_V_WL 0x31D7 +#define EGL_TEXTURE_Y_UV_WL 0x31D8 +#define EGL_TEXTURE_Y_XUXV_WL 0x31D9 +#define EGL_TEXTURE_EXTERNAL_WL 0x31DA +#define EGL_WAYLAND_Y_INVERTED_WL 0x31DB +typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWLPROC) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display); +EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value); +#endif +#endif /* EGL_WL_bind_wayland_display */ + +#ifndef EGL_WL_create_wayland_buffer_from_image +#define EGL_WL_create_wayland_buffer_from_image 1 +#define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC +struct wl_buffer; +typedef struct wl_buffer *(EGLAPIENTRYP PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC) (EGLDisplay dpy, EGLImageKHR image); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI struct wl_buffer *EGLAPIENTRY eglCreateWaylandBufferFromImageWL (EGLDisplay dpy, EGLImageKHR image); +#endif +#endif /* EGL_WL_create_wayland_buffer_from_image */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/glew/auto/EGL-Registry/api/EGL/eglplatform.h b/glew/auto/EGL-Registry/api/EGL/eglplatform.h new file mode 100644 index 0000000..99362a2 --- /dev/null +++ b/glew/auto/EGL-Registry/api/EGL/eglplatform.h @@ -0,0 +1,169 @@ +#ifndef __eglplatform_h_ +#define __eglplatform_h_ + +/* +** Copyright 2007-2020 The Khronos Group Inc. +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* Platform-specific types and definitions for egl.h + * + * Adopters may modify khrplatform.h and this file to suit their platform. + * You are encouraged to submit all modifications to the Khronos group so that + * they can be included in future versions of this file. Please submit changes + * by filing an issue or pull request on the public Khronos EGL Registry, at + * https://www.github.com/KhronosGroup/EGL-Registry/ + */ + +#include + +/* Macros used in EGL function prototype declarations. + * + * EGL functions should be prototyped as: + * + * EGLAPI return-type EGLAPIENTRY eglFunction(arguments); + * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments); + * + * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h + */ + +#ifndef EGLAPI +#define EGLAPI KHRONOS_APICALL +#endif + +#ifndef EGLAPIENTRY +#define EGLAPIENTRY KHRONOS_APIENTRY +#endif +#define EGLAPIENTRYP EGLAPIENTRY* + +/* The types NativeDisplayType, NativeWindowType, and NativePixmapType + * are aliases of window-system-dependent types, such as X Display * or + * Windows Device Context. They must be defined in platform-specific + * code below. The EGL-prefixed versions of Native*Type are the same + * types, renamed in EGL 1.3 so all types in the API start with "EGL". + * + * Khronos STRONGLY RECOMMENDS that you use the default definitions + * provided below, since these changes affect both binary and source + * portability of applications using EGL running on different EGL + * implementations. + */ + +#if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES) + +typedef void *EGLNativeDisplayType; +typedef void *EGLNativePixmapType; +typedef void *EGLNativeWindowType; + +#elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN 1 +#endif +#include + +typedef HDC EGLNativeDisplayType; +typedef HBITMAP EGLNativePixmapType; +typedef HWND EGLNativeWindowType; + +#elif defined(__EMSCRIPTEN__) + +typedef int EGLNativeDisplayType; +typedef int EGLNativePixmapType; +typedef int EGLNativeWindowType; + +#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */ + +typedef int EGLNativeDisplayType; +typedef void *EGLNativePixmapType; +typedef void *EGLNativeWindowType; + +#elif defined(WL_EGL_PLATFORM) + +typedef struct wl_display *EGLNativeDisplayType; +typedef struct wl_egl_pixmap *EGLNativePixmapType; +typedef struct wl_egl_window *EGLNativeWindowType; + +#elif defined(__GBM__) + +typedef struct gbm_device *EGLNativeDisplayType; +typedef struct gbm_bo *EGLNativePixmapType; +typedef void *EGLNativeWindowType; + +#elif defined(__ANDROID__) || defined(ANDROID) + +struct ANativeWindow; +struct egl_native_pixmap_t; + +typedef void* EGLNativeDisplayType; +typedef struct egl_native_pixmap_t* EGLNativePixmapType; +typedef struct ANativeWindow* EGLNativeWindowType; + +#elif defined(USE_OZONE) + +typedef intptr_t EGLNativeDisplayType; +typedef intptr_t EGLNativePixmapType; +typedef intptr_t EGLNativeWindowType; + +#elif defined(USE_X11) + +/* X11 (tentative) */ +#include +#include + +typedef Display *EGLNativeDisplayType; +typedef Pixmap EGLNativePixmapType; +typedef Window EGLNativeWindowType; + +#elif defined(__unix__) + +typedef void *EGLNativeDisplayType; +typedef khronos_uintptr_t EGLNativePixmapType; +typedef khronos_uintptr_t EGLNativeWindowType; + +#elif defined(__APPLE__) + +typedef int EGLNativeDisplayType; +typedef void *EGLNativePixmapType; +typedef void *EGLNativeWindowType; + +#elif defined(__HAIKU__) + +#include + +typedef void *EGLNativeDisplayType; +typedef khronos_uintptr_t EGLNativePixmapType; +typedef khronos_uintptr_t EGLNativeWindowType; + +#elif defined(__Fuchsia__) + +typedef void *EGLNativeDisplayType; +typedef khronos_uintptr_t EGLNativePixmapType; +typedef khronos_uintptr_t EGLNativeWindowType; + +#else +#error "Platform not recognized" +#endif + +/* EGL 1.2 types, renamed for consistency in EGL 1.3 */ +typedef EGLNativeDisplayType NativeDisplayType; +typedef EGLNativePixmapType NativePixmapType; +typedef EGLNativeWindowType NativeWindowType; + + +/* Define EGLint. This must be a signed integral type large enough to contain + * all legal attribute names and values passed into and out of EGL, whether + * their type is boolean, bitmask, enumerant (symbolic constant), integer, + * handle, or other. While in general a 32-bit integer will suffice, if + * handles are 64 bit types, then EGLint should be defined as a signed 64-bit + * integer type. + */ +typedef khronos_int32_t EGLint; + + +/* C++ / C typecast macros for special EGL handle values */ +#if defined(__cplusplus) +#define EGL_CAST(type, value) (static_cast(value)) +#else +#define EGL_CAST(type, value) ((type) (value)) +#endif + +#endif /* __eglplatform_h */ diff --git a/glew/auto/EGL-Registry/api/KHR/khrplatform.h b/glew/auto/EGL-Registry/api/KHR/khrplatform.h new file mode 100644 index 0000000..0164644 --- /dev/null +++ b/glew/auto/EGL-Registry/api/KHR/khrplatform.h @@ -0,0 +1,311 @@ +#ifndef __khrplatform_h_ +#define __khrplatform_h_ + +/* +** Copyright (c) 2008-2018 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +/* Khronos platform-specific types and definitions. + * + * The master copy of khrplatform.h is maintained in the Khronos EGL + * Registry repository at https://github.com/KhronosGroup/EGL-Registry + * The last semantic modification to khrplatform.h was at commit ID: + * 67a3e0864c2d75ea5287b9f3d2eb74a745936692 + * + * Adopters may modify this file to suit their platform. Adopters are + * encouraged to submit platform specific modifications to the Khronos + * group so that they can be included in future versions of this file. + * Please submit changes by filing pull requests or issues on + * the EGL Registry repository linked above. + * + * + * See the Implementer's Guidelines for information about where this file + * should be located on your system and for more details of its use: + * http://www.khronos.org/registry/implementers_guide.pdf + * + * This file should be included as + * #include + * by Khronos client API header files that use its types and defines. + * + * The types in khrplatform.h should only be used to define API-specific types. + * + * Types defined in khrplatform.h: + * khronos_int8_t signed 8 bit + * khronos_uint8_t unsigned 8 bit + * khronos_int16_t signed 16 bit + * khronos_uint16_t unsigned 16 bit + * khronos_int32_t signed 32 bit + * khronos_uint32_t unsigned 32 bit + * khronos_int64_t signed 64 bit + * khronos_uint64_t unsigned 64 bit + * khronos_intptr_t signed same number of bits as a pointer + * khronos_uintptr_t unsigned same number of bits as a pointer + * khronos_ssize_t signed size + * khronos_usize_t unsigned size + * khronos_float_t signed 32 bit floating point + * khronos_time_ns_t unsigned 64 bit time in nanoseconds + * khronos_utime_nanoseconds_t unsigned time interval or absolute time in + * nanoseconds + * khronos_stime_nanoseconds_t signed time interval in nanoseconds + * khronos_boolean_enum_t enumerated boolean type. This should + * only be used as a base type when a client API's boolean type is + * an enum. Client APIs which use an integer or other type for + * booleans cannot use this as the base type for their boolean. + * + * Tokens defined in khrplatform.h: + * + * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values. + * + * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. + * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. + * + * Calling convention macros defined in this file: + * KHRONOS_APICALL + * KHRONOS_APIENTRY + * KHRONOS_APIATTRIBUTES + * + * These may be used in function prototypes as: + * + * KHRONOS_APICALL void KHRONOS_APIENTRY funcname( + * int arg1, + * int arg2) KHRONOS_APIATTRIBUTES; + */ + +#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC) +# define KHRONOS_STATIC 1 +#endif + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APICALL + *------------------------------------------------------------------------- + * This precedes the return type of the function in the function prototype. + */ +#if defined(KHRONOS_STATIC) + /* If the preprocessor constant KHRONOS_STATIC is defined, make the + * header compatible with static linking. */ +# define KHRONOS_APICALL +#elif defined(_WIN32) +# define KHRONOS_APICALL __declspec(dllimport) +#elif defined (__SYMBIAN32__) +# define KHRONOS_APICALL IMPORT_C +#elif defined(__ANDROID__) +# define KHRONOS_APICALL __attribute__((visibility("default"))) +#else +# define KHRONOS_APICALL +#endif + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APIENTRY + *------------------------------------------------------------------------- + * This follows the return type of the function and precedes the function + * name in the function prototype. + */ +#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) + /* Win32 but not WinCE */ +# define KHRONOS_APIENTRY __stdcall +#else +# define KHRONOS_APIENTRY +#endif + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APIATTRIBUTES + *------------------------------------------------------------------------- + * This follows the closing parenthesis of the function prototype arguments. + */ +#if defined (__ARMCC_2__) +#define KHRONOS_APIATTRIBUTES __softfp +#else +#define KHRONOS_APIATTRIBUTES +#endif + +/*------------------------------------------------------------------------- + * basic type definitions + *-----------------------------------------------------------------------*/ +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) + + +/* + * Using + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 +/* + * To support platform where unsigned long cannot be used interchangeably with + * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t. + * Ideally, we could just use (u)intptr_t everywhere, but this could result in + * ABI breakage if khronos_uintptr_t is changed from unsigned long to + * unsigned long long or similar (this results in different C++ name mangling). + * To avoid changes for existing platforms, we restrict usage of intptr_t to + * platforms where the size of a pointer is larger than the size of long. + */ +#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__) +#if __SIZEOF_POINTER__ > __SIZEOF_LONG__ +#define KHRONOS_USE_INTPTR_T +#endif +#endif + +#elif defined(__VMS ) || defined(__sgi) + +/* + * Using + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(_WIN32) && !defined(__SCITECH_SNAP__) + +/* + * Win32 + */ +typedef __int32 khronos_int32_t; +typedef unsigned __int32 khronos_uint32_t; +typedef __int64 khronos_int64_t; +typedef unsigned __int64 khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(__sun__) || defined(__digital__) + +/* + * Sun or Digital + */ +typedef int khronos_int32_t; +typedef unsigned int khronos_uint32_t; +#if defined(__arch64__) || defined(_LP64) +typedef long int khronos_int64_t; +typedef unsigned long int khronos_uint64_t; +#else +typedef long long int khronos_int64_t; +typedef unsigned long long int khronos_uint64_t; +#endif /* __arch64__ */ +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif 0 + +/* + * Hypothetical platform with no float or int64 support + */ +typedef int khronos_int32_t; +typedef unsigned int khronos_uint32_t; +#define KHRONOS_SUPPORT_INT64 0 +#define KHRONOS_SUPPORT_FLOAT 0 + +#else + +/* + * Generic fallback + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#endif + + +/* + * Types that are (so far) the same on all platforms + */ +typedef signed char khronos_int8_t; +typedef unsigned char khronos_uint8_t; +typedef signed short int khronos_int16_t; +typedef unsigned short int khronos_uint16_t; + +/* + * Types that differ between LLP64 and LP64 architectures - in LLP64, + * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears + * to be the only LLP64 architecture in current use. + */ +#ifdef KHRONOS_USE_INTPTR_T +typedef intptr_t khronos_intptr_t; +typedef uintptr_t khronos_uintptr_t; +#elif defined(_WIN64) +typedef signed long long int khronos_intptr_t; +typedef unsigned long long int khronos_uintptr_t; +#else +typedef signed long int khronos_intptr_t; +typedef unsigned long int khronos_uintptr_t; +#endif + +#if defined(_WIN64) +typedef signed long long int khronos_ssize_t; +typedef unsigned long long int khronos_usize_t; +#else +typedef signed long int khronos_ssize_t; +typedef unsigned long int khronos_usize_t; +#endif + +#if KHRONOS_SUPPORT_FLOAT +/* + * Float type + */ +typedef float khronos_float_t; +#endif + +#if KHRONOS_SUPPORT_INT64 +/* Time types + * + * These types can be used to represent a time interval in nanoseconds or + * an absolute Unadjusted System Time. Unadjusted System Time is the number + * of nanoseconds since some arbitrary system event (e.g. since the last + * time the system booted). The Unadjusted System Time is an unsigned + * 64 bit value that wraps back to 0 every 584 years. Time intervals + * may be either signed or unsigned. + */ +typedef khronos_uint64_t khronos_utime_nanoseconds_t; +typedef khronos_int64_t khronos_stime_nanoseconds_t; +#endif + +/* + * Dummy value used to pad enum types to 32 bits. + */ +#ifndef KHRONOS_MAX_ENUM +#define KHRONOS_MAX_ENUM 0x7FFFFFFF +#endif + +/* + * Enumerated boolean type + * + * Values other than zero should be considered to be true. Therefore + * comparisons should not be made against KHRONOS_TRUE. + */ +typedef enum { + KHRONOS_FALSE = 0, + KHRONOS_TRUE = 1, + KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM +} khronos_boolean_enum_t; + +#endif /* __khrplatform_h_ */ diff --git a/glew/auto/EGL-Registry/api/egl.xml b/glew/auto/EGL-Registry/api/egl.xml new file mode 100644 index 0000000..e9b9eaf --- /dev/null +++ b/glew/auto/EGL-Registry/api/egl.xml @@ -0,0 +1,3532 @@ + + + + + + + + + #include <KHR/khrplatform.h> + #include <EGL/eglplatform.h> + + + + + + + + + + + + struct AHardwareBuffer; + struct wl_buffer; + struct wl_display; + struct wl_resource; + + + + typedef unsigned int EGLBoolean; + typedef unsigned int EGLenum; + typedef intptr_t EGLAttribKHR; + typedef intptr_t EGLAttrib; + typedef void *EGLClientBuffer; + typedef void *EGLConfig; + typedef void *EGLContext; + typedef void *EGLDeviceEXT; + typedef void *EGLDisplay; + typedef void *EGLImage; + typedef void *EGLImageKHR; + typedef void *EGLLabelKHR; + typedef void *EGLObjectKHR; + typedef void *EGLOutputLayerEXT; + typedef void *EGLOutputPortEXT; + typedef void *EGLStreamKHR; + typedef void *EGLSurface; + typedef void *EGLSync; + typedef void *EGLSyncKHR; + typedef void *EGLSyncNV; + typedef void (*__eglMustCastToProperFunctionPointerType)(void); + typedef khronos_utime_nanoseconds_t EGLTimeKHR; + typedef khronos_utime_nanoseconds_t EGLTime; + typedef khronos_utime_nanoseconds_t EGLTimeNV; + typedef khronos_utime_nanoseconds_t EGLuint64NV; + typedef khronos_uint64_t EGLuint64KHR; + typedef khronos_stime_nanoseconds_t EGLnsecsANDROID; + typedef int EGLNativeFileDescriptorKHR; + typedef khronos_ssize_t EGLsizeiANDROID; + typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize); + typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize); + struct EGLClientPixmapHI { + void *pData; + EGLint iWidth; + EGLint iHeight; + EGLint iStride; +}; + + typedef void ( *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message); + #define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC + #define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC + #define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC + #define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EGLBoolean eglBindAPI + EGLenum api + + + EGLBoolean eglBindTexImage + EGLDisplay dpy + EGLSurface surface + EGLint buffer + + + EGLBoolean eglChooseConfig + EGLDisplay dpy + const EGLint *attrib_list + EGLConfig *configs + EGLint config_size + EGLint *num_config + + + EGLBoolean eglClientSignalSyncEXT + EGLDisplay dpy + EGLSync sync + const EGLAttrib *attrib_list + + + EGLint eglClientWaitSync + EGLDisplay dpy + EGLSync sync + EGLint flags + EGLTime timeout + + + EGLint eglClientWaitSyncKHR + EGLDisplay dpy + EGLSyncKHR sync + EGLint flags + EGLTimeKHR timeout + + + + EGLint eglClientWaitSyncNV + EGLSyncNV sync + EGLint flags + EGLTimeNV timeout + + + EGLBoolean eglCopyBuffers + EGLDisplay dpy + EGLSurface surface + EGLNativePixmapType target + + + EGLContext eglCreateContext + EGLDisplay dpy + EGLConfig config + EGLContext share_context + const EGLint *attrib_list + + + EGLImageKHR eglCreateDRMImageMESA + EGLDisplay dpy + const EGLint *attrib_list + + + EGLSyncNV eglCreateFenceSyncNV + EGLDisplay dpy + EGLenum condition + const EGLint *attrib_list + + + EGLImage eglCreateImage + EGLDisplay dpy + EGLContext ctx + EGLenum target + EGLClientBuffer buffer + const EGLAttrib *attrib_list + + + EGLImageKHR eglCreateImageKHR + EGLDisplay dpy + EGLContext ctx + EGLenum target + EGLClientBuffer buffer + const EGLint *attrib_list + + + EGLClientBuffer eglCreateNativeClientBufferANDROID + const EGLint *attrib_list + + + EGLSurface eglCreatePbufferFromClientBuffer + EGLDisplay dpy + EGLenum buftype + EGLClientBuffer buffer + EGLConfig config + const EGLint *attrib_list + + + EGLSurface eglCreatePbufferSurface + EGLDisplay dpy + EGLConfig config + const EGLint *attrib_list + + + EGLSurface eglCreatePixmapSurface + EGLDisplay dpy + EGLConfig config + EGLNativePixmapType pixmap + const EGLint *attrib_list + + + EGLSurface eglCreatePixmapSurfaceHI + EGLDisplay dpy + EGLConfig config + struct EGLClientPixmapHI *pixmap + + + EGLSurface eglCreatePlatformPixmapSurface + EGLDisplay dpy + EGLConfig config + void *native_pixmap + const EGLAttrib *attrib_list + + + EGLSurface eglCreatePlatformPixmapSurfaceEXT + EGLDisplay dpy + EGLConfig config + void *native_pixmap + const EGLint *attrib_list + + + EGLSurface eglCreatePlatformWindowSurface + EGLDisplay dpy + EGLConfig config + void *native_window + const EGLAttrib *attrib_list + + + EGLSurface eglCreatePlatformWindowSurfaceEXT + EGLDisplay dpy + EGLConfig config + void *native_window + const EGLint *attrib_list + + + EGLStreamKHR eglCreateStreamFromFileDescriptorKHR + EGLDisplay dpy + EGLNativeFileDescriptorKHR file_descriptor + + + EGLStreamKHR eglCreateStreamKHR + EGLDisplay dpy + const EGLint *attrib_list + + + EGLStreamKHR eglCreateStreamAttribKHR + EGLDisplay dpy + const EGLAttrib *attrib_list + + + EGLSurface eglCreateStreamProducerSurfaceKHR + EGLDisplay dpy + EGLConfig config + EGLStreamKHR stream + const EGLint *attrib_list + + + EGLSyncKHR eglCreateStreamSyncNV + EGLDisplay dpy + EGLStreamKHR stream + EGLenum type + const EGLint *attrib_list + + + EGLSync eglCreateSync + EGLDisplay dpy + EGLenum type + const EGLAttrib *attrib_list + + + EGLSyncKHR eglCreateSyncKHR + EGLDisplay dpy + EGLenum type + const EGLint *attrib_list + + + EGLSyncKHR eglCreateSync64KHR + EGLDisplay dpy + EGLenum type + const EGLAttribKHR *attrib_list + + + + EGLSurface eglCreateWindowSurface + EGLDisplay dpy + EGLConfig config + EGLNativeWindowType win + const EGLint *attrib_list + + + EGLint eglDebugMessageControlKHR + EGLDEBUGPROCKHR callback + const EGLAttrib *attrib_list + + + EGLBoolean eglDestroyContext + EGLDisplay dpy + EGLContext ctx + + + EGLBoolean eglDestroyImage + EGLDisplay dpy + EGLImage image + + + EGLBoolean eglDestroyImageKHR + EGLDisplay dpy + EGLImageKHR image + + + + EGLBoolean eglDestroyStreamKHR + EGLDisplay dpy + EGLStreamKHR stream + + + EGLBoolean eglDestroySurface + EGLDisplay dpy + EGLSurface surface + + + EGLBoolean eglDestroySync + EGLDisplay dpy + EGLSync sync + + + EGLBoolean eglDestroySyncKHR + EGLDisplay dpy + EGLSyncKHR sync + + + + EGLBoolean eglDestroySyncNV + EGLSyncNV sync + + + EGLint eglDupNativeFenceFDANDROID + EGLDisplay dpy + EGLSyncKHR sync + + + EGLBoolean eglExportDMABUFImageMESA + EGLDisplay dpy + EGLImageKHR image + int *fds + EGLint *strides + EGLint *offsets + + + EGLBoolean eglExportDMABUFImageQueryMESA + EGLDisplay dpy + EGLImageKHR image + int *fourcc + int *num_planes + EGLuint64KHR *modifiers + + + EGLBoolean eglExportDRMImageMESA + EGLDisplay dpy + EGLImageKHR image + EGLint *name + EGLint *handle + EGLint *stride + + + EGLBoolean eglFenceNV + EGLSyncNV sync + + + EGLBoolean eglGetConfigAttrib + EGLDisplay dpy + EGLConfig config + EGLint attribute + EGLint *value + + + EGLBoolean eglGetConfigs + EGLDisplay dpy + EGLConfig *configs + EGLint config_size + EGLint *num_config + + + EGLContext eglGetCurrentContext + + + EGLDisplay eglGetCurrentDisplay + + + EGLSurface eglGetCurrentSurface + EGLint readdraw + + + EGLDisplay eglGetDisplay + EGLNativeDisplayType display_id + + + char *eglGetDisplayDriverConfig + EGLDisplay dpy + + + const char *eglGetDisplayDriverName + EGLDisplay dpy + + + EGLint eglGetError + + + EGLBoolean eglGetMscRateANGLE + EGLDisplay dpy + EGLSurface surface + EGLint *numerator + EGLint *denominator + + + EGLClientBuffer eglGetNativeClientBufferANDROID + const struct AHardwareBuffer *buffer + + + EGLBoolean eglGetOutputLayersEXT + EGLDisplay dpy + const EGLAttrib *attrib_list + EGLOutputLayerEXT *layers + EGLint max_layers + EGLint *num_layers + + + EGLBoolean eglGetOutputPortsEXT + EGLDisplay dpy + const EGLAttrib *attrib_list + EGLOutputPortEXT *ports + EGLint max_ports + EGLint *num_ports + + + EGLDisplay eglGetPlatformDisplay + EGLenum platform + void *native_display + const EGLAttrib *attrib_list + + + EGLDisplay eglGetPlatformDisplayEXT + EGLenum platform + void *native_display + const EGLint *attrib_list + + + __eglMustCastToProperFunctionPointerType eglGetProcAddress + const char *procname + + + EGLNativeFileDescriptorKHR eglGetStreamFileDescriptorKHR + EGLDisplay dpy + EGLStreamKHR stream + + + EGLBoolean eglGetSyncAttrib + EGLDisplay dpy + EGLSync sync + EGLint attribute + EGLAttrib *value + + + EGLBoolean eglGetSyncAttribKHR + EGLDisplay dpy + EGLSyncKHR sync + EGLint attribute + EGLint *value + + + EGLBoolean eglGetSyncAttribNV + EGLSyncNV sync + EGLint attribute + EGLint *value + + + EGLuint64NV eglGetSystemTimeFrequencyNV + + + EGLuint64NV eglGetSystemTimeNV + + + EGLBoolean eglInitialize + EGLDisplay dpy + EGLint *major + EGLint *minor + + + EGLint eglLabelObjectKHR + EGLDisplay display + EGLenum objectType + EGLObjectKHR object + EGLLabelKHR label + + + EGLBoolean eglLockSurfaceKHR + EGLDisplay dpy + EGLSurface surface + const EGLint *attrib_list + + + EGLBoolean eglMakeCurrent + EGLDisplay dpy + EGLSurface draw + EGLSurface read + EGLContext ctx + + + EGLBoolean eglOutputLayerAttribEXT + EGLDisplay dpy + EGLOutputLayerEXT layer + EGLint attribute + EGLAttrib value + + + EGLBoolean eglOutputPortAttribEXT + EGLDisplay dpy + EGLOutputPortEXT port + EGLint attribute + EGLAttrib value + + + EGLBoolean eglPostSubBufferNV + EGLDisplay dpy + EGLSurface surface + EGLint x + EGLint y + EGLint width + EGLint height + + + EGLBoolean eglPresentationTimeANDROID + EGLDisplay dpy + EGLSurface surface + EGLnsecsANDROID time + + + EGLBoolean eglGetCompositorTimingSupportedANDROID + EGLDisplay dpy + EGLSurface surface + EGLint name + + + EGLBoolean eglGetCompositorTimingANDROID + EGLDisplay dpy + EGLSurface surface + EGLint numTimestamps + const EGLint *names + EGLnsecsANDROID *values + + + EGLBoolean eglGetNextFrameIdANDROID + EGLDisplay dpy + EGLSurface surface + EGLuint64KHR *frameId + + + EGLBoolean eglGetFrameTimestampSupportedANDROID + EGLDisplay dpy + EGLSurface surface + EGLint timestamp + + + EGLBoolean eglGetFrameTimestampsANDROID + EGLDisplay dpy + EGLSurface surface + EGLuint64KHR frameId + EGLint numTimestamps + const EGLint *timestamps + EGLnsecsANDROID *values + + + EGLenum eglQueryAPI + + + EGLBoolean eglQueryContext + EGLDisplay dpy + EGLContext ctx + EGLint attribute + EGLint *value + + + EGLBoolean eglQueryDebugKHR + EGLint attribute + EGLAttrib *value + + + EGLBoolean eglQueryDeviceAttribEXT + EGLDeviceEXT device + EGLint attribute + EGLAttrib *value + + + const char *eglQueryDeviceStringEXT + EGLDeviceEXT device + EGLint name + + + EGLBoolean eglQueryDevicesEXT + EGLint max_devices + EGLDeviceEXT *devices + EGLint *num_devices + + + EGLBoolean eglQueryDisplayAttribEXT + EGLDisplay dpy + EGLint attribute + EGLAttrib *value + + + + EGLBoolean eglQueryDisplayAttribKHR + EGLDisplay dpy + EGLint name + EGLAttrib *value + + + EGLBoolean eglQueryDisplayAttribNV + EGLDisplay dpy + EGLint attribute + EGLAttrib *value + + + + EGLBoolean eglQueryDmaBufFormatsEXT + EGLDisplay dpy + EGLint max_formats + EGLint *formats + EGLint *num_formats + + + EGLBoolean eglQueryDmaBufModifiersEXT + EGLDisplay dpy + EGLint format + EGLint max_modifiers + EGLuint64KHR *modifiers + EGLBoolean *external_only + EGLint *num_modifiers + + + EGLBoolean eglQueryNativeDisplayNV + EGLDisplay dpy + EGLNativeDisplayType *display_id + + + EGLBoolean eglQueryNativePixmapNV + EGLDisplay dpy + EGLSurface surf + EGLNativePixmapType *pixmap + + + EGLBoolean eglQueryNativeWindowNV + EGLDisplay dpy + EGLSurface surf + EGLNativeWindowType *window + + + EGLBoolean eglQueryOutputLayerAttribEXT + EGLDisplay dpy + EGLOutputLayerEXT layer + EGLint attribute + EGLAttrib *value + + + const char *eglQueryOutputLayerStringEXT + EGLDisplay dpy + EGLOutputLayerEXT layer + EGLint name + + + EGLBoolean eglQueryOutputPortAttribEXT + EGLDisplay dpy + EGLOutputPortEXT port + EGLint attribute + EGLAttrib *value + + + const char *eglQueryOutputPortStringEXT + EGLDisplay dpy + EGLOutputPortEXT port + EGLint name + + + EGLBoolean eglQueryStreamKHR + EGLDisplay dpy + EGLStreamKHR stream + EGLenum attribute + EGLint *value + + + EGLBoolean eglQueryStreamAttribKHR + EGLDisplay dpy + EGLStreamKHR stream + EGLenum attribute + EGLAttrib *value + + + EGLBoolean eglQueryStreamMetadataNV + EGLDisplay dpy + EGLStreamKHR stream + EGLenum name + EGLint n + EGLint offset + EGLint size + void *data + + + EGLBoolean eglQueryStreamTimeKHR + EGLDisplay dpy + EGLStreamKHR stream + EGLenum attribute + EGLTimeKHR *value + + + EGLBoolean eglQueryStreamu64KHR + EGLDisplay dpy + EGLStreamKHR stream + EGLenum attribute + EGLuint64KHR *value + + + const char *eglQueryString + EGLDisplay dpy + EGLint name + + + EGLBoolean eglQuerySupportedCompressionRatesEXT + EGLDisplay dpy + EGLConfig config + const EGLAttrib *attrib_list + EGLint *rates + EGLint rate_size + EGLint *num_rates + + + EGLBoolean eglQuerySurface + EGLDisplay dpy + EGLSurface surface + EGLint attribute + EGLint *value + + + EGLBoolean eglQuerySurface64KHR + EGLDisplay dpy + EGLSurface surface + EGLint attribute + EGLAttribKHR *value + + + EGLBoolean eglQuerySurfacePointerANGLE + EGLDisplay dpy + EGLSurface surface + EGLint attribute + void **value + + + EGLBoolean eglReleaseTexImage + EGLDisplay dpy + EGLSurface surface + EGLint buffer + + + EGLBoolean eglReleaseThread + + + EGLBoolean eglResetStreamNV + EGLDisplay dpy + EGLStreamKHR stream + + + void eglSetBlobCacheFuncsANDROID + EGLDisplay dpy + EGLSetBlobFuncANDROID set + EGLGetBlobFuncANDROID get + + + EGLBoolean eglSetDamageRegionKHR + EGLDisplay dpy + EGLSurface surface + EGLint *rects + EGLint n_rects + + + EGLBoolean eglSetStreamAttribKHR + EGLDisplay dpy + EGLStreamKHR stream + EGLenum attribute + EGLAttrib value + + + EGLBoolean eglSetStreamMetadataNV + EGLDisplay dpy + EGLStreamKHR stream + EGLint n + EGLint offset + EGLint size + const void *data + + + EGLBoolean eglSignalSyncKHR + EGLDisplay dpy + EGLSyncKHR sync + EGLenum mode + + + EGLBoolean eglSignalSyncNV + EGLSyncNV sync + EGLenum mode + + + EGLBoolean eglStreamAttribKHR + EGLDisplay dpy + EGLStreamKHR stream + EGLenum attribute + EGLint value + + + EGLBoolean eglStreamConsumerAcquireKHR + EGLDisplay dpy + EGLStreamKHR stream + + + EGLBoolean eglStreamConsumerAcquireAttribKHR + EGLDisplay dpy + EGLStreamKHR stream + const EGLAttrib *attrib_list + + + EGLBoolean eglStreamConsumerGLTextureExternalKHR + EGLDisplay dpy + EGLStreamKHR stream + + + EGLBoolean eglStreamConsumerGLTextureExternalAttribsNV + EGLDisplay dpy + EGLStreamKHR stream + const EGLAttrib *attrib_list + + + EGLBoolean eglStreamConsumerOutputEXT + EGLDisplay dpy + EGLStreamKHR stream + EGLOutputLayerEXT layer + + + EGLBoolean eglStreamConsumerReleaseKHR + EGLDisplay dpy + EGLStreamKHR stream + + + EGLBoolean eglStreamConsumerReleaseAttribKHR + EGLDisplay dpy + EGLStreamKHR stream + const EGLAttrib *attrib_list + + + EGLBoolean eglStreamFlushNV + EGLDisplay dpy + EGLStreamKHR stream + + + EGLBoolean eglSurfaceAttrib + EGLDisplay dpy + EGLSurface surface + EGLint attribute + EGLint value + + + EGLBoolean eglSwapBuffers + EGLDisplay dpy + EGLSurface surface + + + EGLBoolean eglSwapBuffersWithDamageEXT + EGLDisplay dpy + EGLSurface surface + const EGLint *rects + EGLint n_rects + + + EGLBoolean eglSwapBuffersWithDamageKHR + EGLDisplay dpy + EGLSurface surface + const EGLint *rects + EGLint n_rects + + + EGLBoolean eglSwapBuffersRegionNOK + EGLDisplay dpy + EGLSurface surface + EGLint numRects + const EGLint *rects + + + EGLBoolean eglSwapBuffersRegion2NOK + EGLDisplay dpy + EGLSurface surface + EGLint numRects + const EGLint *rects + + + EGLBoolean eglSwapInterval + EGLDisplay dpy + EGLint interval + + + EGLBoolean eglTerminate + EGLDisplay dpy + + + EGLBoolean eglUnlockSurfaceKHR + EGLDisplay dpy + EGLSurface surface + + + EGLBoolean eglUnsignalSyncEXT + EGLDisplay dpy + EGLSync sync + const EGLAttrib *attrib_list + + + EGLBoolean eglWaitClient + + + EGLBoolean eglWaitGL + + + EGLBoolean eglWaitNative + EGLint engine + + + EGLBoolean eglWaitSync + EGLDisplay dpy + EGLSync sync + EGLint flags + + + EGLint eglWaitSyncKHR + EGLDisplay dpy + EGLSyncKHR sync + EGLint flags + + + EGLBoolean eglCompositorSetContextListEXT + const EGLint *external_ref_ids + EGLint num_entries + + + EGLBoolean eglCompositorSetContextAttributesEXT + EGLint external_ref_id + const EGLint *context_attributes + EGLint num_entries + + + EGLBoolean eglCompositorSetWindowListEXT + EGLint external_ref_id + const EGLint *external_win_ids + EGLint num_entries + + + EGLBoolean eglCompositorSetWindowAttributesEXT + EGLint external_win_id + const EGLint *window_attributes + EGLint num_entries + + + EGLBoolean eglCompositorBindTexWindowEXT + EGLint external_win_id + + + EGLBoolean eglCompositorSetSizeEXT + EGLint external_win_id + EGLint width + EGLint height + + + EGLBoolean eglCompositorSwapPolicyEXT + EGLint external_win_id + EGLint policy + + + EGLBoolean eglBindWaylandDisplayWL + EGLDisplay dpy + struct wl_display *display + + + EGLBoolean eglUnbindWaylandDisplayWL + EGLDisplay dpy + struct wl_display *display + + + EGLBoolean eglQueryWaylandBufferWL + EGLDisplay dpy + struct wl_resource *buffer + EGLint attribute + EGLint *value + + + struct wl_buffer *eglCreateWaylandBufferFromImageWL + EGLDisplay dpy + EGLImageKHR image + + + EGLBoolean eglStreamImageConsumerConnectNV + EGLDisplay dpy + EGLStreamKHR stream + EGLint num_modifiers + const EGLuint64KHR *modifiers + const EGLAttrib *attrib_list + + + EGLint eglQueryStreamConsumerEventNV + EGLDisplay dpy + EGLStreamKHR stream + EGLTime timeout + EGLenum *event + EGLAttrib *aux + + + EGLBoolean eglStreamAcquireImageNV + EGLDisplay dpy + EGLStreamKHR stream + EGLImage *pImage + EGLSync sync + + + EGLBoolean eglStreamReleaseImageNV + EGLDisplay dpy + EGLStreamKHR stream + EGLImage image + EGLSync sync + + + EGLBoolean eglQueryDeviceBinaryEXT + EGLDeviceEXT device + EGLint name + EGLint max_size + void *value + EGLint *size + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/glew/auto/EGL-Registry/api/egltest.c b/glew/auto/EGL-Registry/api/egltest.c new file mode 100644 index 0000000..cf3fe56 --- /dev/null +++ b/glew/auto/EGL-Registry/api/egltest.c @@ -0,0 +1,8 @@ +/* + * Copyright 2013-2020 The Khronos Group Inc. + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Simple test that generated EGL headers compile with C and C++ */ +#include "EGL/egl.h" +#include "EGL/eglext.h" diff --git a/glew/auto/EGL-Registry/api/genheaders.py b/glew/auto/EGL-Registry/api/genheaders.py new file mode 100644 index 0000000..2bf28a3 --- /dev/null +++ b/glew/auto/EGL-Registry/api/genheaders.py @@ -0,0 +1,619 @@ +#!/usr/bin/python -i +# +# Copyright 2013-2020 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 + +import sys, time, pdb +from reg import * + +# debug - start header generation in debugger +# dump - dump registry after loading +# profile - enable Python profiling +# protect - whether to use #ifndef protections +# registry - use specified XML registry instead of gl.xml +# target - string name of target header, or all targets if None +# timeit - time length of registry loading & header generation +# validate - validate return & parameter group tags against +debug = False +dump = False +profile = False +protect = True +target = None +timeit = False +validate= False +# Default input / log files +errFilename = None +diagFilename = 'diag.txt' +regFilename = 'gl.xml' + + +# Simple timer functions +startTime = None +def startTimer(): + global startTime + startTime = time.process_time() +def endTimer(msg): + global startTime + endTime = time.process_time() + if (timeit): + write(msg, endTime - startTime) + startTime = None + +# Turn a list of strings into a regexp string matching exactly those strings +def makeREstring(list): + return '^(' + '|'.join(list) + ')$' + +# These are "mandatory" OpenGL ES 1 extensions, to +# be included in the core GLES/gl.h header. +es1CoreList = [ + 'GL_OES_read_format', + 'GL_OES_compressed_paletted_texture', + 'GL_OES_point_size_array', + 'GL_OES_point_sprite' +] + +# Descriptive names for various regexp patterns used to select +# versions and extensions + +allVersions = allExtensions = '.*' +noVersions = noExtensions = None +gl12andLaterPat = '1\.[2-9]|[234]\.[0-9]' +gles2onlyPat = '2\.[0-9]' +gles2through30Pat = '2\.[0-9]|3\.0' +gles2through31Pat = '2\.[0-9]|3\.[01]' +gles2through32Pat = '2\.[0-9]|3\.[012]' +es1CorePat = makeREstring(es1CoreList) +# Extensions in old glcorearb.h but not yet tagged accordingly in gl.xml +glCoreARBPat = None +glx13andLaterPat = '1\.[3-9]' + +# Copyright text prefixing all headers (list of strings). +prefixStrings = [ + '/*', + '** Copyright 2013-2020 The Khronos Group Inc.', + '** SPDX-' + 'License-Identifier: Apache-2.0', + '**', + '** This header is generated from the Khronos EGL XML API Registry.', + '** The current version of the Registry, generator scripts', + '** used to make the header, and the header can be found at', + '** http://www.khronos.org/registry/egl', + '**', + '** Khronos $' + 'Revision$ on $' + 'Date$', + '*/', + '' +] + +# glext.h / glcorearb.h define calling conventions inline (no GL *platform.h) +glExtPlatformStrings = [ + '#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)', + '#ifndef WIN32_LEAN_AND_MEAN', + '#define WIN32_LEAN_AND_MEAN 1', + '#endif', + '#include ', + '#endif', + '', + '#ifndef APIENTRY', + '#define APIENTRY', + '#endif', + '#ifndef APIENTRYP', + '#define APIENTRYP APIENTRY *', + '#endif', + '#ifndef GLAPI', + '#define GLAPI extern', + '#endif', + '' +] + +glCorearbPlatformStrings = glExtPlatformStrings + [ + '/* glcorearb.h is for use with OpenGL core profile implementations.', + '** It should should be placed in the same directory as gl.h and', + '** included as .', + '**', + '** glcorearb.h includes only APIs in the latest OpenGL core profile', + '** implementation together with APIs in newer ARB extensions which ', + '** can be supported by the core profile. It does not, and never will', + '** include functionality removed from the core profile, such as', + '** fixed-function vertex and fragment processing.', + '**', + '** Do not #include both and either of or', + '** in the same source file.', + '*/', + '' +] + +# wglext.h needs Windows include +wglPlatformStrings = [ + '#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)', + '#define WIN32_LEAN_AND_MEAN 1', + '#include ', + '#endif', + '', +] + +# Different APIs use different *platform.h files to define calling +# conventions +gles1PlatformStrings = [ '#include ', '' ] +gles2PlatformStrings = [ '#include ', '' ] +gles3PlatformStrings = [ '#include ', '' ] +glsc2PlatformStrings = [ '#include ', '' ] +eglPlatformStrings = [ '#include ', '' ] + +# GLES headers have a small addition to calling convention headers for function pointer typedefs +apiEntryPrefixStrings = [ + '#ifndef GL_APIENTRYP', + '#define GL_APIENTRYP GL_APIENTRY*', + '#endif', + '' +] + +# GLES 2/3 core API headers use a different protection mechanism for +# prototypes, per bug 14206. +glesProtoPrefixStrings = [ + '#ifndef GL_GLES_PROTOTYPES', + '#define GL_GLES_PROTOTYPES 1', + '#endif', + '' +] + +# EGL headers use a protection mechanism similar to GLES. +eglProtoPrefixStrings = [ + '#ifndef EGL_EGL_PROTOTYPES', + '#define EGL_EGL_PROTOTYPES 1', + '#endif', + '' +] + +# Insert generation date in a comment for headers not having *GLEXT_VERSION macros +genDateCommentString = [ + format('/* Generated on date %s */' % time.strftime('%Y%m%d')), + '' +] + +# GL_GLEXT_VERSION is defined only in glext.h +glextVersionStrings = [ + format('#define GL_GLEXT_VERSION %s' % time.strftime('%Y%m%d')), + '' +] +# WGL_WGLEXT_VERSION is defined only in wglext.h +wglextVersionStrings = [ + format('#define WGL_WGLEXT_VERSION %s' % time.strftime('%Y%m%d')), + '' +] +# GLX_GLXEXT_VERSION is defined only in glxext.h +glxextVersionStrings = [ + format('#define GLX_GLXEXT_VERSION %s' % time.strftime('%Y%m%d')), + '' +] +# EGL_EGLEXT_VERSION is defined only in eglext.h +eglextVersionStrings = [ + format('#define EGL_EGLEXT_VERSION %s' % time.strftime('%Y%m%d')), + '' +] + +# Defaults for generating re-inclusion protection wrappers (or not) +protectFile = protect +protectFeature = protect +protectProto = protect + +buildList = [ + # GL API 1.2+ + extensions - GL/glext.h + CGeneratorOptions( + filename = 'GL/glext.h', + apiname = 'gl', + profile = 'compatibility', + versions = allVersions, + emitversions = gl12andLaterPat, + defaultExtensions = 'gl', # Default extensions for GL + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + glExtPlatformStrings + glextVersionStrings, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = protectProto, + protectProtoStr = 'GL_GLEXT_PROTOTYPES', + apicall = 'GLAPI ', + apientry = 'APIENTRY ', + apientryp = 'APIENTRYP '), + # GL core profile + extensions - GL/glcorearb.h + CGeneratorOptions( + filename = 'GL/glcorearb.h', + apiname = 'gl', + profile = 'core', + versions = allVersions, + emitversions = allVersions, + defaultExtensions = 'glcore', # Default extensions for GL core profile (only) + addExtensions = glCoreARBPat, + removeExtensions = None, + prefixText = prefixStrings + glCorearbPlatformStrings, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = protectProto, + protectProtoStr = 'GL_GLEXT_PROTOTYPES', + apicall = 'GLAPI ', + apientry = 'APIENTRY ', + apientryp = 'APIENTRYP '), + # GLES 1.x API + mandatory extensions - GLES/gl.h (no function pointers) + CGeneratorOptions( + filename = 'GLES/gl.h', + apiname = 'gles1', + profile = 'common', + versions = allVersions, + emitversions = allVersions, + defaultExtensions = None, # No default extensions + addExtensions = es1CorePat, # Add mandatory ES1 extensions in GLES1/gl.h + removeExtensions = None, + prefixText = prefixStrings + gles1PlatformStrings + genDateCommentString, + genFuncPointers = False, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = False, # Core ES API functions are in the static link libraries + protectProtoStr = 'GL_GLEXT_PROTOTYPES', + apicall = 'GL_API ', + apientry = 'GL_APIENTRY ', + apientryp = 'GL_APIENTRYP '), + # GLES 1.x extensions - GLES/glext.h + CGeneratorOptions( + filename = 'GLES/glext.h', + apiname = 'gles1', + profile = 'common', + versions = allVersions, + emitversions = noVersions, + defaultExtensions = 'gles1', # Default extensions for GLES 1 + addExtensions = None, + removeExtensions = es1CorePat, # Remove mandatory ES1 extensions in GLES1/glext.h + prefixText = prefixStrings + apiEntryPrefixStrings + genDateCommentString, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = protectProto, + protectProtoStr = 'GL_GLEXT_PROTOTYPES', + apicall = 'GL_API ', + apientry = 'GL_APIENTRY ', + apientryp = 'GL_APIENTRYP '), + # GLES 2.0 API - GLES2/gl2.h (now with function pointers) + CGeneratorOptions( + filename = 'GLES2/gl2.h', + apiname = 'gles2', + profile = 'common', + versions = gles2onlyPat, + emitversions = allVersions, + defaultExtensions = None, # No default extensions + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + gles2PlatformStrings + apiEntryPrefixStrings + glesProtoPrefixStrings + genDateCommentString, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = 'nonzero', # Core ES API functions are in the static link libraries + protectProtoStr = 'GL_GLES_PROTOTYPES', + apicall = 'GL_APICALL ', + apientry = 'GL_APIENTRY ', + apientryp = 'GL_APIENTRYP '), + # GLES 3.1 / 3.0 / 2.0 extensions - GLES2/gl2ext.h + CGeneratorOptions( + filename = 'GLES2/gl2ext.h', + apiname = 'gles2', + profile = 'common', + versions = gles2onlyPat, + emitversions = None, + defaultExtensions = 'gles2', # Default extensions for GLES 2 + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + apiEntryPrefixStrings + genDateCommentString, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = protectProto, + protectProtoStr = 'GL_GLEXT_PROTOTYPES', + apicall = 'GL_APICALL ', + apientry = 'GL_APIENTRY ', + apientryp = 'GL_APIENTRYP '), + # GLES 3.2 API - GLES3/gl32.h (now with function pointers) + CGeneratorOptions( + filename = 'GLES3/gl32.h', + apiname = 'gles2', + profile = 'common', + versions = gles2through32Pat, + emitversions = allVersions, + defaultExtensions = None, # No default extensions + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + gles3PlatformStrings + apiEntryPrefixStrings + glesProtoPrefixStrings + genDateCommentString, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = 'nonzero', # Core ES API functions are in the static link libraries + protectProtoStr = 'GL_GLES_PROTOTYPES', + apicall = 'GL_APICALL ', + apientry = 'GL_APIENTRY ', + apientryp = 'GL_APIENTRYP '), + # GLES 3.1 API - GLES3/gl31.h (now with function pointers) + CGeneratorOptions( + filename = 'GLES3/gl31.h', + apiname = 'gles2', + profile = 'common', + versions = gles2through31Pat, + emitversions = allVersions, + defaultExtensions = None, # No default extensions + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + gles3PlatformStrings + apiEntryPrefixStrings + glesProtoPrefixStrings + genDateCommentString, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = 'nonzero', # Core ES API functions are in the static link libraries + protectProtoStr = 'GL_GLES_PROTOTYPES', + apicall = 'GL_APICALL ', + apientry = 'GL_APIENTRY ', + apientryp = 'GL_APIENTRYP '), + # GLES 3.0 API - GLES3/gl3.h (now with function pointers) + CGeneratorOptions( + filename = 'GLES3/gl3.h', + apiname = 'gles2', + profile = 'common', + versions = gles2through30Pat, + emitversions = allVersions, + defaultExtensions = None, # No default extensions + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + gles3PlatformStrings + apiEntryPrefixStrings + glesProtoPrefixStrings + genDateCommentString, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = 'nonzero', # Core ES API functions are in the static link libraries + protectProtoStr = 'GL_GLES_PROTOTYPES', + apicall = 'GL_APICALL ', + apientry = 'GL_APIENTRY ', + apientryp = 'GL_APIENTRYP '), + # GLSC 2.0 API - GLSC2/glsc2.h + CGeneratorOptions( + filename = 'GLSC2/glsc2.h', + apiname = 'glsc2', + profile = 'common', + versions = gles2onlyPat, + emitversions = allVersions, + defaultExtensions = None, # No default extensions + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + glsc2PlatformStrings + apiEntryPrefixStrings + genDateCommentString, + genFuncPointers = False, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = False, + protectProtoStr = 'GL_GLEXT_PROTOTYPES', + apicall = 'GL_APICALL ', + apientry = 'GL_APIENTRY ', + apientryp = 'GL_APIENTRYP '), + # GLSC 2.0 extensions - GLSC2/gl2ext.h + CGeneratorOptions( + filename = 'GLSC2/glsc2ext.h', + apiname = 'glsc2', + profile = 'common', + versions = gles2onlyPat, + emitversions = None, + defaultExtensions = 'glsc2', # Default extensions for GLSC 2 + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + apiEntryPrefixStrings + genDateCommentString, + genFuncPointers = False, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = False, + protectProtoStr = 'GL_GLEXT_PROTOTYPES', + apicall = 'GL_APICALL ', + apientry = 'GL_APIENTRY ', + apientryp = 'GL_APIENTRYP '), + # EGL API - EGL/egl.h (no function pointers, yet @@@) + CGeneratorOptions( + filename = 'EGL/egl.h', + apiname = 'egl', + profile = None, + versions = allVersions, + emitversions = allVersions, + defaultExtensions = None, # No default extensions + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + eglPlatformStrings + eglProtoPrefixStrings + genDateCommentString, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = 'nonzero', + protectProtoStr = 'EGL_EGL_PROTOTYPES', + apicall = 'EGLAPI ', + apientry = 'EGLAPIENTRY ', + apientryp = 'EGLAPIENTRYP '), + # EGL extensions - EGL/eglext.h (no function pointers, yet @@@) + CGeneratorOptions( + filename = 'EGL/eglext.h', + apiname = 'egl', + profile = None, + versions = allVersions, + emitversions = None, + defaultExtensions = 'egl', # Default extensions for EGL + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + eglPlatformStrings + eglextVersionStrings, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = protectProto, + protectProtoStr = 'EGL_EGLEXT_PROTOTYPES', + apicall = 'EGLAPI ', + apientry = 'EGLAPIENTRY ', + apientryp = 'EGLAPIENTRYP '), + # GLX 1.* API - GL/glx.h + CGeneratorOptions( + filename = 'GL/glx.h', + apiname = 'glx', + profile = None, + versions = allVersions, + emitversions = allVersions, + defaultExtensions = None, # No default extensions + addExtensions = None, + removeExtensions = None, + # add glXPlatformStrings? + prefixText = prefixStrings + genDateCommentString, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = protectProto, + protectProtoStr = 'GLX_GLXEXT_PROTOTYPES', + apicall = '', + apientry = '', + apientryp = ' *'), + # GLX 1.3+ API + extensions - GL/glxext.h (no function pointers, yet @@@) + CGeneratorOptions( + filename = 'GL/glxext.h', + apiname = 'glx', + profile = None, + versions = allVersions, + emitversions = glx13andLaterPat, + defaultExtensions = 'glx', # Default extensions for GLX + addExtensions = None, + removeExtensions = None, + # add glXPlatformStrings? + prefixText = prefixStrings + glxextVersionStrings, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = protectProto, + protectProtoStr = 'GLX_GLXEXT_PROTOTYPES', + apicall = '', + apientry = '', + apientryp = ' *'), + # WGL API + extensions - GL/wgl.h (no function pointers, yet @@@) + CGeneratorOptions( + filename = 'GL/wgl.h', + apiname = 'wgl', + profile = None, + versions = allVersions, + emitversions = allVersions, + defaultExtensions = 'wgl', # Default extensions for WGL + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + wglPlatformStrings + genDateCommentString, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = protectProto, + protectProtoStr = 'WGL_WGLEXT_PROTOTYPES', + apicall = '', + apientry = 'WINAPI ', + apientryp = 'WINAPI * '), + # WGL extensions - GL/wglext.h (no function pointers, yet @@@) + CGeneratorOptions( + filename = 'GL/wglext.h', + apiname = 'wgl', + profile = None, + versions = allVersions, + emitversions = None, + defaultExtensions = 'wgl', # Default extensions for WGL + addExtensions = None, + removeExtensions = None, + prefixText = prefixStrings + wglPlatformStrings + wglextVersionStrings, + genFuncPointers = True, + protectFile = protectFile, + protectFeature = protectFeature, + protectProto = protectProto, + protectProtoStr = 'WGL_WGLEXT_PROTOTYPES', + apicall = '', + apientry = 'WINAPI ', + apientryp = 'WINAPI * '), + # End of list + None +] + +def genHeaders(): + # Loop over targets, building each + generated = 0 + for genOpts in buildList: + if (genOpts == None): + break + if (target and target != genOpts.filename): + # write('*** Skipping', genOpts.filename) + continue + write('*** Building', genOpts.filename) + generated = generated + 1 + startTimer() + gen = COutputGenerator(errFile=errWarn, + warnFile=errWarn, + diagFile=diag) + reg.setGenerator(gen) + reg.apiGen(genOpts) + write('** Generated', genOpts.filename) + endTimer('Time to generate ' + genOpts.filename + ' =') + if (target and generated == 0): + write('Failed to generate target:', target) + +if __name__ == '__main__': + i = 1 + while (i < len(sys.argv)): + arg = sys.argv[i] + i = i + 1 + if (arg == '-debug'): + write('Enabling debug (-debug)', file=sys.stderr) + debug = True + elif (arg == '-dump'): + write('Enabling dump (-dump)', file=sys.stderr) + dump = True + elif (arg == '-noprotect'): + write('Disabling inclusion protection in output headers', file=sys.stderr) + protect = False + elif (arg == '-profile'): + write('Enabling profiling (-profile)', file=sys.stderr) + profile = True + elif (arg == '-registry'): + regFilename = sys.argv[i] + i = i+1 + write('Using registry ', regFilename, file=sys.stderr) + elif (arg == '-time'): + write('Enabling timing (-time)', file=sys.stderr) + timeit = True + elif (arg == '-validate'): + write('Enabling group validation (-validate)', file=sys.stderr) + validate = True + elif (arg[0:1] == '-'): + write('Unrecognized argument:', arg, file=sys.stderr) + exit(1) + else: + target = arg + write('Using target', target, file=sys.stderr) + + # Load & parse registry + reg = Registry() + + startTimer() + tree = etree.parse(regFilename) + endTimer('Time to make ElementTree =') + + startTimer() + reg.loadElementTree(tree) + endTimer('Time to parse ElementTree =') + + if (validate): + reg.validateGroups() + + if (dump): + write('***************************************') + write('Performing Registry dump to regdump.txt') + write('***************************************') + reg.dumpReg(filehandle = open('regdump.txt','w')) + + # create error/warning & diagnostic files + if (errFilename): + errWarn = open(errFilename,'w') + else: + errWarn = sys.stderr + diag = open(diagFilename, 'w') + + if (debug): + pdb.run('genHeaders()') + elif (profile): + import cProfile, pstats + cProfile.run('genHeaders()', 'profile.txt') + p = pstats.Stats('profile.txt') + p.strip_dirs().sort_stats('time').print_stats(50) + else: + genHeaders() diff --git a/glew/auto/EGL-Registry/api/reg.py b/glew/auto/EGL-Registry/api/reg.py new file mode 100644 index 0000000..6ac25f3 --- /dev/null +++ b/glew/auto/EGL-Registry/api/reg.py @@ -0,0 +1,1168 @@ +#!/usr/bin/python -i +# +# Copyright 2013-2020 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 + +import io,os,re,string,sys +from lxml import etree +import subprocess + +def write(*args, **kwargs): + file = kwargs.pop('file', sys.stdout) + end = kwargs.pop('end', '\n') + file.write(' '.join([str(arg) for arg in args])) + file.write(end) + +# noneStr - returns string argument, or "" if argument is None. +# Used in converting lxml Elements into text. +# str - string to convert +def noneStr(str): + if (str): + return str + else: + return "" + +# matchAPIProfile - returns whether an API and profile +# being generated matches an element's profile +# api - string naming the API to match +# profile - string naming the profile to match +# elem - Element which (may) have 'api' and 'profile' +# attributes to match to. +# If a tag is not present in the Element, the corresponding API +# or profile always matches. +# Otherwise, the tag must exactly match the API or profile. +# Thus, if 'profile' = core: +# with no attribute will match +# will match +# will not match +# Possible match conditions: +# Requested Element +# Profile Profile +# --------- -------- +# None None Always matches +# 'string' None Always matches +# None 'string' Does not match. Can't generate multiple APIs +# or profiles, so if an API/profile constraint +# is present, it must be asked for explicitly. +# 'string' 'string' Strings must match +# +# ** In the future, we will allow regexes for the attributes, +# not just strings, so that api="^(gl|gles2)" will match. Even +# this isn't really quite enough, we might prefer something +# like "gl(core)|gles1(common-lite)". +def matchAPIProfile(api, profile, elem): + """Match a requested API & profile name to a api & profile attributes of an Element""" + match = True + # Match 'api', if present + if ('api' in elem.attrib): + if (api == None): + raise UserWarning("No API requested, but 'api' attribute is present with value '" + + elem.get('api') + "'") + elif (api != elem.get('api')): + # Requested API doesn't match attribute + return False + if ('profile' in elem.attrib): + if (profile == None): + raise UserWarning("No profile requested, but 'profile' attribute is present with value '" + + elem.get('profile') + "'") + elif (profile != elem.get('profile')): + # Requested profile doesn't match attribute + return False + return True + +# BaseInfo - base class for information about a registry feature +# (type/group/enum/command/API/extension). +# required - should this feature be defined during header generation +# (has it been removed by a profile or version)? +# declared - has this feature been defined already? +# elem - lxml.etree Element for this feature +# resetState() - reset required/declared to initial values. Used +# prior to generating a new API interface. +class BaseInfo: + """Represents the state of a registry feature, used during API generation""" + def __init__(self, elem): + self.required = False + self.declared = False + self.elem = elem + def resetState(self): + self.required = False + self.declared = False + +# TypeInfo - registry information about a type. No additional state +# beyond BaseInfo is required. +class TypeInfo(BaseInfo): + """Represents the state of a registry type""" + def __init__(self, elem): + BaseInfo.__init__(self, elem) + +# GroupInfo - registry information about a group of related enums. +# enums - dictionary of enum names which are in the group +class GroupInfo(BaseInfo): + """Represents the state of a registry enumerant group""" + def __init__(self, elem): + BaseInfo.__init__(self, elem) + self.enums = {} + +# EnumInfo - registry information about an enum +# type - numeric type of the value of the tag +# ( '' for GLint, 'u' for GLuint, 'ull' for GLuint64 ) +class EnumInfo(BaseInfo): + """Represents the state of a registry enum""" + def __init__(self, elem): + BaseInfo.__init__(self, elem) + self.type = elem.get('type') + if (self.type == None): + self.type = '' + +# CmdInfo - registry information about a command +# glxtype - type of GLX protocol { None, 'render', 'single', 'vendor' } +# glxopcode - GLX protocol opcode { None, number } +# glxequiv - equivalent command at GLX dispatch level { None, string } +# vecequiv - equivalent vector form of a command taking multiple scalar args +# { None, string } +class CmdInfo(BaseInfo): + """Represents the state of a registry command""" + def __init__(self, elem): + BaseInfo.__init__(self, elem) + self.glxtype = None + self.glxopcode = None + self.glxequiv = None + self.vecequiv = None + +# FeatureInfo - registry information about an API +# or +# name - feature name string (e.g. 'GL_ARB_multitexture') +# number - feature version number (e.g. 1.2). +# features are unversioned and assigned version number 0. +# category - category, e.g. VERSION or ARB/KHR/OES/ETC/vendor +# emit - has this feature been defined already? +class FeatureInfo(BaseInfo): + """Represents the state of an API feature (version/extension)""" + def __init__(self, elem): + BaseInfo.__init__(self, elem) + self.name = elem.get('name') + # Determine element category (vendor). Only works + # for elements. + if (elem.tag == 'feature'): + self.category = 'VERSION' + self.number = elem.get('number') + else: + self.category = self.name.split('_', 2)[1] + self.number = "0" + self.emit = False + +# Primary sort key for regSortFeatures. +# Sorts by category of the feature name string: +# Core API features (those defined with a tag) +# ARB/KHR/OES (Khronos extensions) +# other (EXT/vendor extensions) +def regSortCategoryKey(feature): + if (feature.elem.tag == 'feature'): + return 0 + elif (feature.category == 'ARB' or + feature.category == 'KHR' or + feature.category == 'OES'): + return 1 + else: + return 2 + +# Secondary sort key for regSortFeatures. +# Sorts by extension name. +def regSortNameKey(feature): + return feature.name + +# Tertiary sort key for regSortFeatures. +# Sorts by feature version number. +# elements all have version number "0" +def regSortNumberKey(feature): + return feature.number + +# regSortFeatures - default sort procedure for features. +# Sorts by primary key of feature category, +# then by feature name within the category, +# then by version number +def regSortFeatures(featureList): + featureList.sort(key = regSortNumberKey) + featureList.sort(key = regSortNameKey) + featureList.sort(key = regSortCategoryKey) + +# GeneratorOptions - base class for options used during header production +# These options are target language independent, and used by +# Registry.apiGen() and by base OutputGenerator objects. +# +# Members +# filename - name of file to generate, or None to write to stdout. +# apiname - string matching 'apiname' attribute, e.g. 'gl'. +# profile - string specifying API profile , e.g. 'core', or None. +# versions - regex matching API versions to process interfaces for. +# Normally '.*' or '[0-9]\.[0-9]' to match all defined versions. +# emitversions - regex matching API versions to actually emit +# interfaces for (though all requested versions are considered +# when deciding which interfaces to generate). For GL 4.3 glext.h, +# this might be '1\.[2-5]|[2-4]\.[0-9]'. +# defaultExtensions - If not None, a string which must in its +# entirety match the pattern in the "supported" attribute of +# the . Defaults to None. Usually the same as apiname. +# addExtensions - regex matching names of additional extensions +# to include. Defaults to None. +# removeExtensions - regex matching names of extensions to +# remove (after defaultExtensions and addExtensions). Defaults +# to None. +# sortProcedure - takes a list of FeatureInfo objects and sorts +# them in place to a preferred order in the generated output. +# Default is core API versions, ARB/KHR/OES extensions, all +# other extensions, alphabetically within each group. +# The regex patterns can be None or empty, in which case they match +# nothing. +class GeneratorOptions: + """Represents options during header production from an API registry""" + def __init__(self, + filename = None, + apiname = None, + profile = None, + versions = '.*', + emitversions = '.*', + defaultExtensions = None, + addExtensions = None, + removeExtensions = None, + sortProcedure = regSortFeatures): + self.filename = filename + self.apiname = apiname + self.profile = profile + self.versions = self.emptyRegex(versions) + self.emitversions = self.emptyRegex(emitversions) + self.defaultExtensions = defaultExtensions + self.addExtensions = self.emptyRegex(addExtensions) + self.removeExtensions = self.emptyRegex(removeExtensions) + self.sortProcedure = sortProcedure + # + # Substitute a regular expression which matches no version + # or extension names for None or the empty string. + def emptyRegex(self,pat): + if (pat == None or pat == ''): + return '_nomatch_^' + else: + return pat + +# CGeneratorOptions - subclass of GeneratorOptions. +# +# Adds options used by COutputGenerator objects during C language header +# generation. +# +# Additional members +# prefixText - list of strings to prefix generated header with +# (usually a copyright statement + calling convention macros). +# protectFile - True if multiple inclusion protection should be +# generated (based on the filename) around the entire header. +# protectFeature - True if #ifndef..#endif protection should be +# generated around a feature interface in the header file. +# genFuncPointers - True if function pointer typedefs should be +# generated +# protectProto - Controls cpp protection around prototypes: +# False - no protection +# 'nonzero' - protectProtoStr must be defined to a nonzero value +# True - protectProtoStr must be defined +# protectProtoStr - #ifdef symbol to use around prototype +# declarations, if protected +# apicall - string to use for the function declaration prefix, +# such as APICALL on Windows. +# apientry - string to use for the calling convention macro, +# in typedefs, such as APIENTRY. +# apientryp - string to use for the calling convention macro +# in function pointer typedefs, such as APIENTRYP. +class CGeneratorOptions(GeneratorOptions): + """Represents options during C header production from an API registry""" + def __init__(self, + filename = None, + apiname = None, + profile = None, + versions = '.*', + emitversions = '.*', + defaultExtensions = None, + addExtensions = None, + removeExtensions = None, + sortProcedure = regSortFeatures, + prefixText = "", + genFuncPointers = True, + protectFile = True, + protectFeature = True, + protectProto = True, + protectProtoStr = True, + apicall = '', + apientry = '', + apientryp = ''): + GeneratorOptions.__init__(self, filename, apiname, profile, + versions, emitversions, defaultExtensions, + addExtensions, removeExtensions, sortProcedure) + self.prefixText = prefixText + self.genFuncPointers = genFuncPointers + self.protectFile = protectFile + self.protectFeature = protectFeature + self.protectProto = protectProto + self.protectProtoStr = protectProtoStr + self.apicall = apicall + self.apientry = apientry + self.apientryp = apientryp + +# OutputGenerator - base class for generating API interfaces. +# Manages basic logic, logging, and output file control +# Derived classes actually generate formatted output. +# +# ---- methods ---- +# OutputGenerator(errFile, warnFile, diagFile) +# errFile, warnFile, diagFile - file handles to write errors, +# warnings, diagnostics to. May be None to not write. +# logMsg(level, *args) - log messages of different categories +# level - 'error', 'warn', or 'diag'. 'error' will also +# raise a UserWarning exception +# *args - print()-style arguments +# beginFile(genOpts) - start a new interface file +# genOpts - GeneratorOptions controlling what's generated and how +# endFile() - finish an interface file, closing it when done +# beginFeature(interface, emit) - write interface for a feature +# and tag generated features as having been done. +# interface - element for the / to generate +# emit - actually write to the header only when True +# endFeature() - finish an interface. +# genType(typeinfo,name) - generate interface for a type +# typeinfo - TypeInfo for a type +# genEnum(enuminfo, name) - generate interface for an enum +# enuminfo - EnumInfo for an enum +# name - enum name +# genCmd(cmdinfo) - generate interface for a command +# cmdinfo - CmdInfo for a command +class OutputGenerator: + """Generate specified API interfaces in a specific style, such as a C header""" + def __init__(self, + errFile = sys.stderr, + warnFile = sys.stderr, + diagFile = sys.stdout): + self.outFile = None + self.errFile = errFile + self.warnFile = warnFile + self.diagFile = diagFile + # Internal state + self.featureName = None + self.genOpts = None + # + # logMsg - write a message of different categories to different + # destinations. + # level - + # 'diag' (diagnostic, voluminous) + # 'warn' (warning) + # 'error' (fatal error - raises exception after logging) + # *args - print()-style arguments to direct to corresponding log + def logMsg(self, level, *args): + """Log a message at the given level. Can be ignored or log to a file""" + if (level == 'error'): + strfile = io.StringIO() + write('ERROR:', *args, file=strfile) + if (self.errFile != None): + write(strfile.getvalue(), file=self.errFile) + raise UserWarning(strfile.getvalue()) + elif (level == 'warn'): + if (self.warnFile != None): + write('WARNING:', *args, file=self.warnFile) + elif (level == 'diag'): + if (self.diagFile != None): + write('DIAG:', *args, file=self.diagFile) + else: + raise UserWarning( + '*** FATAL ERROR in Generator.logMsg: unknown level:' + level) + # + def beginFile(self, genOpts): + self.genOpts = genOpts + # + # Open specified output file. Not done in constructor since a + # Generator can be used without writing to a file. + if (self.genOpts.filename != None): + self.outFile = open(self.genOpts.filename, 'w') + else: + self.outFile = sys.stdout + def endFile(self): + self.errFile and self.errFile.flush() + self.warnFile and self.warnFile.flush() + self.diagFile and self.diagFile.flush() + self.outFile.flush() + if (self.outFile != sys.stdout and self.outFile != sys.stderr): + self.outFile.close() + self.genOpts = None + # + def beginFeature(self, interface, emit): + self.emit = emit + self.featureName = interface.get('name') + # If there's an additional 'protect' attribute in the feature, save it + self.featureExtraProtect = interface.get('protect') + def endFeature(self): + # Derived classes responsible for emitting feature + self.featureName = None + self.featureExtraProtect = None + # + # Type generation + def genType(self, typeinfo, name): + if (self.featureName == None): + raise UserWarning('Attempt to generate type', name, + 'when not in feature') + # + # Enumerant generation + def genEnum(self, enuminfo, name): + if (self.featureName == None): + raise UserWarning('Attempt to generate enum', name, + 'when not in feature') + # + # Command generation + def genCmd(self, cmd, name): + if (self.featureName == None): + raise UserWarning('Attempt to generate command', name, + 'when not in feature') + +# COutputGenerator - subclass of OutputGenerator. +# Generates C-language API interfaces. +# +# ---- methods ---- +# COutputGenerator(errFile, warnFile, diagFile) - args as for +# OutputGenerator. Defines additional internal state. +# makeCDecls(cmd) - return C prototype and function pointer typedef for a +# Element, as a list of two strings +# cmd - Element for the +# newline() - print a newline to the output file (utility function) +# ---- methods overriding base class ---- +# beginFile(genOpts) +# endFile() +# beginFeature(interface, emit) +# endFeature() +# genType(typeinfo,name) - generate interface for a type +# genEnum(enuminfo, name) +# genCmd(cmdinfo) +class COutputGenerator(OutputGenerator): + """Generate specified API interfaces in a specific style, such as a C header""" + def __init__(self, + errFile = sys.stderr, + warnFile = sys.stderr, + diagFile = sys.stdout): + OutputGenerator.__init__(self, errFile, warnFile, diagFile) + # Internal state - accumulators for different inner block text + self.typeBody = '' + self.enumBody = '' + self.cmdBody = '' + # + # makeCDecls - return C prototype and function pointer typedef for a + # command, as a two-element list of strings. + # cmd - Element containing a tag + def makeCDecls(self, cmd): + """Generate C function pointer typedef for Element""" + proto = cmd.find('proto') + params = cmd.findall('param') + # Begin accumulating prototype and typedef strings + pdecl = self.genOpts.apicall + tdecl = 'typedef ' + # + # Insert the function return type/name. + # For prototypes, add APIENTRY macro before the name + # For typedefs, add (APIENTRYP ) around the name and + # use the PFNGLCMDNAMEPROC nameng convention. + # Done by walking the tree for element by element. + # lxml.etree has elem.text followed by (elem[i], elem[i].tail) + # for each child element and any following text + # Leading text + pdecl += noneStr(proto.text) + tdecl += noneStr(proto.text) + # For each child element, if it's a wrap in appropriate + # declaration. Otherwise append its contents and tail contents. + for elem in proto: + text = noneStr(elem.text) + tail = noneStr(elem.tail) + if (elem.tag == 'name'): + pdecl += self.genOpts.apientry + text + tail + tdecl += '(' + self.genOpts.apientryp + 'PFN' + text.upper() + 'PROC' + tail + ')' + else: + pdecl += text + tail + tdecl += text + tail + # Now add the parameter declaration list, which is identical + # for prototypes and typedefs. Concatenate all the text from + # a node without the tags. No tree walking required + # since all tags are ignored. + n = len(params) + paramdecl = ' (' + if n > 0: + for i in range(0,n): + paramdecl += ''.join([t for t in params[i].itertext()]) + if (i < n - 1): + paramdecl += ', ' + else: + paramdecl += 'void' + paramdecl += ');\n'; + return [ pdecl + paramdecl, tdecl + paramdecl ] + # + def newline(self): + write('', file=self.outFile) + # + def beginFile(self, genOpts): + OutputGenerator.beginFile(self, genOpts) + # C-specific + # + # Multiple inclusion protection & C++ wrappers. + if (genOpts.protectFile and self.genOpts.filename): + headerSym = '__' + re.sub('\.h', '_h_', os.path.basename(self.genOpts.filename)) + write('#ifndef', headerSym, file=self.outFile) + write('#define', headerSym, '1', file=self.outFile) + self.newline() + write('#ifdef __cplusplus', file=self.outFile) + write('extern "C" {', file=self.outFile) + write('#endif', file=self.outFile) + self.newline() + # + # User-supplied prefix text, if any (list of strings) + if (genOpts.prefixText): + try: + git_rev = subprocess.check_output(['git', 'rev-parse', '--short=10', 'HEAD']).decode('utf-8').strip() + git_date = subprocess.check_output(['git', 'log', '-1', '--format=%ai']).decode('utf-8').strip() + except (OSError, subprocess.CalledProcessError): + git_rev = 'unknown' + git_date = 'unknown' + for s in genOpts.prefixText: + s = s.replace('$Revision$', '$Git commit SHA1: ' + git_rev + ' $') + s = s.replace('$Date$', '$Git commit date: ' + git_date + ' $') + write(s, file=self.outFile) + # + # Some boilerplate describing what was generated - this + # will probably be removed later since the extensions + # pattern may be very long. + write('/* Generated C header for:', file=self.outFile) + write(' * API:', genOpts.apiname, file=self.outFile) + if (genOpts.profile): + write(' * Profile:', genOpts.profile, file=self.outFile) + write(' * Versions considered:', genOpts.versions, file=self.outFile) + write(' * Versions emitted:', genOpts.emitversions, file=self.outFile) + write(' * Default extensions included:', genOpts.defaultExtensions, file=self.outFile) + write(' * Additional extensions included:', genOpts.addExtensions, file=self.outFile) + write(' * Extensions removed:', genOpts.removeExtensions, file=self.outFile) + write(' */', file=self.outFile) + def endFile(self): + # C-specific + # Finish C++ wrapper and multiple inclusion protection + self.newline() + write('#ifdef __cplusplus', file=self.outFile) + write('}', file=self.outFile) + write('#endif', file=self.outFile) + if (self.genOpts.protectFile and self.genOpts.filename): + self.newline() + write('#endif', file=self.outFile) + # Finish processing in superclass + OutputGenerator.endFile(self) + def beginFeature(self, interface, emit): + # Start processing in superclass + OutputGenerator.beginFeature(self, interface, emit) + # C-specific + # Accumulate types, enums, function pointer typedefs, end function + # prototypes separately for this feature. They're only printed in + # endFeature(). + self.typeBody = '' + self.enumBody = '' + self.cmdPointerBody = '' + self.cmdBody = '' + def endFeature(self): + # C-specific + # Actually write the interface to the output file. + if (self.emit): + self.newline() + if (self.genOpts.protectFeature): + write('#ifndef', self.featureName, file=self.outFile) + write('#define', self.featureName, '1', file=self.outFile) + if (self.typeBody != ''): + write(self.typeBody, end='', file=self.outFile) + # + # Don't add additional protection for derived type declarations, + # which may be needed by other features later on. + if (self.featureExtraProtect != None): + write('#ifdef', self.featureExtraProtect, file=self.outFile) + if (self.enumBody != ''): + write(self.enumBody, end='', file=self.outFile) + if (self.genOpts.genFuncPointers and self.cmdPointerBody != ''): + write(self.cmdPointerBody, end='', file=self.outFile) + if (self.cmdBody != ''): + if (self.genOpts.protectProto == True): + prefix = '#ifdef ' + self.genOpts.protectProtoStr + '\n' + suffix = '#endif\n' + elif (self.genOpts.protectProto == 'nonzero'): + prefix = '#if ' + self.genOpts.protectProtoStr + '\n' + suffix = '#endif\n' + elif (self.genOpts.protectProto == False): + prefix = '' + suffix = '' + else: + self.gen.logMsg('warn', + '*** Unrecognized value for protectProto:', + self.genOpts.protectProto, + 'not generating prototype wrappers') + prefix = '' + suffix = '' + + write(prefix + self.cmdBody + suffix, end='', file=self.outFile) + if (self.featureExtraProtect != None): + write('#endif /*', self.featureExtraProtect, '*/', file=self.outFile) + if (self.genOpts.protectFeature): + write('#endif /*', self.featureName, '*/', file=self.outFile) + # Finish processing in superclass + OutputGenerator.endFeature(self) + # + # Type generation + def genType(self, typeinfo, name): + OutputGenerator.genType(self, typeinfo, name) + # + # Replace tags with an APIENTRY-style string + # (from self.genOpts). Copy other text through unchanged. + # If the resulting text is an empty string, don't emit it. + typeElem = typeinfo.elem + s = noneStr(typeElem.text) + for elem in typeElem: + if (elem.tag == 'apientry'): + s += self.genOpts.apientry + noneStr(elem.tail) + else: + s += noneStr(elem.text) + noneStr(elem.tail) + if (len(s) > 0): + self.typeBody += s + '\n' + # + # Enumerant generation + def genEnum(self, enuminfo, name): + OutputGenerator.genEnum(self, enuminfo, name) + # + # EnumInfo.type is a C value suffix (e.g. u, ull) + self.enumBody += '#define ' + name.ljust(33) + ' ' + enuminfo.elem.get('value') + # + # Handle non-integer 'type' fields by using it as the C value suffix + t = enuminfo.elem.get('type') + if (t != '' and t != 'i'): + self.enumBody += enuminfo.type + self.enumBody += '\n' + # + # Command generation + def genCmd(self, cmdinfo, name): + OutputGenerator.genCmd(self, cmdinfo, name) + # + decls = self.makeCDecls(cmdinfo.elem) + self.cmdBody += decls[0] + if (self.genOpts.genFuncPointers): + self.cmdPointerBody += decls[1] + +# Registry - object representing an API registry, loaded from an XML file +# Members +# tree - ElementTree containing the root +# typedict - dictionary of TypeInfo objects keyed by type name +# groupdict - dictionary of GroupInfo objects keyed by group name +# enumdict - dictionary of EnumInfo objects keyed by enum name +# cmddict - dictionary of CmdInfo objects keyed by command name +# apidict - dictionary of Elements keyed by API name +# extensions - list of Elements +# extdict - dictionary of Elements keyed by extension name +# gen - OutputGenerator object used to write headers / messages +# genOpts - GeneratorOptions object used to control which +# fetures to write and how to format them +# emitFeatures - True to actually emit features for a version / extension, +# or False to just treat them as emitted +# Public methods +# loadElementTree(etree) - load registry from specified ElementTree +# loadFile(filename) - load registry from XML file +# setGenerator(gen) - OutputGenerator to use +# parseTree() - parse the registry once loaded & create dictionaries +# dumpReg(maxlen, filehandle) - diagnostic to dump the dictionaries +# to specified file handle (default stdout). Truncates type / +# enum / command elements to maxlen characters (default 80) +# generator(g) - specify the output generator object +# apiGen(apiname, genOpts) - generate API headers for the API type +# and profile specified in genOpts, but only for the versions and +# extensions specified there. +# apiReset() - call between calls to apiGen() to reset internal state +# validateGroups() - call to verify that each or +# with a 'group' attribute matches an actual existing group. +# Private methods +# addElementInfo(elem,info,infoName,dictionary) - add feature info to dict +# lookupElementInfo(fname,dictionary) - lookup feature info in dict +class Registry: + """Represents an API registry loaded from XML""" + def __init__(self): + self.tree = None + self.typedict = {} + self.groupdict = {} + self.enumdict = {} + self.cmddict = {} + self.apidict = {} + self.extensions = [] + self.extdict = {} + # A default output generator, so commands prior to apiGen can report + # errors via the generator object. + self.gen = OutputGenerator() + self.genOpts = None + self.emitFeatures = False + def loadElementTree(self, tree): + """Load ElementTree into a Registry object and parse it""" + self.tree = tree + self.parseTree() + def loadFile(self, file): + """Load an API registry XML file into a Registry object and parse it""" + self.tree = etree.parse(file) + self.parseTree() + def setGenerator(self, gen): + """Specify output generator object. None restores the default generator""" + self.gen = gen + # addElementInfo - add information about an element to the + # corresponding dictionary + # elem - ///// Element + # info - corresponding {Type|Group|Enum|Cmd|Feature}Info object + # infoName - 'type' / 'group' / 'enum' / 'command' / 'feature' / 'extension' + # dictionary - self.{type|group|enum|cmd|api|ext}dict + # If the Element has an 'api' attribute, the dictionary key is the + # tuple (name,api). If not, the key is the name. 'name' is an + # attribute of the Element + def addElementInfo(self, elem, info, infoName, dictionary): + if ('api' in elem.attrib): + key = (elem.get('name'),elem.get('api')) + else: + key = elem.get('name') + if key in dictionary: + self.gen.logMsg('warn', '*** Attempt to redefine', + infoName, 'with key:', key) + else: + dictionary[key] = info + # + # lookupElementInfo - find a {Type|Enum|Cmd}Info object by name. + # If an object qualified by API name exists, use that. + # fname - name of type / enum / command + # dictionary - self.{type|enum|cmd}dict + def lookupElementInfo(self, fname, dictionary): + key = (fname, self.genOpts.apiname) + if (key in dictionary): + # self.gen.logMsg('diag', 'Found API-specific element for feature', fname) + return dictionary[key] + elif (fname in dictionary): + # self.gen.logMsg('diag', 'Found generic element for feature', fname) + return dictionary[fname] + else: + return None + def parseTree(self): + """Parse the registry Element, once created""" + # This must be the Element for the root + self.reg = self.tree.getroot() + # + # Create dictionary of registry types from toplevel tags + # and add 'name' attribute to each tag (where missing) + # based on its element. + # + # There's usually one block; more are OK + # Required attributes: 'name' or nested tag contents + self.typedict = {} + for type in self.reg.findall('types/type'): + # If the doesn't already have a 'name' attribute, set + # it from contents of its tag. + if (type.get('name') == None): + type.attrib['name'] = type.find('name').text + self.addElementInfo(type, TypeInfo(type), 'type', self.typedict) + # + # Create dictionary of registry groups from toplevel tags. + # + # There's usually one block; more are OK. + # Required attributes: 'name' + self.groupdict = {} + for group in self.reg.findall('groups/group'): + self.addElementInfo(group, GroupInfo(group), 'group', self.groupdict) + # + # Create dictionary of registry enums from toplevel tags + # + # There are usually many tags in different namespaces, but + # these are functional namespaces of the values, while the actual + # enum names all share the dictionary. + # Required attributes: 'name', 'value' + self.enumdict = {} + for enum in self.reg.findall('enums/enum'): + self.addElementInfo(enum, EnumInfo(enum), 'enum', self.enumdict) + # + # Create dictionary of registry commands from tags + # and add 'name' attribute to each tag (where missing) + # based on its element. + # + # There's usually only one block; more are OK. + # Required attributes: 'name' or tag contents + self.cmddict = {} + for cmd in self.reg.findall('commands/command'): + # If the doesn't already have a 'name' attribute, set + # it from contents of its tag. + if (cmd.get('name') == None): + cmd.attrib['name'] = cmd.find('proto/name').text + ci = CmdInfo(cmd) + self.addElementInfo(cmd, ci, 'command', self.cmddict) + # + # Create dictionaries of API and extension interfaces + # from toplevel and tags. + # + self.apidict = {} + for feature in self.reg.findall('feature'): + ai = FeatureInfo(feature) + self.addElementInfo(feature, ai, 'feature', self.apidict) + self.extensions = self.reg.findall('extensions/extension') + self.extdict = {} + for feature in self.extensions: + ei = FeatureInfo(feature) + self.addElementInfo(feature, ei, 'extension', self.extdict) + def dumpReg(self, maxlen = 40, filehandle = sys.stdout): + """Dump all the dictionaries constructed from the Registry object""" + write('***************************************', file=filehandle) + write(' ** Dumping Registry contents **', file=filehandle) + write('***************************************', file=filehandle) + write('// Types', file=filehandle) + for name in self.typedict: + tobj = self.typedict[name] + write(' Type', name, '->', etree.tostring(tobj.elem)[0:maxlen], file=filehandle) + write('// Groups', file=filehandle) + for name in self.groupdict: + gobj = self.groupdict[name] + write(' Group', name, '->', etree.tostring(gobj.elem)[0:maxlen], file=filehandle) + write('// Enums', file=filehandle) + for name in self.enumdict: + eobj = self.enumdict[name] + write(' Enum', name, '->', etree.tostring(eobj.elem)[0:maxlen], file=filehandle) + write('// Commands', file=filehandle) + for name in self.cmddict: + cobj = self.cmddict[name] + write(' Command', name, '->', etree.tostring(cobj.elem)[0:maxlen], file=filehandle) + write('// APIs', file=filehandle) + for key in self.apidict: + write(' API Version ', key, '->', + etree.tostring(self.apidict[key].elem)[0:maxlen], file=filehandle) + write('// Extensions', file=filehandle) + for key in self.extdict: + write(' Extension', key, '->', + etree.tostring(self.extdict[key].elem)[0:maxlen], file=filehandle) + # write('***************************************', file=filehandle) + # write(' ** Dumping XML ElementTree **', file=filehandle) + # write('***************************************', file=filehandle) + # write(etree.tostring(self.tree.getroot(),pretty_print=True), file=filehandle) + # + # typename - name of type + # required - boolean (to tag features as required or not) + def markTypeRequired(self, typename, required): + """Require (along with its dependencies) or remove (but not its dependencies) a type""" + self.gen.logMsg('diag', '*** tagging type:', typename, '-> required =', required) + # Get TypeInfo object for tag corresponding to typename + type = self.lookupElementInfo(typename, self.typedict) + if (type != None): + # Tag required type dependencies as required. + # This DOES NOT un-tag dependencies in a tag. + # See comments in markRequired() below for the reason. + if (required and ('requires' in type.elem.attrib)): + depType = type.elem.get('requires') + self.gen.logMsg('diag', '*** Generating dependent type', + depType, 'for type', typename) + self.markTypeRequired(depType, required) + type.required = required + else: + self.gen.logMsg('warn', '*** type:', typename , 'IS NOT DEFINED') + # + # features - Element for or tag + # required - boolean (to tag features as required or not) + def markRequired(self, features, required): + """Require or remove features specified in the Element""" + self.gen.logMsg('diag', '*** markRequired (features = , required =', required, ')') + # Loop over types, enums, and commands in the tag + # @@ It would be possible to respect 'api' and 'profile' attributes + # in individual features, but that's not done yet. + for typeElem in features.findall('type'): + self.markTypeRequired(typeElem.get('name'), required) + for enumElem in features.findall('enum'): + name = enumElem.get('name') + self.gen.logMsg('diag', '*** tagging enum:', name, '-> required =', required) + enum = self.lookupElementInfo(name, self.enumdict) + if (enum != None): + enum.required = required + else: + self.gen.logMsg('warn', '*** enum:', name , 'IS NOT DEFINED') + for cmdElem in features.findall('command'): + name = cmdElem.get('name') + self.gen.logMsg('diag', '*** tagging command:', name, '-> required =', required) + cmd = self.lookupElementInfo(name, self.cmddict) + if (cmd != None): + cmd.required = required + # Tag all parameter types of this command as required. + # This DOES NOT remove types of commands in a + # tag, because many other commands may use the same type. + # We could be more clever and reference count types, + # instead of using a boolean. + if (required): + # Look for in entire tree, + # not just immediate children + for ptype in cmd.elem.findall('.//ptype'): + self.gen.logMsg('diag', '*** markRequired: command implicitly requires dependent type', ptype.text) + self.markTypeRequired(ptype.text, required) + else: + self.gen.logMsg('warn', '*** command:', name, 'IS NOT DEFINED') + # + # interface - Element for or , containing + # and tags + # api - string specifying API name being generated + # profile - string specifying API profile being generated + def requireAndRemoveFeatures(self, interface, api, profile): + """Process and tags for a or """ + # marks things that are required by this version/profile + for feature in interface.findall('require'): + if (matchAPIProfile(api, profile, feature)): + self.markRequired(feature,True) + # marks things that are removed by this version/profile + for feature in interface.findall('remove'): + if (matchAPIProfile(api, profile, feature)): + self.markRequired(feature,False) + # + # generateFeature - generate a single type / enum / command, + # and all its dependencies as needed. + # fname - name of feature (// + # ftype - type of feature, 'type' | 'enum' | 'command' + # dictionary - of *Info objects - self.{type|enum|cmd}dict + # genProc - bound function pointer for self.gen.gen{Type|Enum|Cmd} + def generateFeature(self, fname, ftype, dictionary, genProc): + f = self.lookupElementInfo(fname, dictionary) + if (f == None): + # No such feature. This is an error, but reported earlier + self.gen.logMsg('diag', '*** No entry found for feature', fname, + 'returning!') + return + # + # If feature isn't required, or has already been declared, return + if (not f.required): + self.gen.logMsg('diag', '*** Skipping', ftype, fname, '(not required)') + return + if (f.declared): + self.gen.logMsg('diag', '*** Skipping', ftype, fname, '(already declared)') + return + # + # Pull in dependent type declaration(s) of the feature. + # For types, there may be one in the 'required' attribute of the element + # For commands, there may be many in tags within the element + # For enums, no dependencies are allowed (though perhasps if you + # have a uint64 enum, it should require GLuint64) + if (ftype == 'type'): + if ('requires' in f.elem.attrib): + depname = f.elem.get('requires') + self.gen.logMsg('diag', '*** Generating required dependent type', + depname) + self.generateFeature(depname, 'type', self.typedict, + self.gen.genType) + elif (ftype == 'command'): + for ptype in f.elem.findall('.//ptype'): + depname = ptype.text + self.gen.logMsg('diag', '*** Generating required parameter type', + depname) + self.generateFeature(depname, 'type', self.typedict, + self.gen.genType) + # + # Actually generate the type only if emitting declarations + if self.emitFeatures: + self.gen.logMsg('diag', '*** Emitting', ftype, 'decl for', fname) + genProc(f, fname) + else: + self.gen.logMsg('diag', '*** Skipping', ftype, fname, + '(not emitting this feature)') + # Always mark feature declared, as though actually emitted + f.declared = True + # + # generateRequiredInterface - generate all interfaces required + # by an API version or extension + # interface - Element for or + def generateRequiredInterface(self, interface): + """Generate required C interface for specified API version/extension""" + # + # Loop over all features inside all tags. + # tags are ignored (handled in pass 1). + for features in interface.findall('require'): + for t in features.findall('type'): + self.generateFeature(t.get('name'), 'type', self.typedict, + self.gen.genType) + for e in features.findall('enum'): + self.generateFeature(e.get('name'), 'enum', self.enumdict, + self.gen.genEnum) + for c in features.findall('command'): + self.generateFeature(c.get('name'), 'command', self.cmddict, + self.gen.genCmd) + # + # apiGen(genOpts) - generate interface for specified versions + # genOpts - GeneratorOptions object with parameters used + # by the Generator object. + def apiGen(self, genOpts): + """Generate interfaces for the specified API type and range of versions""" + # + self.gen.logMsg('diag', '*******************************************') + self.gen.logMsg('diag', ' Registry.apiGen file:', genOpts.filename, + 'api:', genOpts.apiname, + 'profile:', genOpts.profile) + self.gen.logMsg('diag', '*******************************************') + # + self.genOpts = genOpts + # Reset required/declared flags for all features + self.apiReset() + # + # Compile regexps used to select versions & extensions + regVersions = re.compile(self.genOpts.versions) + regEmitVersions = re.compile(self.genOpts.emitversions) + regAddExtensions = re.compile(self.genOpts.addExtensions) + regRemoveExtensions = re.compile(self.genOpts.removeExtensions) + # + # Get all matching API versions & add to list of FeatureInfo + features = [] + apiMatch = False + for key in self.apidict: + fi = self.apidict[key] + api = fi.elem.get('api') + if (api == self.genOpts.apiname): + apiMatch = True + if (regVersions.match(fi.number)): + # Matches API & version #s being generated. Mark for + # emission and add to the features[] list . + # @@ Could use 'declared' instead of 'emit'? + fi.emit = (regEmitVersions.match(fi.number) != None) + features.append(fi) + if (not fi.emit): + self.gen.logMsg('diag', '*** NOT tagging feature api =', api, + 'name =', fi.name, 'number =', fi.number, + 'for emission (does not match emitversions pattern)') + else: + self.gen.logMsg('diag', '*** NOT including feature api =', api, + 'name =', fi.name, 'number =', fi.number, + '(does not match requested versions)') + else: + self.gen.logMsg('diag', '*** NOT including feature api =', api, + 'name =', fi.name, + '(does not match requested API)') + if (not apiMatch): + self.gen.logMsg('warn', '*** No matching API versions found!') + # + # Get all matching extensions & add to the list. + # Start with extensions tagged with 'api' pattern matching the API + # being generated. Add extensions matching the pattern specified in + # regExtensions, then remove extensions matching the pattern + # specified in regRemoveExtensions + for key in self.extdict: + ei = self.extdict[key] + extName = ei.name + include = False + # + # Include extension if defaultExtensions is not None and if the + # 'supported' attribute matches defaultExtensions. The regexp in + # 'supported' must exactly match defaultExtensions, so bracket + # it with ^(pat)$. + pat = '^(' + ei.elem.get('supported') + ')$' + if (self.genOpts.defaultExtensions and + re.match(pat, self.genOpts.defaultExtensions)): + self.gen.logMsg('diag', '*** Including extension', + extName, "(defaultExtensions matches the 'supported' attribute)") + include = True + # + # Include additional extensions if the extension name matches + # the regexp specified in the generator options. This allows + # forcing extensions into an interface even if they're not + # tagged appropriately in the registry. + if (regAddExtensions.match(extName) != None): + self.gen.logMsg('diag', '*** Including extension', + extName, '(matches explicitly requested extensions to add)') + include = True + # Remove extensions if the name matches the regexp specified + # in generator options. This allows forcing removal of + # extensions from an interface even if they're tagged that + # way in the registry. + if (regRemoveExtensions.match(extName) != None): + self.gen.logMsg('diag', '*** Removing extension', + extName, '(matches explicitly requested extensions to remove)') + include = False + # + # If the extension is to be included, add it to the + # extension features list. + if (include): + ei.emit = True + features.append(ei) + else: + self.gen.logMsg('diag', '*** NOT including extension', + extName, '(does not match api attribute or explicitly requested extensions)') + # + # Sort the extension features list, if a sort procedure is defined + if (self.genOpts.sortProcedure): + self.genOpts.sortProcedure(features) + # + # Pass 1: loop over requested API versions and extensions tagging + # types/commands/features as required (in an block) or no + # longer required (in an block). It is possible to remove + # a feature in one version and restore it later by requiring it in + # a later version. + # If a profile other than 'None' is being generated, it must + # match the profile attribute (if any) of the and + # tags. + self.gen.logMsg('diag', '*** PASS 1: TAG FEATURES ********************************************') + for f in features: + self.gen.logMsg('diag', '*** PASS 1: Tagging required and removed features for', + f.name) + self.requireAndRemoveFeatures(f.elem, self.genOpts.apiname, self.genOpts.profile) + # + # Pass 2: loop over specified API versions and extensions printing + # declarations for required things which haven't already been + # generated. + self.gen.logMsg('diag', '*** PASS 2: GENERATE INTERFACES FOR FEATURES ************************') + self.gen.beginFile(self.genOpts) + for f in features: + self.gen.logMsg('diag', '*** PASS 2: Generating interface for', + f.name) + emit = self.emitFeatures = f.emit + if (not emit): + self.gen.logMsg('diag', '*** PASS 2: NOT declaring feature', + f.elem.get('name'), 'because it is not tagged for emission') + # Generate the interface (or just tag its elements as having been + # emitted, if they haven't been). + self.gen.beginFeature(f.elem, emit) + self.generateRequiredInterface(f.elem) + self.gen.endFeature() + self.gen.endFile() + # + # apiReset - use between apiGen() calls to reset internal state + # + def apiReset(self): + """Reset type/enum/command dictionaries before generating another API""" + for type in self.typedict: + self.typedict[type].resetState() + for enum in self.enumdict: + self.enumdict[enum].resetState() + for cmd in self.cmddict: + self.cmddict[cmd].resetState() + for cmd in self.apidict: + self.apidict[cmd].resetState() + # + # validateGroups - check that group= attributes match actual groups + # + def validateGroups(self): + """Validate group= attributes on and tags""" + # Keep track of group names not in tags + badGroup = {} + self.gen.logMsg('diag', '*** VALIDATING GROUP ATTRIBUTES ***') + for cmd in self.reg.findall('commands/command'): + proto = cmd.find('proto') + funcname = cmd.find('proto/name').text + if ('group' in proto.attrib.keys()): + group = proto.get('group') + # self.gen.logMsg('diag', '*** Command ', funcname, ' has return group ', group) + if (group not in self.groupdict.keys()): + # self.gen.logMsg('diag', '*** Command ', funcname, ' has UNKNOWN return group ', group) + if (group not in badGroup.keys()): + badGroup[group] = 1 + else: + badGroup[group] = badGroup[group] + 1 + for param in cmd.findall('param'): + pname = param.find('name') + if (pname != None): + pname = pname.text + else: + pname = type.get('name') + if ('group' in param.attrib.keys()): + group = param.get('group') + if (group not in self.groupdict.keys()): + # self.gen.logMsg('diag', '*** Command ', funcname, ' param ', pname, ' has UNKNOWN group ', group) + if (group not in badGroup.keys()): + badGroup[group] = 1 + else: + badGroup[group] = badGroup[group] + 1 + if (len(badGroup.keys()) > 0): + self.gen.logMsg('diag', '*** SUMMARY OF UNRECOGNIZED GROUPS ***') + for key in sorted(badGroup.keys()): + self.gen.logMsg('diag', ' ', key, ' occurred ', badGroup[key], ' times') diff --git a/glew/auto/EGL-Registry/api/registry.rnc b/glew/auto/EGL-Registry/api/registry.rnc new file mode 100644 index 0000000..be70668 --- /dev/null +++ b/glew/auto/EGL-Registry/api/registry.rnc @@ -0,0 +1,270 @@ +# Copyright 2013-2020 The Khronos Group Inc. +# SPDX-License-Identifier: Apache-2.0 + +# Relax NG schema for Khronos Registry XML +# See https://www.github.com/KhronosGroup/EGL-Registry +# +# Last modified 2017/02/03 +# This definition is subject to change (mostly in the form of additions) + +namespace xsd = "http://www.w3.org/2001/XMLSchema-datatypes" + +# Toplevel is a tag. +# May be led by an optional tag containing e.g. copyrights. +start = element registry { + ( + element comment { text } ? | + Types * | + Groups * | + Enums * | + Commands * | + Feature * | + Extensions * + ) * +} + +# defines a group of types +Types = element types { + Type * +} + +# defines a single type. It is usually a C typedef but +# may contain arbitrary C code. +# name - name of this type, if not present in the tag +# api - matches a api attribute, if present +# requires - name of another type definition required by this one +# type - "group", if present, indicating a group of values in the +# corresponding definition. +# comment - unused +# - substitutes for an APIENTRY-style macro on output +# - contains typename +Type = element type { + attribute api { text } ? , + attribute requires { text } ? , + attribute name { TypeName } ? , + attribute type { text } ? , + Comment ? , + text , + element apientry { text } ? , + text , + element name { TypeName } ? , + text +} + +# defines a group of enum groups +Groups = element groups { + Group * +} + +# defines a single enum group. Enums may +# be in multiple groups. +# name - group name +# comment - unused +# - members of the group + +Group = element group { + Name , + Comment ? , + element enum { Name } * +} + +# defines a group of enumerants +# namespace - identifies a numeric namespace +# group - identifies a functional subset of the namespace - same as +# start, end - beginning and end of a numeric range in the namespace +# vendor - owner of the numeric range +# type - "bitmask", if present +# comment - unused +Enums = element enums { + attribute namespace { text } ? , + attribute group { text } ? , + attribute type { text } ? , + attribute start { Integer } ? , + attribute end { Integer } ? , + Vendor ? , + Comment ? , + (Enum | Unused) * +} +# defines a single enumerant +# value - integer (including hex) value of the enumerant +# api - matches a api attribute, if present +# type - "u" (unsigned), "ull" (uint64), or integer if not present +# name - enumerant name +# alias - another enumerant this is semantically identical to +# comment - unused +Enum = element enum { + ( + attribute value { Integer } & + attribute api { text } ? & + attribute type { TypeSuffix } ? & + attribute name { text } & + attribute alias { text } ? & + Comment ? + ) +} +# defines a range of enumerants not currently being used +# start, end - beginning and end of an unused numeric range +# vendor - unused +# comment - unused +Unused = element unused { + attribute start { Integer } , + attribute end { Integer } ? , + Vendor ? , + Comment ? +} +# defines a group of commands +# namespace - identifies a function namespace +Commands = element commands { + attribute namespace { text } ? , + Command * +} +# defines a single command +# is the C function prototype, including the return type +# are function parameters, in order +# is a name, if present +# is the function / parameter name +# The textual contents of and should be legal C +# for those parts of a function declaration. +# - denotes function aliasing +# name - name of aliased function +# - denotes scalar / vector function equivalence +# name - name of corresponding vector form, e.g. (glColor3f -> glColor3fv) +# - information about GLX protocol +# type - "render", "single", or "vendor" for GLXRender, GLXSingle, GLXVendorPrivate{WithReply} +# opcode - numeric opcode of specified type for this function +# name - if present, protocol name (defaults to command name) +# comment - unused +Command = element command { + Comment ? , + element proto { + attribute group { text } ? , + text , + element ptype { TypeName } ? , + text , + element name { text } , + text + } , + element param { + attribute group { text } ? , + attribute len { text } ? , + text , + element ptype { TypeName } ? , + text , + element name { text } , + text + } * , + ( + element alias { + Name + } ? & + element vecequiv { + Name + } ? & + element glx { + attribute type { text } , + attribute opcode { xsd:integer } , + Name ? , + Comment ? + } * + ) +} +# Each defines the interface of an API version (e.g. OpenGL 1.2) +# api - API tag (e.g. 'gl', 'gles2', etc. - used internally, not +# neccessarily an actual API name +# name - version name (C preprocessor name, e.g. GL_VERSION_4_2) +# number - version number, e.g. 4.2 +# protect - additional #ifdef symbol to place around the feature +# / contains features to require or remove in +# this version +# profile - only require/remove when generated profile matches +# comment - unused +Feature = element feature { + attribute api { text } , + Name , + attribute number { xsd:float } , + attribute protect { text } ?, + Comment ? , + ( + element require { + ProfileName ? , + Comment ? , + InterfaceElement * + } | + element remove { + ProfileName ? , + Comment ? , + InterfaceElement * + } + ) * +} +Extensions = element extensions { + Extension * +} +# Defines the interface of an API . Like a +# tag, but with a slightly different api attribute. +# api - regexp pattern matching one or more API tags, indicating +# which APIs the extension is known to work with. The only +# syntax supported is {|}* and each name must +# exactly match an API being generated (implicit ^$ surrounding). +# In addition, / tags also support an +# api attribute: +# api - only require/remove these features for the matching API. +# Not a regular expression. +Extension = element extension { + Name , + attribute protect { text } ?, + attribute supported { StringGroup } ? , + Comment ? , + ( + element require { + attribute api { text } ? , + ProfileName ? , + Comment ? , + InterfaceElement * + } | + element remove { + attribute api { text } ? , + ProfileName ? , + Comment ? , + InterfaceElement * + } + ) * +} +# Contents of a / tag, defining a group +# of features to require or remove. +# / / all have attributes +# name - feature name which must match +InterfaceElement = + element type { + Name , + Comment ? + } | + element enum { + Name , + Comment ? + } | + element command { + Name , + Comment ? + } + +# Integers are allowed to be either decimal or C-hex (0x[0-9A-F]+), but +# XML Schema types don't seem to support hex notation, so we use this +# as a placeholder. +Integer = text + +# TypeName is an argument/return value C type name +TypeName = text + +# TypeSuffix is a C numeric type suffix, e.g. 'u' or 'ull' +TypeSuffix = text + +# StringGroup is a regular expression with an implicit +# '^(' and ')$' bracketing it. +StringGroup = text + +# Repeatedly used attributes +ProfileName = attribute profile { text } +Vendor = attribute vendor { text } +Comment = attribute comment { text } +Name = attribute name { text } diff --git a/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_GLES_layers.txt b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_GLES_layers.txt new file mode 100644 index 0000000..eb2a7d9 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_GLES_layers.txt @@ -0,0 +1,64 @@ +Name + + ANDROID_GLES_layers + +Name Strings + + EGL_ANDROID_GLES_layers + +Contributors + + Cody Northrop + +Contact + + Cody Northrop, Google LLC (cnorthrop 'at' google.com) + +Status + + Draft + +Version + + Version 1, March 3, 2019 + +Number + + EGL Extension #132 + +Extension Type + + EGL client extension + +Dependencies + + Requires EGL 1.5 or EGL_EXT_client_extensions + +Overview + + This extension indicates the EGL loader supports GLES layering on Android. + It does not add any requirements to drivers or hardware. + + See frameworks/native/opengl/libs/EGL/GLES_layers.md in Android for + more information. + +New Types + + None + +New Procedures and Functions + + None + +New Tokens + + None + +Issues + + None + +Revision History + +#1 (Cody Northrop, March 3, 2019) + - Initial draft. diff --git a/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_blob_cache.txt b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_blob_cache.txt new file mode 100644 index 0000000..e984694 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_blob_cache.txt @@ -0,0 +1,211 @@ +Name + + ANDROID_blob_cache + +Name Strings + + EGL_ANDROID_blob_cache + +Contributors + + Jamie Gennis + +Contact + + Jamie Gennis, Google Inc. (jgennis 'at' google.com) + +Status + + Complete + +Version + + Version 3, December 13, 2012 + +Number + + EGL Extension #48 + +Dependencies + + Requires EGL 1.0 + + This extension is written against the wording of the EGL 1.4 Specification + +Overview + + Shader compilation and optimization has been a troublesome aspect of OpenGL + programming for a long time. It can consume seconds of CPU cycles during + application start-up. Additionally, state-based re-compiles done + internally by the drivers add an unpredictable element to application + performance tuning, often leading to occasional pauses in otherwise smooth + animations. + + This extension provides a mechanism through which client API + implementations may cache shader binaries after they are compiled. It may + then retrieve those cached shaders during subsequent executions of the same + program. The management of the cache is handled by the application (or + middleware), allowing it to be tuned to a particular platform or + environment. + + While the focus of this extension is on providing a persistent cache for + shader binaries, it may also be useful for caching other data. This is + perfectly acceptable, but the guarantees provided (or lack thereof) were + designed around the shader use case. + + Note that although this extension is written as if the application + implements the caching functionality, on the Android OS it is implemented + as part of the Android EGL module. This extension is not exposed to + applications on Android, but will be used automatically in every + application that uses EGL if it is supported by the underlying + device-specific EGL implementation. + +New Types + + /* + * EGLsizeiANDROID is a signed integer type for representing the size of a + * memory buffer. + */ + #include + typedef khronos_ssize_t EGLsizeiANDROID; + + /* + * EGLSetBlobFunc is a pointer to an application-provided function that a + * client API implementation may use to insert a key/value pair into the + * cache. + */ + typedef void (*EGLSetBlobFuncANDROID) (const void* key, + EGLsizeiANDROID keySize, const void* value, EGLsizeiANDROID valueSize) + + /* + * EGLGetBlobFunc is a pointer to an application-provided function that a + * client API implementation may use to retrieve a cached value from the + * cache. + */ + typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void* key, + EGLsizeiANDROID keySize, void* value, EGLsizeiANDROID valueSize) + +New Procedures and Functions + + void eglSetBlobCacheFuncsANDROID(EGLDisplay dpy, + EGLSetBlobFuncANDROID set, + EGLGetBlobFuncANDROID get); + +New Tokens + + None. + +Changes to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) + + Add a new subsection after Section 3.8, page 50 + (Synchronization Primitives) + + "3.9 Persistent Caching + + In order to facilitate persistent caching of internal client API state that + is slow to compute or collect, the application may specify callback + function pointers through which the client APIs can request data be cached + and retrieved. The command + + void eglSetBlobCacheFuncsANDROID(EGLDisplay dpy, + EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); + + sets the callback function pointers that client APIs associated with + display can use to interact with caching functionality provided by + the application. points to a function that inserts a new value into + the cache and associates it with the given key. points to a function + that retrieves from the cache the value associated with a given key. The + semantics of these callback functions are described in Section 3.9.1 (Cache + Operations). + + Cache functions may only be specified once during the lifetime of an + EGLDisplay. The and functions may be called at any time and + from any thread from the time at which eglSetBlobCacheFuncsANDROID is + called until the time that the last resource associated with is + deleted and itself is terminated. Concurrent calls to these + functions from different threads is also allowed. + + If eglSetBlobCacheFuncsANDROID generates an error then all client APIs must + behave as though eglSetBlobCacheFuncsANDROID was not called for the display + . If or is NULL then an EGL_BAD_PARAMETER error is + generated. If a successful eglSetBlobCacheFuncsANDROID call was already + made for and the display has not since been terminated then an + EGL_BAD_PARAMETER error is generated. + + 3.9.1 Cache Operations + + To insert a new binary value into the cache and associate it with a given + key, a client API implementation can call the application-provided callback + function + + void (*set) (const void* key, EGLsizeiANDROID keySize, + const void* value, EGLsizeiANDROID valueSize) + + and are pointers to the beginning of the key and value, + respectively, that are to be inserted. and specify + the size in bytes of the data pointed to by and , + respectively. + + No guarantees are made as to whether a given key/value pair is present in + the cache after the set call. If a different value has been associated + with the given key in the past then it is undefined which value, if any, is + associated with the key after the set call. Note that while there are no + guarantees, the cache implementation should attempt to cache the most + recently set value for a given key. + + To retrieve the binary value associated with a given key from the cache, a + client API implementation can call the application-provided callback + function + + EGLsizeiANDROID (*get) (const void* key, EGLsizeiANDROID keySize, + void* value, EGLsizeiANDROID valueSize) + + is a pointer to the beginning of the key. specifies the + size in bytes of the binary key pointed to by . If the cache contains + a value associated with the given key then the size of that binary value in + bytes is returned. Otherwise 0 is returned. + + If the cache contains a value for the given key and its size in bytes is + less than or equal to then the value is written to the memory + pointed to by . Otherwise nothing is written to the memory pointed + to by . + +Issues + + 1. How should errors be handled in the callback functions? + + RESOLVED: No guarantees are made about the presence of values in the cache, + so there should not be a need to return error information to the client API + implementation. The cache implementation can simply drop a value if it + encounters an error during the 'set' callback. Similarly, it can simply + return 0 if it encouters an error in a 'get' callback. + + 2. When a client API driver gets updated, that may need to invalidate + previously cached entries. How can the driver handle this situation? + + RESPONSE: There are a number of ways the driver can handle this situation. + The recommended way is to include the driver version in all cache keys. + That way each driver version will use a set of cache keys that are unique + to that version, and conflicts should never occur. Updating the driver + could then leave a number of values in the cache that will never be + requested again. If needed, the cache implementation can handle those + values in some way, but the driver does not need to take any special + action. + + 3. How much data can be stored in the cache? + + RESPONSE: This is entirely dependent upon the cache implementation. + Presumably it will be tuned to store enough data to be useful, but not + enough to become problematic. :) + +Revision History + +#3 (Jon Leech, December 13, 2012) + - Fix typo in New Functions section & assign extension #. + +#2 (Jamie Gennis, April 25, 2011) + - Swapped the order of the size and pointer arguments to the get and set + functions. + +#1 (Jamie Gennis, April 22, 2011) + - Initial draft. diff --git a/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_create_native_client_buffer.txt b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_create_native_client_buffer.txt new file mode 100644 index 0000000..3e0c4a9 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_create_native_client_buffer.txt @@ -0,0 +1,197 @@ +Name + + ANDROID_create_native_client_buffer + +Name Strings + + EGL_ANDROID_create_native_client_buffer + +Contributors + + Craig Donner + +Contact + + Craig Donner, Google Inc. (cdonner 'at' google.com) + +Status + + Draft + +Version + + Version 1, January 19, 2016 + +Number + + EGL Extension #99 + +Dependencies + + Requires EGL 1.2. + + EGL_ANDROID_image_native_buffer and EGL_KHR_image_base are required. + + This extension is written against the wording of the EGL 1.2 + Specification as modified by EGL_KHR_image_base and + EGL_ANDROID_image_native_buffer. + +Overview + + This extension allows creating an EGLClientBuffer backed by an Android + window buffer (struct ANativeWindowBuffer) which can be later used to + create an EGLImage. + +New Types + + None. + +New Procedures and Functions + + EGLClientBuffer eglCreateNativeClientBufferANDROID( + const EGLint *attrib_list) + +New Tokens + + EGL_NATIVE_BUFFER_USAGE_ANDROID 0x3143 + EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID 0x00000001 + EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID 0x00000002 + EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID 0x00000004 + +Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) + + Add the following to section 2.5.1 "EGLImage Specification" (as modified by + the EGL_KHR_image_base and EGL_ANDROID_image_native_buffer specifications), + below the description of eglCreateImageKHR: + + "The command + + EGLClientBuffer eglCreateNativeClientBufferANDROID( + const EGLint *attrib_list) + + may be used to create an EGLClientBuffer backed by an ANativeWindowBuffer + struct. EGL implementations must guarantee that the lifetime of the + returned EGLClientBuffer is at least as long as the EGLImage(s) it is bound + to, following the lifetime semantics described below in section 2.5.2; the + EGLClientBuffer must be destroyed no earlier than when all of its associated + EGLImages are destroyed by eglDestroyImageKHR. is a list of + attribute-value pairs which is used to specify the dimensions, format, and + usage of the underlying buffer structure. If is non-NULL, the + last attribute specified in the list must be EGL_NONE. + + Attribute names accepted in are shown in Table aaa, + together with the for which each attribute name is valid, and + the default value used for each attribute if it is not included in + . + + +---------------------------------+----------------------+---------------+ + | Attribute | Description | Default Value | + | | | | + +---------------------------------+----------------------+---------------+ + | EGL_NONE | Marks the end of the | N/A | + | | attribute-value list | | + | EGL_WIDTH | The width of the | 0 | + | | buffer data | | + | EGL_HEIGHT | The height of the | 0 | + | | buffer data | | + | EGL_RED_SIZE | The bits of Red in | 0 | + | | the color buffer | | + | EGL_GREEN_SIZE | The bits of Green in | 0 | + | | the color buffer | | + | EGL_BLUE_SIZE | The bits of Blue in | 0 | + | | the color buffer | | + | EGL_ALPHA_SIZE | The bits of Alpha in | 0 | + | | the color buffer | | + | | buffer data | | + | EGL_NATIVE_BUFFER_USAGE_ANDROID | The usage bits of | 0 | + | | the buffer data | | + +---------------------------------+----------------------+---------------+ + Table aaa. Legal attributes for eglCreateNativeClientBufferANDROID + parameter. + + The maximum width and height may depend on the amount of available memory, + which may also depend on the format and usage flags. The values of + EGL_RED_SIZE, EGL_GREEN_SIZE, and EGL_BLUE_SIZE must be non-zero and + correspond to a valid pixel format for the implementation. If EGL_ALPHA_SIZE + is non-zero then the combination of all four sizes must correspond to a + valid pixel format for the implementation. The + EGL_NATIVE_BUFFER_USAGE_ANDROID flag may include any of the following bits: + + EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID: Indicates that the + created buffer must have a hardware-protected path to external display + sink. If a hardware-protected path is not available, then either don't + composite only this buffer (preferred) to the external sink, or (less + desirable) do not route the entire composition to the external sink. + + EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID: The buffer will be + used to create a renderbuffer. This flag must not be set if + EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID is set. + + EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID: The buffer will be used to + create a texture. This flag must not be set if + EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID is set. + + Errors + + If eglCreateNativeClientBufferANDROID fails, NULL will be returned, no + memory will be allocated, and one of the following errors will be + generated: + + * If the value of EGL_WIDTH or EGL_HEIGHT is not positive, the error + EGL_BAD_PARAMETER is generated. + + * If the combination of the values of EGL_RED_SIZE, EGL_GREEN_SIZE, + EGL_BLUE_SIZE, and EGL_ALPHA_SIZE is not a valid pixel format for the + EGL implementation, the error EGL_BAD_PARAMETER is generated. + + * If the value of EGL_NATIVE_BUFFER_ANDROID is not a valid combination + of gralloc usage flags for the EGL implementation, or is incompatible + with the value of EGL_FORMAT, the error EGL_BAD_PARAMETER is + Generated. + + * If both the EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID and + EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID are set in the value of + EGL_NATIVE_BUFFER_USAGE_ANDROID, the error EGL_BAD_PARAMETER is + Generated." + +Issues + + 1. Should this extension define what combinations of formats and usage flags + EGL implementations are required to support? + + RESOLVED: Partially. + + The set of valid color combinations is implementation-specific and may + depend on additional EGL extensions, but generally RGB565 and RGBA888 should + be supported. The particular valid combinations for a given Android version + and implementation should be documented by that version. + + 2. Should there be an eglDestroyNativeClientBufferANDROID to destroy the + client buffers created by this extension? + + RESOLVED: No. + + A destroy function would add several complications: + + a) ANativeWindowBuffer is a reference counted object, may be used + outside of EGL. + b) The same buffer may back multiple EGLImages, though this usage may + result in undefined behavior. + c) The interactions between the lifetimes of EGLImages and their + EGLClientBuffers would become needlessly complex. + + Because ANativeWindowBuffer is a reference counted object, implementations + of this extension should ensure the buffer has a lifetime at least as long + as a generated EGLImage (via EGL_ANDROID_image_native_buffer). The simplest + method is to increment the reference count of the buffer in + eglCreateImagKHR, and then decrement it in eglDestroyImageKHR. This should + ensure proper lifetime semantics. + +Revision History + +#2 (Craig Donner, April 15, 2016) + - Set color formats and usage bits explicitly using additional attributes, + and add value for new token EGL_NATIVE_BUFFER_USAGE_ANDROID. + +#1 (Craig Donner, January 19, 2016) + - Initial draft. diff --git a/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_framebuffer_target.txt b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_framebuffer_target.txt new file mode 100644 index 0000000..a15dfa8 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_framebuffer_target.txt @@ -0,0 +1,102 @@ +Name + + ANDROID_framebuffer_target + +Name Strings + + EGL_ANDROID_framebuffer_target + +Contributors + + Jamie Gennis + +Contact + + Jamie Gennis, Google Inc. (jgennis 'at' google.com) + +Status + + Complete + +Version + + Version 1, September 20, 2012 + +Number + + EGL Extension #47 + +Dependencies + + Requires EGL 1.0 + + This extension is written against the wording of the EGL 1.4 Specification + +Overview + + Android supports a number of different ANativeWindow implementations that + can be used to create an EGLSurface. One implementation, which is used to + send the result of performing window composition to a display, may have + some device-specific restrictions. Because of this, some EGLConfigs may + be incompatible with these ANativeWindows. This extension introduces a + new boolean EGLConfig attribute that indicates whether the EGLConfig + supports rendering to an ANativeWindow for which the buffers are passed to + the HWComposer HAL as a framebuffer target layer. + +New Types + + None. + +New Procedures and Functions + + None. + +New Tokens + + Accepted by the parameter of eglGetConfigAttrib and + the parameter of eglChooseConfig: + + EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147 + +Changes to Chapter 3 of the EGL 1.4 Specification (EGL Functions and Errors) + + Section 3.4, Configuration Management, add a row to Table 3.1. + + Attribute Type Notes + ------------------------------ ------- --------------------------- + EGL_FRAMEBUFFER_TARGET_ANDROID boolean whether use as a HWComposer + framebuffer target layer is + supported + + Section 3.4, Configuration Management, add a row to Table 3.4. + + Attribute Default Selection Sort Sort + Criteria Order Priority + ------------------------------ ------------- --------- ----- -------- + EGL_FRAMEBUFFER_TARGET_ANDROID EGL_DONT_CARE Exact None + + Section 3.4, Configuration Management, add a paragraph at the end of the + subsection titled Other EGLConfig Attribute Descriptions. + + EGL_FRAMEBUFFER_TARGET_ANDROID is a boolean indicating whether the + config may be used to create an EGLSurface from an ANativeWindow for + which the buffers are to be passed to HWComposer as a framebuffer + target layer. + + Section 3.4.1, Querying Configurations, change the last paragraph as follow + + EGLConfigs are not sorted with respect to the parameters + EGL_BIND_TO_TEXTURE_RGB, EGL_BIND_TO_TEXTURE_RGBA, EGL_CONFORMANT, + EGL_LEVEL, EGL_NATIVE_RENDERABLE, EGL_MAX_SWAP_INTERVAL, + EGL_MIN_SWAP_INTERVAL, EGL_RENDERABLE_TYPE, EGL_SURFACE_TYPE, + EGL_TRANSPARENT_TYPE, EGL_TRANSPARENT_RED_VALUE, + EGL_TRANSPARENT_GREEN_VALUE, EGL_TRANSPARENT_BLUE_VALUE, and + EGL_RECORDABLE_ANDROID. + +Issues + + +Revision History + +#1 (Jamie Gennis, September 20, 2012) + - Initial draft. diff --git a/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_front_buffer_auto_refresh.txt b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_front_buffer_auto_refresh.txt new file mode 100644 index 0000000..4c0e64c --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_front_buffer_auto_refresh.txt @@ -0,0 +1,70 @@ +Name + + ANDROID_front_buffer_auto_refresh + +Name Strings + + EGL_ANDROID_front_buffer_auto_refresh + +Contributors + + Pablo Ceballos + +Contact + + Pablo Ceballos, Google Inc. (pceballos 'at' google.com) + +Status + + Draft + +Version + + Version 1, February 3, 2016 + +Number + + EGL Extension #XXX + +Dependencies + + Requires EGL 1.2 + + This extension is written against the wording of the EGL 1.5 Specification + +Overview + + This extension is intended for latency-sensitive applications that are doing + front-buffer rendering. It allows them to indicate to the Android compositor + that it should perform composition every time the display refreshes. This + removes the overhead of having to notify the compositor that the window + surface has been updated, but it comes at the cost of doing potentially + unneeded composition work if the window surface has not been updated. + +New Types + + None + +New Procedures and Functions + + None + +New Tokens + + EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C + +Add to the list of supported tokens for eglSurfaceAttrib in section 3.5.6 +"Surface Attributes", page 43: + + If attribute is EGL_ANDROID_front_buffer_auto_refresh, then value specifies + whether to enable or disable auto-refresh in the Android compositor when + doing front-buffer rendering. + +Issues + + None + +Revision History + +#1 (Pablo Ceballos, February 3, 2016) + - Initial draft. diff --git a/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_get_frame_timestamps.txt b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_get_frame_timestamps.txt new file mode 100644 index 0000000..bf8d149 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_get_frame_timestamps.txt @@ -0,0 +1,259 @@ +Name + + ANDROID_get_frame_timestamps + +Name Strings + + EGL_ANDROID_get_frame_timestamps + +Contributors + + Brian Anderson + Dan Stoza + Pablo Ceballos + Jesse Hall + Fabien Sanglard + +Contact + + Brian Anderson, Google Inc. (brianderson 'at' google.com) + Dan Stoza, Google Inc. (stoza 'at' google.com) + Pablo Ceballos, Google Inc. (pceballos 'at' google.com) + Jesse Hall, Google Inc. (jessehall 'at' google.com) + Fabien Sanglard, Google Inc. (sanglardf 'at' google.com) + +Status + + Draft + +Version + + Version 8, April 11, 2017 + +Number + + EGL Extension #122 + +Dependencies + + Requires EGL 1.2 + + This extension is written against the wording of the EGL 1.5 Specification + +Overview + + This extension allows querying various timestamps related to the composition + and display of window surfaces. + + Some examples of how this might be used: + - The display present time can be used to calculate end-to-end latency + of the entire graphics pipeline. + - The queue time and rendering complete time can be used to determine + how long the application's rendering took to complete. Likewise, the + composition start time and finish time can be used to determine how + long the compositor's rendering work took. In combination these can be + used to help determine if the system is GPU or CPU bound. + +New Types + + /* + * EGLnsecsANDROID is a signed integer type for representing a time in + * nanoseconds. + */ + #include + typedef khronos_stime_nanoseconds_t EGLnsecsANDROID; + +New Procedures and Functions + + EGLBoolean eglGetNextFrameIdANDROID(EGLDisplay dpy, EGLSurface surface, + EGLuint64KHR *frameId); + + EGLBoolean eglGetCompositorTimingANDROID(EGLDisplay dpy, + EGLSurface surface, EGLint numTimestamps, + const EGLint *names, EGLnsecsANDROID *values); + + EGLBoolean eglGetFrameTimestampsANDROID(EGLDisplay dpy, EGLSurface surface, + EGLuint64KHR frameId, EGLint numTimestamps, + const EGLint *timestamps, EGLnsecsANDROID *values); + + EGLBoolean eglGetFrameTimestampSupportedANDROID(EGLDisplay dpy, + EGLSurface surface, EGLint timestamp); + +New Tokens + + EGL_TIMESTAMPS_ANDROID 0x3430 + EGL_COMPOSITE_DEADLINE_ANDROID 0x3431 + EGL_COMPOSITE_INTERVAL_ANDROID 0x3432 + EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID 0x3433 + EGL_REQUESTED_PRESENT_TIME_ANDROID 0x3434 + EGL_RENDERING_COMPLETE_TIME_ANDROID 0x3435 + EGL_COMPOSITION_LATCH_TIME_ANDROID 0x3436 + EGL_FIRST_COMPOSITION_START_TIME_ANDROID 0x3437 + EGL_LAST_COMPOSITION_START_TIME_ANDROID 0x3438 + EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID 0x3439 + EGL_DISPLAY_PRESENT_TIME_ANDROID 0x343A + EGL_DEQUEUE_READY_TIME_ANDROID 0x343B + EGL_READS_DONE_TIME_ANDROID 0x343C + EGL_TIMESTAMP_PENDING_ANDROID -2 + EGL_TIMESTAMP_INVALID_ANDROID -1 + +Add to the list of supported tokens for eglSurfaceAttrib in section 3.5.6 +"Surface Attributes", page 43: + + If attribute is EGL_TIMESTAMPS_ANDROID, then values specifies whether to + enable/disable timestamp collection for this surface. A value of EGL_TRUE + enables timestamp collection, while a value of EGL_FALSE disables it. The + initial value is false. If surface is not a window surface this has no + effect. +Changes to Chapter 3 of the EGL 1.5 Specification (EGL Functions and Errors) + + Add a new subsection under Section 3, + + "3.13 Composition and Display Timestamps + + The function + + EGLBoolean eglGetNextFrameIdANDROID(EGLDisplay dpy, EGLSurface surface, + EGLuint64KHR *frameId); + + Returns an identifier for the next frame to be swapped. The identifier can + be used to correlate a particular eglSwapBuffers with its timestamps in + eglGetFrameTimestampsANDROID. If any error is generated, the function will + return EGL_FALSE. + + The function + + EGLBoolean eglGetCompositorTimingANDROID(EGLDisplay dpy, + EGLSurface surface, EGLint numTimestamps, + const EGLint *names, EGLnsecsANDROID *values); + + allows querying anticipated timestamps and durations related to the + composition and display of a window surface. The values are not associated + with a particular frame and can be retrieved before the first swap. + + The eglGetCompositorTimingANDROID function takes an array of names to + query and returns their values in the corresponding indices of the values + array. The possible names that can be queried are: + - EGL_COMPOSITE_DEADLINE_ANDROID - The timestamp of the next time the + compositor will begin composition. This is effectively the deadline + for when the compositor must receive a newly queued frame. + - EGL_COMPOSITE_INTERVAL_ANDROID - The time delta between subsequent + composition events. + - EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID - The time delta between + the start of composition and the expected present time of that + composition. This can be used to estimate the latency of the + actual present time. + + The function + + EGLBoolean eglGetFrameTimestampsANDROID(EGLDisplay dpy, + EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, + const EGLint *timestamps, EGLnsecsANDROID *values); + + allows querying various timestamps related to the composition and display + of specific frames of a window surface. + + The frameId indicates which frame to query. The implementation maintains a + limited history of timestamp data. If a query is made for a frame whose + timestamp history no longer exists then EGL_BAD_ACCESS is generated. If + timestamp collection has not been enabled for the surface then + EGL_BAD_SURFACE is generated. Timestamps for events that might still occur + will have the value EGL_TIMESTAMP_PENDING_ANDROID. Timestamps for events + that did not occur will have the value EGL_TIMESTAMP_INVALID_ANDROID. + Otherwise, the timestamp will be valid and indicate the event has occured. + Timestamp queries that are not supported will generate an EGL_BAD_PARAMETER + error. If any error is generated the function will return EGL_FALSE. + + The application can poll for the timestamp of particular events by calling + eglGetFrameTimestamps over and over without needing to call any other EGL + function between calls. This is true even for the most recently swapped + frame. eglGetFrameTimestamps is thread safe and can be called from a + different thread than the swapping thread. + + The eglGetFrameTimestampsANDROID function takes an array of timestamps to + query and returns timestamps in the corresponding indices of the values + array. The possible timestamps that can be queried are: + - EGL_REQUESTED_PRESENT_TIME_ANDROID - The time the application + requested this frame be presented. See EGL_ANDROID_presentation_time. + If the application does not request a presentation time explicitly, + this will correspond to buffer's queue time. + - EGL_RENDERING_COMPLETE_TIME_ANDROID - The time when all of the + application's rendering to the surface was completed. + - EGL_COMPOSITION_LATCH_TIME_ANDROID - The time when the compositor + selected this frame as the one to use for the next composition. The + latch is the earliest indication that the frame was submitted in time + to be composited. + - EGL_FIRST_COMPOSITION_START_TIME_ANDROID - The first time at which + the compositor began preparing composition for this frame. + - EGL_LAST_COMPOSITION_START_TIME_ANDROID - The last time at which the + compositor began preparing composition for this frame. If this frame + is composited only once, it will have the same value as + EGL_FIRST_COMPOSITION_START_TIME_ANDROID. If the value is not equal, + that indicates the subsequent frame was not submitted in time to be + latched by the compositor. Note: The value may not be updated for + every display refresh if the compositor becomes idle. + - EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID - The time at which + the compositor's rendering work for this frame finished. This will be + zero if composition was handled by the display and the compositor + didn't do any rendering. + - EGL_DISPLAY_PRESENT_TIME_ANDROID - The time at which this frame + started to scan out to the physical display. + - EGL_DEQUEUE_READY_TIME_ANDROID - The time when the buffer became + available for reuse as a buffer the client can target without + blocking. This is generally the point when all read commands of the + buffer have been submitted, but not necessarily completed. + - EGL_READS_DONE_TIME_ANDROID - The time at which all reads for the + purpose of display/composition were completed for this frame. + + Not all implementations may support all of the above timestamp queries. The + functions + + EGLBoolean eglGetCompositorTimingSupportedANDROID(EGLDisplay dpy, + EGLSurface surface, EGLint name); + + and + + EGLBoolean eglGetFrameTimestampSupportedANDROID(EGLDisplay dpy, + EGLSurface surface, EGLint timestamp); + + allows querying which values are supported by the implementations of + eglGetCompositorTimingANDROID and eglGetFrameTimestampSupportedANDROID + respectively." + +Issues + + None + +Revision History + +#9 (Chris Forbes, June 11, 2019) + - Fix eglGetFrameTimestampSupportedANDROID function name in extension + spec to match reality + +#8 (Brian Anderson, April 11, 2017) + - Use reserved enumerant values. + +#7 (Brian Anderson, March 21, 2017) + - Differentiate between pending events and events that did not occur. + +#6 (Brian Anderson, March 16, 2017) + - Remove DISPLAY_RETIRE_TIME_ANDROID. + +#5 (Brian Anderson, January 13, 2017) + - Add eglGetCompositorTimingANDROID. + +#4 (Brian Anderson, January 10, 2017) + - Use an absolute frameId rather than a relative framesAgo. + +#3 (Brian Anderson, November 30, 2016) + - Add EGL_COMPOSITION_LATCH_TIME_ANDROID, + EGL_LAST_COMPOSITION_START_TIME_ANDROID, and + EGL_DEQUEUE_READY_TIME_ANDROID. + +#2 (Brian Anderson, July 22, 2016) + - Replace EGL_QUEUE_TIME_ANDROID with EGL_REQUESTED_PRESENT_TIME_ANDROID. + - Add DISPLAY_PRESENT_TIME_ANDROID. + +#1 (Pablo Ceballos, May 31, 2016) + - Initial draft. + diff --git a/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_get_native_client_buffer.txt b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_get_native_client_buffer.txt new file mode 100644 index 0000000..285bba4 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_get_native_client_buffer.txt @@ -0,0 +1,102 @@ +Name + + ANDROID_get_native_client_buffer + +Name Strings + + EGL_ANDROID_get_native_client_buffer + +Contributors + + Craig Donner + +Contact + + Craig Donner, Google Inc. (cdonner 'at' google.com) + +Status + + Complete + +Version + + Version 3, October 11, 2017 + +Number + + EGL Extension #123 + +Dependencies + + Requires EGL 1.2. + + EGL_ANDROID_image_native_buffer and EGL_KHR_image_base are required. + + This extension is written against the wording of the EGL 1.2 + Specification as modified by EGL_KHR_image_base and + EGL_ANDROID_image_native_buffer. + +Overview + + This extension allows creating an EGLClientBuffer from an Android + AHardwareBuffer object which can be later used to create an EGLImage. + +New Types + + struct AHardwareBuffer + +New Procedures and Functions + + EGLClientBuffer eglGetNativeClientBufferANDROID(const struct AHardwareBuffer *buffer) + +New Tokens + + None + +Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) + + Add the following to section 2.5.1 "EGLImage Specification" (as modified by + the EGL_KHR_image_base and EGL_ANDROID_image_native_buffer specifications), + below the description of eglCreateImageKHR: + + "The command + + EGLClientBuffer eglGetNativeClientBufferANDROID( + const struct AHardwareBuffer *buffer) + + may be used to create an EGLClientBuffer from an AHardwareBuffer object. + EGL implementations must guarantee that the lifetime of the returned + EGLClientBuffer is at least as long as the EGLImage(s) it is bound to, + following the lifetime semantics described below in section 2.5.2; the + EGLClientBuffer must be destroyed no earlier than when all of its associated + EGLImages are destroyed by eglDestroyImageKHR. + + Errors + + If eglGetNativeClientBufferANDROID fails, NULL will be returned, no + memory will be allocated, and the following error will be generated: + + * If the value of buffer is NULL, the error EGL_BAD_PARAMETER is + generated. + +Issues + + 1. Should this extension define what particular AHardwareBuffer formats EGL + implementations are required to support? + + RESOLVED: No. + + The set of valid formats is implementation-specific and may depend on + additional EGL extensions. The particular valid combinations for a given + Android version and implementation should be documented by that version. + +Revision History + +#3 (Jesse Hall, October 11, 2017) + - Assigned extension number, fixed minor issues for publication + +#2 (Craig Donner, February 17, 2017) + - Fix typographical errors. + +#1 (Craig Donner, January 27, 2017) + - Initial draft. diff --git a/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_image_native_buffer.txt b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_image_native_buffer.txt new file mode 100644 index 0000000..7392d4f --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_image_native_buffer.txt @@ -0,0 +1,108 @@ +Name + + ANDROID_image_native_buffer + +Name Strings + + EGL_ANDROID_image_native_buffer + +Contributors + + Mathias Agopian + Jamie Gennis + Jesse Hall + +Contact + + Jesse Hall, Google Inc. (jessehall 'at' google.com) + +Status + + Complete + +Version + + Version 1, November 28, 2012 + +Number + + EGL Extension #49 + +Dependencies + + EGL 1.2 is required. + + EGL_KHR_image_base is required. + + This extension is written against the wording of the EGL 1.2 + Specification. + +Overview + + This extension enables using an Android window buffer (struct + ANativeWindowBuffer) as an EGLImage source. + +New Types + + None. + +New Procedures and Functions + + None. + +New Tokens + + Accepted by the parameter of eglCreateImageKHR: + + EGL_NATIVE_BUFFER_ANDROID 0x3140 + +Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) + + Add to section 2.5.1 "EGLImage Specification" (as defined by the + EGL_KHR_image_base specification), in the description of + eglCreateImageKHR: + + "Values accepted for are listed in Table aaa, below. + + +----------------------------+-----------------------------------------+ + | | Notes | + +----------------------------+-----------------------------------------+ + | EGL_NATIVE_BUFFER_ANDROID | Used for ANativeWindowBuffer objects | + +----------------------------+-----------------------------------------+ + Table aaa. Legal values for eglCreateImageKHR parameter + + ... + + If is EGL_NATIVE_BUFFER_ANDROID, must be a valid display, + must be EGL_NO_CONTEXT, must be a pointer to a valid + ANativeWindowBuffer object (cast into the type EGLClientBuffer), and + attributes other than EGL_IMAGE_PRESERVED_KHR are ignored." + + Add to the list of error conditions for eglCreateImageKHR: + + "* If is EGL_NATIVE_BUFFER_ANDROID and is not a + pointer to a valid ANativeWindowBuffer, the error EGL_BAD_PARAMETER + is generated. + + * If is EGL_NATIVE_BUFFER_ANDROID and is not + EGL_NO_CONTEXT, the error EGL_BAD_CONTEXT is generated. + + * If is EGL_NATIVE_BUFFER_ANDROID and was created + with properties (format, usage, dimensions, etc.) not supported by + the EGL implementation, the error EGL_BAD_PARAMETER is generated." + +Issues + + 1. Should this extension define what combinations of ANativeWindowBuffer + properties implementations are required to support? + + RESOLVED: No. + + The requirements have evolved over time and will continue to change with + future Android releases. The minimum requirements for a given Android + version should be documented by that version. + +Revision History + +#1 (Jesse Hall, November 28, 2012) + - Initial draft. diff --git a/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_native_fence_sync.txt b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_native_fence_sync.txt new file mode 100644 index 0000000..d72edd7 --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_native_fence_sync.txt @@ -0,0 +1,281 @@ +Name + + ANDROID_native_fence_sync + +Name Strings + + EGL_ANDROID_native_fence_sync + +Contributors + + Jamie Gennis + +Contact + + Jamie Gennis, Google Inc. (jgennis 'at' google.com) + +Status + + Complete + +Version + + Version 3, September 4, 2012 + +Number + + EGL Extension #50 + +Dependencies + + Requires EGL 1.1 + + This extension is written against the wording of the EGL 1.2 Specification + + EGL_KHR_fence_sync is required. + +Overview + + This extension enables the creation of EGL fence sync objects that are + associated with a native synchronization fence object that is referenced + using a file descriptor. These EGL fence sync objects have nearly + identical semantics to those defined by the KHR_fence_sync extension, + except that they have an additional attribute storing the file descriptor + referring to the native fence object. + + This extension assumes the existence of a native fence synchronization + object that behaves similarly to an EGL fence sync object. These native + objects must have a signal status like that of an EGLSyncKHR object that + indicates whether the fence has ever been signaled. Once signaled the + native object's signal status may not change again. + +New Types + + None. + +New Procedures and Functions + + EGLint eglDupNativeFenceFDANDROID( + EGLDisplay dpy, + EGLSyncKHR); + +New Tokens + + Accepted by the parameter of eglCreateSyncKHR, and returned + in when eglGetSyncAttribKHR is called with + EGL_SYNC_TYPE_KHR: + + EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 + + Accepted by the parameter of eglCreateSyncKHR: + + EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 + + Accepted by the parameter of eglCreateSyncKHR, and returned + by eglDupNativeFenceFDANDROID in the event of an error: + + EGL_NO_NATIVE_FENCE_FD_ANDROID -1 + + Returned in when eglGetSyncAttribKHR is called with + EGL_SYNC_CONDITION_KHR: + + EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 + +Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) + + Add the following after the sixth paragraph of Section 3.8.1 (Sync + Objects), added by KHR_fence_sync + + "If is EGL_SYNC_NATIVE_FENCE_ANDROID, an EGL native fence sync + object is created. In this case the EGL_SYNC_NATIVE_FENCE_FD_ANDROID + attribute may optionally be specified. If this attribute is specified, it + must be set to either a file descriptor that refers to a native fence + object or to the value EGL_NO_NATIVE_FENCE_FD_ANDROID. + + The default values for the EGL native fence sync object attributes are as + follows: + + Attribute Name Initial Attribute Value(s) + --------------- -------------------------- + EGL_SYNC_TYPE_KHR EGL_SYNC_NATIVE_FENCE_ANDROID + EGL_SYNC_STATUS_KHR EGL_UNSIGNALED_KHR + EGL_SYNC_CONDITION_KHR EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR + EGL_SYNC_NATIVE_FENCE_FD_ANDROID EGL_NO_NATIVE_FENCE_FD_ANDROID + + If the EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute is not + EGL_NO_NATIVE_FENCE_FD_ANDROID then the EGL_SYNC_CONDITION_KHR attribute is + set to EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID and the EGL_SYNC_STATUS_KHR + attribute is set to reflect the signal status of the native fence object. + Additionally, the EGL implementation assumes ownership of the file + descriptor, so the caller must not use it after calling eglCreateSyncKHR." + + Modify Section 3.8.1 (Sync Objects), added by KHR_fence_sync, starting at + the seventh paragraph + + "When a fence sync object is created or when an EGL native fence sync + object is created with the EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute set + to EGL_NO_NATIVE_FENCE_FD_ANDROID, eglCreateSyncKHR also inserts a fence + command into the command stream of the bound client API's current context + (i.e., the context returned by eglGetCurrentContext), and associates it + with the newly created sync object. + + After associating the fence command with an EGL native fence sync object, + the next Flush() operation performed by the current client API causes a + new native fence object to be created, and the + EGL_SYNC_NATIVE_FENCE_ANDROID attribute of the EGL native fence object is + set to a file descriptor that refers to the new native fence object. This + new native fence object is signaled when the EGL native fence sync object + is signaled. + + When the condition of the sync object is satisfied by the fence command, + the sync is signaled by the associated client API context, causing any + eglClientWaitSyncKHR commands (see below) blocking on to unblock. + If the sync object is an EGL native fence sync object then the native + fence object is also signaled when the condition is satisfied. The + EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR condition is satisfied by completion + of the fence command corresponding to the sync object and all preceding + commands in the associated client API context's command stream. The sync + object will not be signaled until all effects from these commands on the + client API's internal and framebuffer state are fully realized. No other + state is affected by execution of the fence command. + + The EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID condition is satisfied by the + signaling of the native fence object referred to by the + EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute. When this happens any + eglClientWaitSyncKHR commands blocking on unblock." + + Modify the list of eglCreateSyncKHR errors in Section 3.8.1 (Sync Objects), + added by KHR_fence_sync + + "Errors + ------ + + * If is not the name of a valid, initialized EGLDisplay, + EGL_NO_SYNC_KHR is returned and an EGL_BAD_DISPLAY error is + generated. + * If is EGL_SYNC_FENCE_KHR and is neither NULL nor + empty (containing only EGL_NONE), EGL_NO_SYNC_KHR is returned and an + EGL_BAD_ATTRIBUTE error is generated. + * If is EGL_SYNC_NATIVE_FENCE_ANDROID and contains + an attribute other than EGL_SYNC_NATIVE_FENCE_FD_ANDROID, + EGL_NO_SYNC_KHR is returned and an EGL_BAD_ATTRIBUTE error is + generated. + * If is not a supported type of sync object, + EGL_NO_SYNC_KHR is returned and an EGL_BAD_ATTRIBUTE error is + generated. + * If is EGL_SYNC_FENCE_KHR or EGL_SYNC_NATIVE_FENCE_ANDROID and + no context is current for the bound API (i.e., eglGetCurrentContext + returns EGL_NO_CONTEXT), EGL_NO_SYNC_KHR is returned and an + EGL_BAD_MATCH error is generated. + * If is EGL_SYNC_FENCE_KHR or EGL_SYNC_NATIVE_FENCE_ANDROID and + does not match the EGLDisplay of the currently bound context for + the currently bound client API (the EGLDisplay returned by + eglGetCurrentDisplay()) then EGL_NO_SYNC_KHR is returned and an + EGL_BAD_MATCH error is generated. + * If is EGL_SYNC_FENCE_KHR or EGL_SYNC_NATIVE_FENCE_ANDROID and + the currently bound client API does not support the client API + extension indicating it can place fence commands, then EGL_NO_SYNC_KHR + is returned and an EGL_BAD_MATCH error is generated." + + Modify table 3.cc in Section 3.8.1 (Sync Objects), added by KHR_fence_sync + + " + Attribute Description Supported Sync Objects + ----------------- ----------------------- ---------------------- + EGL_SYNC_TYPE_KHR Type of the sync object All + EGL_SYNC_STATUS_KHR Status of the sync object All + EGL_SYNC_CONDITION_KHR Signaling condition EGL_SYNC_FENCE_KHR and + EGL_SYNC_NATIVE_FENCE_ANDROID only + " + + Modify the second paragraph description of eglDestroySyncKHR in Section + 3.8.1 (Sync Objects), added by KHR_fence_sync + + "If no errors are generated, EGL_TRUE is returned, and will no + longer be the handle of a valid sync object. Additionally, if is an + EGL native fence sync object and the EGL_SYNC_NATIVE_FENCE_FD_ANDROID + attribute is not EGL_NO_NATIVE_FENCE_FD_ANDROID then that file descriptor + is closed." + + Add the following after the last paragraph of Section 3.8.1 (Sync + Objects), added by KHR_fence_sync + + The command + + EGLint eglDupNativeFenceFDANDROID( + EGLDisplay dpy, + EGLSyncKHR sync); + + duplicates the file descriptor stored in the + EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute of an EGL native fence sync + object and returns the new file descriptor. + + Errors + ------ + + * If is not a valid sync object for , + EGL_NO_NATIVE_FENCE_FD_ANDROID is returned and an EGL_BAD_PARAMETER + error is generated. + * If the EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute of is + EGL_NO_NATIVE_FENCE_FD_ANDROID, EGL_NO_NATIVE_FENCE_FD_ANDROID is + returned and an EGL_BAD_PARAMETER error is generated. + * If does not match the display passed to eglCreateSyncKHR + when was created, the behaviour is undefined." + +Issues + + 1. Should EGLSyncKHR objects that wrap native fence objects use the + EGL_SYNC_FENCE_KHR type? + + RESOLVED: A new sync object type will be added. + + We don't want to require all EGL fence sync objects to wrap native fence + objects, so we need some way to tell the EGL implementation at sync object + creation whether the sync object should support querying the native fence + FD attribute. We could do this with either a new sync object type or with a + boolean attribute. It might be nice to pick up future signaling conditions + that might be added for fence sync objects, but there may be things that + get added that don't make sense in the context of native fence objects. + + 2. Who is responsible for dup'ing the native fence file descriptors? + + RESOLVED: Whenever a file descriptor is passed into or returned from an + EGL call in this extension, ownership of that file descriptor is + transfered. The recipient of the file descriptor must close it when it is + no longer needed, and the provider of the file descriptor must dup it + before providing it if they require continued use of the native fence. + + 3. Can the EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute be queried? + + RESOLVED: No. + + Returning the file descriptor owned by the EGL implementation would + violate the file descriptor ownership rule described in issue #2. Having + eglGetSyncAttribKHR return a different (dup'd) file descriptor each time + it's called seems wrong, so a new function was added to explicitly dup the + file descriptor. + + That said, the attribute is useful both as a way to pass an existing file + descriptor to eglCreateSyncKHR and as a way to describe the subsequent + behavior of EGL native fence sync objects, so it is left as an attribute + for which the value cannot be queried. + +Revision History + +#3 (Jamie Gennis, September 4, 2012) + - Reworded the extension to refer to "native fence" objects rather than + "Android fence" objects. + - Added a paragraph to the overview that describes assumptions about the + native fence sync objects. + +#2 (Jamie Gennis, July 23, 2012) + - Changed the file descriptor ownership transferring behavior. + - Added the eglDupAndroidFenceFDANDROID function. + - Removed EGL_SYNC_NATIVE_FENCE_FD_ANDROID from the table of gettable + attributes. + - Added language specifying that a native Android fence is created at the + flush following the creation of an EGL Android fence sync object that is + not passed an existing native fence. + +#1 (Jamie Gennis, May 29, 2012) + - Initial draft. diff --git a/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_presentation_time.txt b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_presentation_time.txt new file mode 100644 index 0000000..ac1f45e --- /dev/null +++ b/glew/auto/EGL-Registry/extensions/ANDROID/EGL_ANDROID_presentation_time.txt @@ -0,0 +1,140 @@ +Name + + ANDROID_presentation_time + +Name Strings + + EGL_ANDROID_presentation_time + +Contributors + + Jamie Gennis + Andy McFadden + Jesse Hall + +Contact + + Jamie Gennis, Google Inc. (jgennis 'at' google.com) + +Status + + Draft + +Version + + Version 4, June 6, 2016 + +Number + + EGL Extension #98 + +Dependencies + + Requires EGL 1.1 + + This extension is written against the wording of the EGL 1.4 Specification + +Overview + + Often when rendering a sequence of images, there is some time at which each + image is intended to be presented to the viewer. This extension allows + this desired presentation time to be specified for each frame rendered to + an EGLSurface, allowing the native window system to use it. + +New Types + + /* + * EGLnsecsANDROID is a signed integer type for representing a time in + * nanoseconds. + */ + #include + typedef khronos_stime_nanoseconds_t EGLnsecsANDROID; + + +New Procedures and Functions + + EGLBoolean eglPresentationTimeANDROID( + EGLDisplay dpy, + EGLSurface surface, + EGLnsecsANDROID time); + +New Tokens + + None. + +Changes to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors) + + Add a new subsection before Section 3.9.4, page 53 (Posting Errors) + + "3.9.4 Presentation Time + + The function + + EGLBoolean eglPresentationTimeANDROID(EGLDisplay dpy, EGLSurface + surface, EGLnsecsANDROID time); + + specifies the time at which the current color buffer of should be + presented to the viewer. The