Update to libepoxy 1.5.4. ok jsg@

This commit is contained in:
matthieu 2020-01-26 13:45:49 +00:00
parent 6629d50366
commit f3fa3831bb
27 changed files with 20918 additions and 16310 deletions

View File

@ -22,7 +22,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([libepoxy],
[1.5.2],
[1.5.4],
[https://github.com/anholt/libepoxy],
[libepoxy])
AC_CONFIG_SRCDIR([Makefile.am])
@ -157,6 +157,8 @@ if test x$enable_x11 = xno; then
AC_MSG_ERROR([GLX support is explicitly enabled, but X11 was disabled])
fi
build_glx=no
else
AC_DEFINE([ENABLE_X11], [1], [Whether X11 support is enabled])
fi
AM_CONDITIONAL(BUILD_EGL, test x$build_egl = xyes)

View File

@ -1,11 +1,11 @@
project('libepoxy', 'c', version: '1.5.2',
project('libepoxy', 'c', version: '1.5.4',
default_options: [
'buildtype=debugoptimized',
'c_std=gnu99',
'warning_level=1',
],
license: 'MIT',
meson_version: '>= 0.44.0')
meson_version: '>= 0.47.0')
epoxy_version = meson.project_version().split('.')
epoxy_major_version = epoxy_version[0].to_int()

View File

@ -11,3 +11,16 @@ and copy them into this directory. You should follow these steps, instead:
5. check out the `master` branch and merge the `khronos-registry` branch
into it with the appropriate commit message
## Updating the registry XML
In order to update the registry XML files and retain the history you cannot
simply download the files the [Khronos website](https://khronos.org/registry/OpenGL/index_gl.php)
and copy them into this directory. You should follow these steps, instead:
1. check out the `khronos-registry` branch
2. download the XML files from the Khronos repository
3. copy them under the `registry` directory
4. check the result for consistency and commit it
5. check out the `master` branch and merge the `khronos-registry` branch
into it with the appropriate commit message

View File

@ -468,8 +468,20 @@
<unused start="0x3111" end="0x311F"/>
</enums>
<enums namespace="EGL" start="0x3120" end="0x312F" vendor="AMD" comment="Reserved for David Garcia (Khronos bug 5149)">
<unused start="0x3120" end="0x312F"/>
<enums namespace="EGL" start="0x3120" end="0x312F" vendor="QCOM" comment="EGL_QCOM_create_image">
<enum value="0x3120" name="EGL_NEW_IMAGE_QCOM"/>
<enum value="0x3121" name="EGL_IMAGE_FORMAT_QCOM"/>
<enum value="0x3122" name="EGL_FORMAT_RGBA_8888_QCOM"/>
<enum value="0x3123" name="EGL_FORMAT_RGB_565_QCOM"/>
<enum value="0x3124" name="EGL_FORMAT_YUYV_QCOM"/>
<enum value="0x3125" name="EGL_FORMAT_UYVY_QCOM"/>
<enum value="0x3126" name="EGL_FORMAT_YV12_QCOM"/>
<enum value="0x3127" name="EGL_FORMAT_NV21_QCOM"/>
<enum value="0x3128" name="EGL_FORMAT_NV12_TILED_QCOM"/>
<enum value="0x3129" name="EGL_FORMAT_BGRA_8888_QCOM"/>
<enum value="0x312A" name="EGL_FORMAT_BGRX_8888_QCOM"/>
<unused start="0x312B" end="0x312E"/>
<enum value="0x312F" name="EGL_FORMAT_RGBX_8888_QCOM"/>
</enums>
<enums namespace="EGL" start="0x3130" end="0x313F" vendor="NV" comment="Reserved for Greg Prisament (Khronos bug 5166)">
@ -499,8 +511,9 @@
<enum value="0x3146" name="EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID"/>
<enum value="0x3147" name="EGL_FRAMEBUFFER_TARGET_ANDROID"/>
<unused start="0x3148" end="0x314B"/>
<enum value="0x314C" name="EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID"/>
<unused start="0x314D" end="0x314F"/>
<enum value="0x314C" name="EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID"/>
<enum value="0x314D" name="EGL_GL_COLORSPACE_DEFAULT_EXT"/>
<unused start="0x314E" end="0x314F"/>
</enums>
<enums namespace="EGL" start="0x3150" end="0x315F" vendor="NOK" comment="Reserved for Robert Palmer (Khronos bug 5368)">
@ -535,8 +548,23 @@
<enum value="0x31BF" name="EGL_LOSE_CONTEXT_ON_RESET_EXT" alias="EGL_LOSE_CONTEXT_ON_RESET"/>
</enums>
<enums namespace="EGL" start="0x31C0" end="0x31CF" vendor="QCOM" comment="Reserved for Maurice Ribble (Khronos bug 6644) - EGL_QCOM_create_image spec TBD">
<unused start="0x31C0" end="0x31CF"/>
<enums namespace="EGL" start="0x31C0" end="0x31CF" vendor="QCOM" comment="Reserved for Maurice Ribble (Khronos bug 6644) - EGL_QCOM_create_image spec">
<enum value="0x31C0" name="EGL_FORMAT_R8_QCOM"/>
<enum value="0x31C1" name="EGL_FORMAT_RG88_QCOM"/>
<enum value="0x31C2" name="EGL_FORMAT_NV12_QCOM"/>
<enum value="0x31C3" name="EGL_FORMAT_SRGBX_8888_QCOM"/>
<enum value="0x31C4" name="EGL_FORMAT_SRGBA_8888_QCOM"/>
<enum value="0x31C5" name="EGL_FORMAT_YVYU_QCOM"/>
<enum value="0x31C6" name="EGL_FORMAT_VYUY_QCOM"/>
<enum value="0x31C7" name="EGL_FORMAT_IYUV_QCOM"/>
<enum value="0x31C8" name="EGL_FORMAT_RGB_888_QCOM"/>
<enum value="0x31C9" name="EGL_FORMAT_RGBA_5551_QCOM"/>
<enum value="0x31CA" name="EGL_FORMAT_RGBA_4444_QCOM"/>
<enum value="0x31CB" name="EGL_FORMAT_R_16_FLOAT_QCOM"/>
<enum value="0x31CC" name="EGL_FORMAT_RG_1616_FLOAT_QCOM"/>
<enum value="0x31CD" name="EGL_FORMAT_RGBA_16_FLOAT_QCOM"/>
<enum value="0x31CE" name="EGL_FORMAT_RGBA_1010102_QCOM"/>
<enum value="0x31CF" name="EGL_FORMAT_FLAG_QCOM"/>
</enums>
<enums namespace="EGL" start="0x31D0" end="0x31DF" vendor="MESA" comment="Reserved for Kristian H&#248;gsberg (Khronos bug 6757)">
@ -616,7 +644,9 @@
<enum value="0x322D" name="EGL_BAD_OUTPUT_LAYER_EXT"/>
<enum value="0x322E" name="EGL_BAD_OUTPUT_PORT_EXT"/>
<enum value="0x322F" name="EGL_SWAP_INTERVAL_EXT"/>
<unused start="0x3230" end="0x3232"/>
<enum value="0x3230" name="EGL_TRIPLE_BUFFER_NV"/>
<enum value="0x3231" name="EGL_QUADRUPLE_BUFFER_NV"/>
<unused start="0x3232"/>
<enum value="0x3233" name="EGL_DRM_DEVICE_FILE_EXT"/>
<enum value="0x3234" name="EGL_DRM_CRTC_EXT"/>
<enum value="0x3235" name="EGL_DRM_PLANE_EXT"/>
@ -704,8 +734,23 @@
<unused start="0x32A2" end="0x32AF"/>
</enums>
<enums namespace="EGL" start="0x32B0" end="0x32BF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 10663) - EGL_QCOM_lock_image spec TBD">
<unused start="0x32B0" end="0x32BF"/>
<enums namespace="EGL" start="0x32B0" end="0x32BF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 10663) - EGL_QCOM_lock_image2 spec">
<enum value="0x32B0" name="EGL_IMAGE_NUM_PLANES_QCOM"/>
<enum value="0x32B1" name="EGL_IMAGE_PLANE_PITCH_0_QCOM"/>
<enum value="0x32B2" name="EGL_IMAGE_PLANE_PITCH_1_QCOM"/>
<enum value="0x32B3" name="EGL_IMAGE_PLANE_PITCH_2_QCOM"/>
<enum value="0x32B4" name="EGL_IMAGE_PLANE_DEPTH_0_QCOM"/>
<enum value="0x32B5" name="EGL_IMAGE_PLANE_DEPTH_1_QCOM"/>
<enum value="0x32B6" name="EGL_IMAGE_PLANE_DEPTH_2_QCOM"/>
<enum value="0x32B7" name="EGL_IMAGE_PLANE_WIDTH_0_QCOM"/>
<enum value="0x32B8" name="EGL_IMAGE_PLANE_WIDTH_1_QCOM"/>
<enum value="0x32B9" name="EGL_IMAGE_PLANE_WIDTH_2_QCOM"/>
<enum value="0x32BA" name="EGL_IMAGE_PLANE_HEIGHT_0_QCOM"/>
<enum value="0x32BB" name="EGL_IMAGE_PLANE_HEIGHT_1_QCOM"/>
<enum value="0x32BC" name="EGL_IMAGE_PLANE_HEIGHT_2_QCOM"/>
<enum value="0x32BD" name="EGL_IMAGE_PLANE_POINTER_0_QCOM"/>
<enum value="0x32BE" name="EGL_IMAGE_PLANE_POINTER_1_QCOM"/>
<enum value="0x32BF" name="EGL_IMAGE_PLANE_POINTER_2_QCOM"/>
</enums>
<enums namespace="EGL" start="0x32C0" end="0x32CF" vendor="Vivante" comment="Reserved for Yanjun Zhang (Bug 11498)">
@ -713,8 +758,10 @@
<unused start="0x32C1" end="0x32CF"/>
</enums>
<enums namespace="EGL" start="0x32D0" end="0x32EF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 11735) - EGL_QCOM_gpu_perf spec TBD + Bug 12286 - EGL_QCOM_content_protection spec TBD">
<unused start="0x32D0" end="0x32EF"/>
<enums namespace="EGL" start="0x32D0" end="0x32EF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 11735) - EGL_QCOM_gpu_perf spec">
<enum value="0x32D0" name="EGL_GPU_PERF_HINT_QCOM"/>
<enum value="0x32D1" name="EGL_HINT_PERSISTENT_QCOM"/>
<unused start="0x32D2" end="0x32EF"/>
</enums>
<enums namespace="EGL" start="0x32F0" end="0x32FF" vendor="BCOM" comment="Reserved for Gary Sweet, Broadcom (Bug 12870)">
@ -771,7 +818,8 @@
<enum value="0x3339" name="EGL_COLOR_COMPONENT_TYPE_EXT"/>
<enum value="0x333A" name="EGL_COLOR_COMPONENT_TYPE_FIXED_EXT"/>
<enum value="0x333B" name="EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT"/>
<unused start="0x333C" end="0x333E"/>
<enum value="0x333C" name="EGL_DRM_MASTER_FD_EXT"/>
<unused start="0x333D" end="0x333E"/>
<enum value="0x333F" name="EGL_GL_COLORSPACE_BT2020_LINEAR_EXT"/>
<enum value="0x3340" name="EGL_GL_COLORSPACE_BT2020_PQ_EXT"/>
<enum value="0x3341" name="EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT"/>
@ -800,7 +848,22 @@
<enum value="0x3361" name="EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT"/>
<enum value="0x3362" name="EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT"/>
<enum value="0x3363" name="EGL_GL_COLORSPACE_DISPLAY_P3_EXT"/>
<unused start="0x3364" end="0x339F"/>
<enum value="0x3364" name="EGL_SYNC_CLIENT_EXT"/>
<enum value="0x3365" name="EGL_SYNC_CLIENT_SIGNAL_EXT"/>
<enum value="0x3366" name="EGL_STREAM_FRAME_ORIGIN_X_NV"/>
<enum value="0x3367" name="EGL_STREAM_FRAME_ORIGIN_Y_NV"/>
<enum value="0x3368" name="EGL_STREAM_FRAME_MAJOR_AXIS_NV"/>
<enum value="0x3369" name="EGL_CONSUMER_AUTO_ORIENTATION_NV"/>
<enum value="0x336A" name="EGL_PRODUCER_AUTO_ORIENTATION_NV"/>
<enum value="0x336B" name="EGL_LEFT_NV"/>
<enum value="0x336C" name="EGL_RIGHT_NV"/>
<enum value="0x336D" name="EGL_TOP_NV"/>
<enum value="0x336E" name="EGL_BOTTOM_NV"/>
<enum value="0x336F" name="EGL_X_AXIS_NV"/>
<enum value="0x3370" name="EGL_Y_AXIS_NV"/>
<enum value="0x3371" name="EGL_STREAM_DMA_NV"/>
<enum value="0x3372" name="EGL_STREAM_DMA_SERVER_NV"/>
<unused start="0x3373" end="0x339F"/>
</enums>
<enums namespace="EGL" start="0x33A0" end="0x33AF" vendor="ANGLE" comment="Reserved for Shannon Woods (Bug 13175)">
@ -830,8 +893,54 @@
<unused start="0x33C0" end="0x33DF"/>
</enums>
<enums namespace="EGL" start="0x33E0" end="0x342F" vendor="QCOM" comment="Reserved for Jeff Vigil (Bugs 10663,13364)">
<unused start="0x33E0" end="0x342F"/>
<enums namespace="EGL" start="0x33E0" end="0x342F" vendor="QCOM" comment="EGL_QCOM_create_image and EGL_QCOM_lock_image2">
<enum value="0x33E0" name="EGL_FORMAT_FLAG_UBWC_QCOM"/>
<enum value="0x33E1" name="EGL_FORMAT_FLAG_MACROTILE_QCOM"/>
<enum value="0x33E2" name="EGL_FORMAT_ASTC_4X4_QCOM"/>
<enum value="0x33E3" name="EGL_FORMAT_ASTC_5X4_QCOM"/>
<enum value="0x33E4" name="EGL_FORMAT_ASTC_5X5_QCOM"/>
<enum value="0x33E5" name="EGL_FORMAT_ASTC_6X5_QCOM"/>
<enum value="0x33E6" name="EGL_FORMAT_ASTC_6X6_QCOM"/>
<enum value="0x33E7" name="EGL_FORMAT_ASTC_8X5_QCOM"/>
<enum value="0x33E8" name="EGL_FORMAT_ASTC_8X6_QCOM"/>
<enum value="0x33E9" name="EGL_FORMAT_ASTC_8X8_QCOM"/>
<enum value="0x33EA" name="EGL_FORMAT_ASTC_10X5_QCOM"/>
<enum value="0x33EB" name="EGL_FORMAT_ASTC_10X6_QCOM"/>
<enum value="0x33EC" name="EGL_FORMAT_ASTC_10X8_QCOM"/>
<enum value="0x33ED" name="EGL_FORMAT_ASTC_10X10_QCOM"/>
<enum value="0x33EE" name="EGL_FORMAT_ASTC_12X10_QCOM"/>
<enum value="0x33EF" name="EGL_FORMAT_ASTC_12X12_QCOM"/>
<enum value="0x3400" name="EGL_FORMAT_ASTC_4X4_SRGB_QCOM"/>
<enum value="0x3401" name="EGL_FORMAT_ASTC_5X4_SRGB_QCOM"/>
<enum value="0x3402" name="EGL_FORMAT_ASTC_5X5_SRGB_QCOM"/>
<enum value="0x3403" name="EGL_FORMAT_ASTC_6X5_SRGB_QCOM"/>
<enum value="0x3404" name="EGL_FORMAT_ASTC_6X6_SRGB_QCOM"/>
<enum value="0x3405" name="EGL_FORMAT_ASTC_8X5_SRGB_QCOM"/>
<enum value="0x3406" name="EGL_FORMAT_ASTC_8X6_SRGB_QCOM"/>
<enum value="0x3407" name="EGL_FORMAT_ASTC_8X8_SRGB_QCOM"/>
<enum value="0x3408" name="EGL_FORMAT_ASTC_10X5_SRGB_QCOM"/>
<enum value="0x3409" name="EGL_FORMAT_ASTC_10X6_SRGB_QCOM"/>
<enum value="0x340A" name="EGL_FORMAT_ASTC_10X8_SRGB_QCOM"/>
<enum value="0x340B" name="EGL_FORMAT_ASTC_10X10_SRGB_QCOM"/>
<enum value="0x340C" name="EGL_FORMAT_ASTC_12X10_SRGB_QCOM"/>
<enum value="0x340D" name="EGL_FORMAT_ASTC_12X12_SRGB_QCOM"/>
<enum value="0x340E" name="EGL_FORMAT_TP10_QCOM"/>
<enum value="0x340F" name="EGL_FORMAT_NV12_Y_QCOM"/>
<enum value="0x3410" name="EGL_FORMAT_NV12_UV_QCOM"/>
<enum value="0x3411" name="EGL_FORMAT_NV21_VU_QCOM"/>
<enum value="0x3412" name="EGL_FORMAT_NV12_4R_QCOM"/>
<enum value="0x3413" name="EGL_FORMAT_NV12_4R_Y_QCOM"/>
<enum value="0x3414" name="EGL_FORMAT_NV12_4R_UV_QCOM"/>
<enum value="0x3415" name="EGL_FORMAT_P010_QCOM"/>
<enum value="0x3416" name="EGL_FORMAT_P010_Y_QCOM"/>
<enum value="0x3417" name="EGL_FORMAT_P010_UV_QCOM"/>
<enum value="0x3418" name="EGL_FORMAT_TP10_Y_QCOM"/>
<enum value="0x3419" name="EGL_FORMAT_TP10_UV_QCOM"/>
<unused start="0x341A" end="0x341F"/>
<enum value="0x3420" name="EGL_GENERIC_TOKEN_1_QCOM"/>
<enum value="0x3421" name="EGL_GENERIC_TOKEN_2_QCOM"/>
<enum value="0x3422" name="EGL_GENERIC_TOKEN_3_QCOM"/>
<unused start="0x3423" end="0x342F"/>
</enums>
<enums namespace="EGL" start="0x3430" end="0x343F" vendor="ANDROID" comment="Reserved for Pablo Ceballos (Bug 15874)">
@ -886,6 +995,13 @@
<enum value="0x3471" name="EGL_IMPORT_IMPLICIT_SYNC_EXT"/>
<enum value="0x3472" name="EGL_IMPORT_EXPLICIT_SYNC_EXT"/>
</enums>
<enums namespace="EGL" start="0x3480" end="0x348F" vendor="ANGLE" comment="Reserved for Courtney Goeltzenleuchter - ANGLE (gitlab EGL bug 7)">
<unused start="0x3480" end="0x348F"/>
</enums>
<enums namespace="EGL" start="0x3490" end="0x349F" vendor="EXT" comment="Reserved for Courtney Goeltzenleuchter - Android (gitlab EGL bug 69)">
<enum value="0x3490" name="EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT"/>
<unused start="0x3491" end="0x349F"/>
</enums>
<!-- Please remember that new enumerant allocations must be obtained by
request to the Khronos API registrar (see comments at the top of this
@ -896,8 +1012,8 @@
<!-- Reservable for future use. To generate a new range, allocate multiples
of 16 starting at the lowest available point in this block. -->
<enums namespace="EGL" start="0x3480" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
<unused start="0x3480" end="0x3FFF"/>
<enums namespace="EGL" start="0x34A0" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
<unused start="0x34A0" end="0x3FFF"/>
</enums>
<enums namespace="EGL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with GL.">
@ -928,6 +1044,12 @@
<param><ptype>EGLint</ptype> <name>config_size</name></param>
<param><ptype>EGLint</ptype> *<name>num_config</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglClientSignalSyncEXT</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLSync</ptype> <name>sync</name></param>
<param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
</command>
<command>
<proto><ptype>EGLint</ptype> <name>eglClientWaitSync</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
@ -1210,6 +1332,14 @@
<proto><ptype>EGLDisplay</ptype> <name>eglGetDisplay</name></proto>
<param><ptype>EGLNativeDisplayType</ptype> <name>display_id</name></param>
</command>
<command>
<proto>char *<name>eglGetDisplayDriverConfig</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
</command>
<command>
<proto>const char *<name>eglGetDisplayDriverName</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
</command>
<command>
<proto><ptype>EGLint</ptype> <name>eglGetError</name></proto>
</command>
@ -1645,6 +1775,11 @@
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
<param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglStreamFlushNV</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglSurfaceAttrib</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
@ -1699,6 +1834,12 @@
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLSurface</ptype> <name>surface</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglUnsignalSyncEXT</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLSync</ptype> <name>sync</name></param>
<param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglWaitClient</name></proto>
</command>
@ -2103,6 +2244,7 @@
<enum name="EGL_RECORDABLE_ANDROID"/>
</require>
</extension>
<extension name="EGL_ANDROID_GLES_layers" supported="egl"/>
<extension name="EGL_ANGLE_d3d_share_handle_client_buffer" supported="egl">
<require>
<enum name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/>
@ -2145,6 +2287,13 @@
</require>
</extension>
<extension name="EGL_EXT_client_extensions" supported="egl"/>
<extension name="EGL_EXT_client_sync" supported="egl">
<require>
<enum name="EGL_SYNC_CLIENT_EXT"/>
<enum name="EGL_SYNC_CLIENT_SIGNAL_EXT"/>
<command name="eglClientSignalSyncEXT"/>
</require>
</extension>
<extension name="EGL_EXT_create_context_robustness" supported="egl">
<require>
<enum name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT"/>
@ -2167,6 +2316,7 @@
<extension name="EGL_EXT_device_drm" supported="egl">
<require>
<enum name="EGL_DRM_DEVICE_FILE_EXT"/>
<enum name="EGL_DRM_MASTER_FD_EXT"/>
</require>
</extension>
<extension name="EGL_EXT_device_enumeration" supported="egl">
@ -2219,6 +2369,11 @@
<enum name="EGL_GL_COLORSPACE_DISPLAY_P3_EXT"/>
</require>
</extension>
<extension name="EGL_EXT_gl_colorspace_display_p3_passthrough" supported="egl">
<require>
<enum name="EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT"/>
</require>
</extension>
<extension name="EGL_EXT_image_dma_buf_import" supported="egl">
<require>
<enum name="EGL_LINUX_DMA_BUF_EXT"/>
@ -2262,6 +2417,12 @@
<command name="eglQueryDmaBufModifiersEXT"/>
</require>
</extension>
<extension name="EGL_EXT_image_gl_colorspace" supported="egl">
<require>
<enum name="EGL_GL_COLORSPACE"/>
<enum name="EGL_GL_COLORSPACE_DEFAULT_EXT"/>
</require>
</extension>
<extension name="EGL_EXT_multiview_window" supported="egl">
<require>
<enum name="EGL_MULTIVIEW_VIEW_COUNT_EXT"/>
@ -2364,6 +2525,11 @@
<command name="eglSwapBuffersWithDamageEXT"/>
</require>
</extension>
<extension name="EGL_EXT_sync_reuse" supported="egl">
<require>
<command name="eglUnsignalSyncEXT"/>
</require>
</extension>
<extension name="EGL_EXT_yuv_surface" supported="egl">
<require>
<enum name="EGL_YUV_ORDER_EXT"/>
@ -2800,6 +2966,12 @@
<enum name="EGL_PLATFORM_SURFACELESS_MESA"/>
</require>
</extension>
<extension name="EGL_MESA_query_driver" supported="egl">
<require>
<command name="eglGetDisplayDriverConfig"/>
<command name="eglGetDisplayDriverName"/>
</require>
</extension>
<extension name="EGL_NOK_swap_region" supported="egl">
<require>
<command name="eglSwapBuffersRegionNOK"/>
@ -2874,6 +3046,11 @@
<command name="eglPostSubBufferNV"/>
</require>
</extension>
<extension name="EGL_NV_quadruple_buffer" supported="egl">
<require>
<enum name="EGL_QUADRUPLE_BUFFER_NV"/>
</require>
</extension>
<extension name="EGL_NV_robustness_video_memory_purge" supported="egl">
<require>
<enum name="EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV"/>
@ -2914,6 +3091,12 @@
<enum name="EGL_STREAM_CROSS_SYSTEM_NV"/>
</require>
</extension>
<extension name="EGL_NV_stream_dma" supported="egl">
<require>
<enum name="EGL_STREAM_DMA_NV"/>
<enum name="EGL_STREAM_DMA_SERVER_NV"/>
</require>
</extension>
<extension name="EGL_NV_stream_fifo_next" supported="egl">
<require>
<enum name="EGL_PENDING_FRAME_NV"/>
@ -2925,6 +3108,11 @@
<enum name="EGL_STREAM_FIFO_SYNCHRONOUS_NV"/>
</require>
</extension>
<extension name="EGL_NV_stream_flush" supported="egl">
<require>
<command name="eglStreamFlushNV"/>
</require>
</extension>
<extension name="EGL_NV_stream_frame_limits" supported="egl">
<require>
<enum name="EGL_PRODUCER_MAX_FRAME_HINT_NV"/>
@ -3026,6 +3214,11 @@
<command name="eglGetSystemTimeNV"/>
</require>
</extension>
<extension name="EGL_NV_triple_buffer" supported="egl">
<require>
<enum name="EGL_TRIPLE_BUFFER_NV"/>
</require>
</extension>
<extension name="EGL_TIZEN_image_native_buffer" supported="egl">
<require>
<enum name="EGL_NATIVE_BUFFER_TIZEN"/>
@ -3070,5 +3263,20 @@
<enum name="EGL_FRONT_BUFFER_EXT"/>
</require>
</extension>
<extension name="EGL_NV_stream_origin" supported="egl">
<require>
<enum name="EGL_STREAM_FRAME_ORIGIN_X_NV"/>
<enum name="EGL_STREAM_FRAME_ORIGIN_Y_NV"/>
<enum name="EGL_STREAM_FRAME_MAJOR_AXIS_NV"/>
<enum name="EGL_CONSUMER_AUTO_ORIENTATION_NV"/>
<enum name="EGL_PRODUCER_AUTO_ORIENTATION_NV"/>
<enum name="EGL_LEFT_NV"/>
<enum name="EGL_RIGHT_NV"/>
<enum name="EGL_TOP_NV"/>
<enum name="EGL_BOTTOM_NV"/>
<enum name="EGL_X_AXIS_NV"/>
<enum name="EGL_Y_AXIS_NV"/>
</require>
</extension>
</extensions>
</registry>

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<registry>
<comment>
Copyright (c) 2013-2017 The Khronos Group Inc.
Copyright (c) 2013-2018 The Khronos Group Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -462,6 +462,13 @@ typedef unsigned __int64 uint64_t;
<unused start="0x21A9" end="0x21AF"/>
</enums>
<enums namespace="GLX" start="0x3100" end="0x3103" vendor="EXT" comment="Shared with EGL_IMG_context_priority">
<enum value="0x3100" name="GLX_CONTEXT_PRIORITY_LEVEL_EXT"/>
<enum value="0x3101" name="GLX_CONTEXT_PRIORITY_HIGH_EXT"/>
<enum value="0x3102" name="GLX_CONTEXT_PRIORITY_MEDIUM_EXT"/>
<enum value="0x3103" name="GLX_CONTEXT_PRIORITY_LOW_EXT"/>
</enums>
<enums namespace="GLX" start="0x31B3" end="0x31B3" vendor="ARB" comment="Shared with WGL.">
<enum value="0x31B3" name="GLX_CONTEXT_OPENGL_NO_ERROR_ARB"/>
</enums>
@ -583,8 +590,7 @@ typedef unsigned __int64 uint64_t;
<enum value="0x818B" name="GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA"/>
<enum value="0x818C" name="GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA"/>
<enum value="0x818D" name="GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA"/>
<enum value="0x818E" name="GLX_RENDERER_ID_MESA"/>
<unused start="0x818F"/>
<unused start="0x818E" end="0x818F"/>
</enums>
<!-- Please remember that new enumerant allocations must be obtained by
@ -1087,7 +1093,7 @@ typedef unsigned __int64 uint64_t;
<param><ptype>Display</ptype> *<name>dpy</name></param>
<param><ptype>Window</ptype> <name>overlay</name></param>
<param><ptype>Window</ptype> <name>underlay</name></param>
<param>long *<name>pTransparentIndex</name></param>
<param>unsigned long *<name>pTransparentIndex</name></param>
</command>
<command>
<proto>int <name>glXGetVideoDeviceNV</name></proto>
@ -1253,7 +1259,7 @@ typedef unsigned __int64 uint64_t;
<param><ptype>GLuint</ptype> *<name>count</name></param>
</command>
<command>
<proto>int <name>glXQueryGLXPbufferSGIX</name></proto>
<proto>void <name>glXQueryGLXPbufferSGIX</name></proto>
<param><ptype>Display</ptype> *<name>dpy</name></param>
<param><ptype>GLXPbufferSGIX</ptype> <name>pbuf</name></param>
<param>int <name>attribute</name></param>
@ -1394,8 +1400,8 @@ typedef unsigned __int64 uint64_t;
<param><ptype>GLboolean</ptype> <name>bBlock</name></param>
</command>
<command>
<proto><ptype>Bool</ptype> <name>glXSet3DfxModeMESA</name></proto>
<param>int <name>mode</name></param>
<proto><ptype>GLboolean</ptype> <name>glXSet3DfxModeMESA</name></proto>
<param>GLint <name>mode</name></param>
</command>
<command>
<proto>void <name>glXSwapBuffers</name></proto>
@ -1735,6 +1741,14 @@ typedef unsigned __int64 uint64_t;
<enum name="GLX_BACK_BUFFER_AGE_EXT"/>
</require>
</extension>
<extension name="GLX_EXT_context_priority" supported="glx">
<require>
<enum name="GLX_CONTEXT_PRIORITY_LEVEL_EXT"/>
<enum name="GLX_CONTEXT_PRIORITY_HIGH_EXT"/>
<enum name="GLX_CONTEXT_PRIORITY_MEDIUM_EXT"/>
<enum name="GLX_CONTEXT_PRIORITY_LOW_EXT"/>
</require>
</extension>
<extension name="GLX_EXT_create_context_es_profile" supported="glx">
<require>
<enum name="GLX_CONTEXT_ES_PROFILE_BIT_EXT"/>
@ -1898,7 +1912,6 @@ typedef unsigned __int64 uint64_t;
<enum name="GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA"/>
<enum name="GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA"/>
<enum name="GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA"/>
<enum name="GLX_RENDERER_ID_MESA"/>
<command name="glXQueryCurrentRendererIntegerMESA"/>
<command name="glXQueryCurrentRendererStringMESA"/>
<command name="glXQueryRendererIntegerMESA"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<registry>
<comment>
Copyright (c) 2013-2017 The Khronos Group Inc.
Copyright (c) 2013-2018 The Khronos Group Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -384,7 +384,12 @@ Registry at
<enum value="0x20A8" name="WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT"/>
<enum value="0x20A9" name="WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB"/>
<enum value="0x20A9" name="WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
<unused start="0x20AA" end="0x20AF"/>
<enum value="0x20AA" name="WGL_CONTEXT_MULTIGPU_ATTRIB_NV"/>
<enum value="0x20AB" name="WGL_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV"/>
<enum value="0x20AC" name="WGL_CONTEXT_MULTIGPU_ATTRIB_AFR_NV"/>
<enum value="0x20AD" name="WGL_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV"/>
<enum value="0x20AE" name="WGL_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV"/>
<unused start="0x20AF" end="0x20AF"/>
<enum value="0x20B0" name="WGL_FLOAT_COMPONENTS_NV"/>
<enum value="0x20B1" name="WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV"/>
<enum value="0x20B2" name="WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV"/>
@ -427,6 +432,7 @@ Registry at
<enum value="0x21A3" name="WGL_GPU_RAM_AMD"/>
<enum value="0x21A4" name="WGL_GPU_CLOCK_AMD"/>
<enum value="0x21A5" name="WGL_GPU_NUM_PIPES_AMD"/>
<enum value="0x21A5" name="WGL_TEXTURE_RECTANGLE_ATI" comment="Duplicates unrelated WGL_GPU_NUM_PIPES_AMD"/>
<enum value="0x21A6" name="WGL_GPU_NUM_SIMD_AMD"/>
<enum value="0x21A7" name="WGL_GPU_NUM_RB_AMD"/>
<enum value="0x21A8" name="WGL_GPU_NUM_SPI_AMD"/>
@ -451,7 +457,7 @@ Registry at
</enums>
<enums namespace="EGL" start="0x3080" end="0x30AF" vendor="KHR" comment="Values shared with EGL. Do not allocate additional values in this range.">
<enum value="0x3087" name="WGL_COLORSPACE_EXT"/>
<enum value="0x309D" name="WGL_COLORSPACE_EXT"/>
<enum value="0x3089" name="WGL_COLORSPACE_SRGB_EXT"/>
<enum value="0x308A" name="WGL_COLORSPACE_LINEAR_EXT"/>
</enums>
@ -459,7 +465,7 @@ Registry at
<enums namespace="WGL" start="0x31B3" end="0x31B3" vendor="ARB" comment="Shared with GLX.">
<enum value="0x31B3" name="WGL_CONTEXT_OPENGL_NO_ERROR_ARB"/>
</enums>
<enums namespace="GL" start="0x8250" end="0x826F" vendor="ARB" comment="Values shared with GL. Do not allocate additional values in this range.">
<enum value="0x8252" name="WGL_LOSE_CONTEXT_ON_RESET_ARB"/>
<enum value="0x8256" name="WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB"/>
@ -537,7 +543,7 @@ Registry at
</command>
<command>
<proto><ptype>BOOL</ptype> <name>wglBindVideoDeviceNV</name></proto>
<param><ptype>HDC</ptype> <name>hDC</name></param>
<param><ptype>HDC</ptype> <name>hDc</name></param>
<param>unsigned int <name>uVideoSlot</name></param>
<param><ptype>HVIDEOOUTPUTDEVICENV</ptype> <name>hVideoDevice</name></param>
<param>const int *<name>piAttribList</name></param>
@ -780,7 +786,7 @@ Registry at
</command>
<command>
<proto>int <name>wglEnumerateVideoDevicesNV</name></proto>
<param><ptype>HDC</ptype> <name>hDC</name></param>
<param><ptype>HDC</ptype> <name>hDc</name></param>
<param><ptype>HVIDEOOUTPUTDEVICENV</ptype> *<name>phDeviceList</name></param>
</command>
<command>
@ -911,7 +917,7 @@ Registry at
<command>
<proto><ptype>INT</ptype> <name>wglGetGPUInfoAMD</name></proto>
<param><ptype>UINT</ptype> <name>id</name></param>
<param>int <name>property</name></param>
<param><ptype>INT</ptype> <name>property</name></param>
<param><ptype>GLenum</ptype> <name>dataType</name></param>
<param><ptype>UINT</ptype> <name>size</name></param>
<param>void *<name>data</name></param>
@ -1234,7 +1240,7 @@ Registry at
<command>
<proto><ptype>INT64</ptype> <name>wglSwapLayerBuffersMscOML</name></proto>
<param><ptype>HDC</ptype> <name>hdc</name></param>
<param>int <name>fuPlanes</name></param>
<param><ptype>INT</ptype> <name>fuPlanes</name></param>
<param><ptype>INT64</ptype> <name>target_msc</name></param>
<param><ptype>INT64</ptype> <name>divisor</name></param>
<param><ptype>INT64</ptype> <name>remainder</name></param>
@ -1627,6 +1633,11 @@ Registry at
<enum name="WGL_TYPE_RGBA_FLOAT_ATI"/>
</require>
</extension>
<extension name="WGL_ATI_render_texture_rectangle" supported="wgl">
<require>
<enum name="WGL_TEXTURE_RECTANGLE_ATI"/>
</require>
</extension>
<extension name="WGL_EXT_colorspace" supported="wgl">
<require>
<enum name="WGL_COLORSPACE_EXT"/>
@ -1979,5 +1990,14 @@ Registry at
<command name="wglWaitForSbcOML"/>
</require>
</extension>
<extension name="WGL_NV_multigpu_context" supported="wgl">
<require>
<enum name="WGL_CONTEXT_MULTIGPU_ATTRIB_NV"/>
<enum name="WGL_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV"/>
<enum name="WGL_CONTEXT_MULTIGPU_ATTRIB_AFR_NV"/>
<enum name="WGL_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV"/>
<enum name="WGL_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV"/>
</require>
</extension>
</extensions>
</registry>

View File

@ -173,28 +173,29 @@
#include "dispatch_common.h"
#ifdef __APPLE__
#if defined(__APPLE__)
#define GLX_LIB "/opt/X11/lib/libGL.1.dylib"
#define OPENGL_LIB "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL"
#define GLES1_LIB "libGLESv1_CM.so"
#define GLES2_LIB "libGLESv2.so"
#elif defined(__ANDROID__)
#define GLX_LIB "libGLESv2.so"
#elif defined(__OpenBSD__)
#define GLX_LIB "libGL.so"
#else
#define GLVND_GLX_LIB "libGLX.so.1"
#define GLX_LIB "libGL.so.1"
#endif
#ifdef __ANDROID__
#define EGL_LIB "libEGL.so"
#define GLES1_LIB "libGLESv1_CM.so"
#define GLES2_LIB "libGLESv2.so"
#elif defined _WIN32
#elif defined(__OpenBSD__)
#define GLX_LIB "libGL.so"
#define EGL_LIB "libEGL.so"
#define GLES1_LIB "libGLESv1_CM.so"
#define GLES2_LIB "libGLESv2.so"
#elif defined(_WIN32)
#define EGL_LIB "libEGL.dll"
#define GLES1_LIB "libGLES_CM.dll"
#define GLES2_LIB "libGLESv2.dll"
#define OPENGL_LIB "OPENGL32"
#else
#define GLVND_GLX_LIB "libGLX.so.1"
#define GLX_LIB "libGL.so.1"
#define EGL_LIB "libEGL.so.1"
#define GLES1_LIB "libGLESv1_CM.so.1"
#define GLES2_LIB "libGLESv2.so.2"
@ -310,8 +311,10 @@ get_dlopen_handle(void **handle, const char *lib_name, bool exit_on_fail, bool l
pthread_mutex_lock(&api.mutex);
if (!*handle) {
int flags = RTLD_LAZY | RTLD_LOCAL;
#ifndef __OpenBSD__
if (!load)
flags |= RTLD_NOLOAD;
#endif
*handle = dlopen(lib_name, flags);
if (!*handle) {
@ -555,23 +558,25 @@ epoxy_internal_has_gl_extension(const char *ext, bool invalid_op_mode)
bool
epoxy_load_glx(bool exit_if_fails, bool load)
{
#ifdef GLVND_GLX_LIB
#if PLATFORM_HAS_GLX
# ifdef GLVND_GLX_LIB
/* prefer the glvnd library if it exists */
if (!api.glx_handle)
get_dlopen_handle(&api.glx_handle, GLVND_GLX_LIB, false, load);
#endif
# endif
if (!api.glx_handle)
get_dlopen_handle(&api.glx_handle, GLX_LIB, exit_if_fails, load);
#endif
return api.glx_handle != NULL;
}
void *
epoxy_conservative_glx_dlsym(const char *name, bool exit_if_fails)
{
#if PLATFORM_HAS_GLX
if (epoxy_load_glx(exit_if_fails, exit_if_fails))
return do_dlsym(&api.glx_handle, name, exit_if_fails);
#endif
return NULL;
}
@ -638,15 +643,20 @@ epoxy_conservative_has_gl_extension(const char *ext)
bool
epoxy_load_egl(bool exit_if_fails, bool load)
{
#if PLATFORM_HAS_EGL
return get_dlopen_handle(&api.egl_handle, EGL_LIB, exit_if_fails, load);
#else
return false;
#endif
}
void *
epoxy_conservative_egl_dlsym(const char *name, bool exit_if_fails)
{
#if PLATFORM_HAS_EGL
if (epoxy_load_egl(exit_if_fails, exit_if_fails))
return do_dlsym(&api.egl_handle, name, exit_if_fails);
#endif
return NULL;
}
@ -729,7 +739,7 @@ epoxy_gles3_dlsym(const char *name)
return epoxy_get_proc_address(name);
} else {
if (get_dlopen_handle(&api.gles2_handle, GLES2_LIB, false, true)) {
void *func = do_dlsym(&api.gles2_handle, GLES2_LIB, false);
void *func = do_dlsym(&api.gles2_handle, name, false);
if (func)
return func;

View File

@ -28,7 +28,7 @@
#define PLATFORM_HAS_GLX ENABLE_GLX
#define PLATFORM_HAS_WGL 1
#elif defined(__APPLE__)
#define PLATFORM_HAS_EGL ENABLE_EGL
#define PLATFORM_HAS_EGL 0
#define PLATFORM_HAS_GLX ENABLE_GLX
#define PLATFORM_HAS_WGL 0
#elif defined(ANDROID)

View File

@ -50,6 +50,7 @@ class GLProvider(object):
self.enum = self.enum.replace(' ', '_')
self.enum = self.enum.replace('\\"', '')
self.enum = self.enum.replace('.', '_')
self.enum = "PROVIDER_" + self.enum
class GLFunction(object):
def __init__(self, ret_type, name):
@ -383,6 +384,7 @@ class Generator(object):
for extension in reg.findall('extensions/extension'):
extname = extension.get('name')
cond_extname = "enum_string[enum_string_offsets[i]]"
self.supported_extensions.add(extname)
@ -390,25 +392,21 @@ class Generator(object):
# or glx, which are separated by '|'
apis = extension.get('supported').split('|')
if 'glx' in apis:
human_name = 'GLX extension \\"{0}\\"'.format(extname)
condition = 'epoxy_conservative_has_glx_extension("{0}")'.format(extname)
condition = 'epoxy_conservative_has_glx_extension(provider_name)'
loader = 'glXGetProcAddress((const GLubyte *){0})'
self.process_require_statements(extension, condition, loader, human_name)
self.process_require_statements(extension, condition, loader, extname)
if 'egl' in apis:
human_name = 'EGL extension \\"{0}\\"'.format(extname)
condition = 'epoxy_conservative_has_egl_extension("{0}")'.format(extname)
condition = 'epoxy_conservative_has_egl_extension(provider_name)'
loader = 'eglGetProcAddress({0})'
self.process_require_statements(extension, condition, loader, human_name)
self.process_require_statements(extension, condition, loader, extname)
if 'wgl' in apis:
human_name = 'WGL extension \\"{0}\\"'.format(extname)
condition = 'epoxy_conservative_has_wgl_extension("{0}")'.format(extname)
condition = 'epoxy_conservative_has_wgl_extension(provider_name)'
loader = 'wglGetProcAddress({0})'
self.process_require_statements(extension, condition, loader, human_name)
self.process_require_statements(extension, condition, loader, extname)
if {'gl', 'gles1', 'gles2'}.intersection(apis):
human_name = 'GL extension \\"{0}\\"'.format(extname)
condition = 'epoxy_conservative_has_gl_extension("{0}")'.format(extname)
condition = 'epoxy_conservative_has_gl_extension(provider_name)'
loader = 'epoxy_get_proc_address({0})'
self.process_require_statements(extension, condition, loader, human_name)
self.process_require_statements(extension, condition, loader, extname)
def fixup_bootstrap_function(self, name, loader):
# We handle glGetString(), glGetIntegerv(), and
@ -676,7 +674,7 @@ class Generator(object):
self.outln(' -1, /* {0}_provider_terminator, unused */'.format(self.target))
for human_name in sorted_providers:
enum = self.provider_enum[human_name]
self.outln(' {1}, /* {0} */'.format(enum, self.enum_string_offset[human_name]))
self.outln(' {1}, /* {0} */'.format(human_name, self.enum_string_offset[human_name]))
self.outln('};')
self.outln('')
@ -703,7 +701,9 @@ class Generator(object):
self.outln(' int i;')
self.outln(' for (i = 0; providers[i] != {0}_provider_terminator; i++) {{'.format(self.target))
self.outln(' const char *provider_name = enum_string + enum_string_offsets[providers[i]];')
self.outln(' switch (providers[i]) {')
self.outln('')
for human_name in sorted(self.provider_enum.keys()):
enum = self.provider_enum[human_name]

View File

@ -50,11 +50,7 @@ epoxy_sources = sources + gen_sources
common_ldflags = []
if host_system == 'linux' and cc.get_id() == 'gcc'
if meson.version().version_compare('>= 0.46.0')
common_ldflags += cc.get_supported_link_arguments([ '-Wl,-Bsymbolic-functions', '-Wl,-z,relro' ])
else
common_ldflags += [ '-Wl,-Bsymbolic-functions', '-Wl,-z,relro', ]
endif
common_ldflags += cc.get_supported_link_arguments([ '-Wl,-Bsymbolic-functions', '-Wl,-z,relro' ])
endif
# Maintain compatibility with autotools; see: https://github.com/anholt/libepoxy/issues/108

View File

@ -57,6 +57,7 @@ TESTS = \
$(GLX_TESTS) \
$(EGL_AND_GLX_TESTS) \
$(WGL_TESTS) \
gl_version$(EXEEXT) \
headerguards$(EXEEXT) \
miscdefines$(EXEEXT) \
khronos_typedefs$(EXEEXT) \

54
dist/libepoxy/test/cgl_core.c vendored Normal file
View File

@ -0,0 +1,54 @@
/* This is a copy of the test used by HomeBrew's libepoxy recipe,
* originally written by Mikko Lehtonen.
*
* The Homebrew recipe is released under the BSD 2-Clause license.
*
* Copyright (c) 2009-present, Homebrew contributors
* 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.
*
* 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 HOLDER 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.
*/
#include <epoxy/gl.h>
#include <Carbon/Carbon.h>
#include <OpenGL/OpenGL.h>
#include <OpenGL/CGLTypes.h>
#include <OpenGL/CGLCurrent.h>
#include <OpenGL/CGLContext.h>
int
main (void)
{
CGLPixelFormatAttribute attribs[] = {0};
CGLPixelFormatObj pix;
CGLContextObj ctx;
int npix;
CGLChoosePixelFormat(attribs, &pix, &npix);
CGLCreateContext(pix, (void *) 0, &ctx);
glClear(GL_COLOR_BUFFER_BIT);
CGLReleaseContext(ctx);
CGLReleasePixelFormat(pix);
return 0;
}

83
dist/libepoxy/test/cgl_epoxy_api.c vendored Normal file
View File

@ -0,0 +1,83 @@
/*
* Copyright 2018 Emmanuele Bassi
*
* 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 (including the next
* paragraph) 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
* 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 SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*/
/**
* @file cgl_epoxy_api.c
*
* Tests the Epoxy API using the CoreGraphics OpenGL framework.
*/
#include <epoxy/gl.h>
#include <Carbon/Carbon.h>
#include <OpenGL/OpenGL.h>
#include <OpenGL/CGLTypes.h>
#include <OpenGL/CGLCurrent.h>
#include <OpenGL/CGLContext.h>
int
main (void)
{
CGLPixelFormatAttribute attribs[] = {0};
CGLPixelFormatObj pix;
CGLContextObj ctx;
const char *string;
bool pass = true;
int npix;
GLint shader;
CGLChoosePixelFormat(attribs, &pix, &npix);
CGLCreateContext(pix, (void *) 0, &ctx);
CGLSetCurrentContext(ctx);
if (!epoxy_is_desktop_gl()) {
fputs("Claimed not to be desktop\n", stderr);
pass = false;
}
if (epoxy_gl_version() < 20) {
fprintf(stderr, "Claimed to be GL version %d\n",
epoxy_gl_version());
pass = false;
}
if (epoxy_glsl_version() < 100) {
fprintf(stderr, "Claimed to have GLSL version %d\n",
epoxy_glsl_version());
pass = false;
}
string = (const char *)glGetString(GL_VERSION);
printf("GL version: %s - Epoxy: %d\n", string, epoxy_gl_version());
string = (const char *)glGetString(GL_SHADING_LANGUAGE_VERSION);
printf("GLSL version: %s - Epoxy: %d\n", string, epoxy_glsl_version());
shader = glCreateShader(GL_FRAGMENT_SHADER);
pass = glIsShader(shader);
CGLSetCurrentContext(NULL);
CGLReleaseContext(ctx);
CGLReleasePixelFormat(pix);
return pass != true;
}

View File

@ -27,6 +27,11 @@
* Tests the Epoxy API using EGL.
*/
#ifdef __sun
#define __EXTENSIONS__
#else
#define _GNU_SOURCE
#endif
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

View File

@ -28,6 +28,11 @@
* no context bound would fail out in dispatch.
*/
#ifdef __sun
#define __EXTENSIONS__
#else
#define _GNU_SOURCE
#endif
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

89
dist/libepoxy/test/gl_version.c vendored Normal file
View File

@ -0,0 +1,89 @@
/*
* Copyright © 2018 Broadcom
*
* 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 (including the next
* paragraph) 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
* 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 SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*/
#include <stdio.h>
#include <assert.h>
#include "epoxy/gl.h"
GLenum mock_enum;
const char *mock_gl_version;
const char *mock_glsl_version;
static const GLubyte *override_glGetString(GLenum name)
{
switch (name) {
case GL_VERSION:
return (GLubyte *)mock_gl_version;
case GL_SHADING_LANGUAGE_VERSION:
return (GLubyte *)mock_glsl_version;
default:
assert(!"unexpected glGetString() enum");
return 0;
}
}
static bool
test_version(const char *gl_string, int gl_version,
const char *glsl_string, int glsl_version)
{
int epoxy_version;
mock_gl_version = gl_string;
mock_glsl_version = glsl_string;
epoxy_version = epoxy_gl_version();
if (epoxy_version != gl_version) {
fprintf(stderr,
"glGetString(GL_VERSION) = \"%s\" returned epoxy_gl_version() "
"%d instead of %d\n", gl_string, epoxy_version, gl_version);
return false;
}
epoxy_version = epoxy_glsl_version();
if (epoxy_version != glsl_version) {
fprintf(stderr,
"glGetString() = \"%s\" returned epoxy_glsl_version() "
"%d instead of %d\n", glsl_string, epoxy_version, glsl_version);
return false;
}
return true;
}
int
main(int argc, char **argv)
{
bool pass = true;
epoxy_glGetString = override_glGetString;
pass = pass && test_version("3.0 Mesa 13.0.6", 30,
"1.30", 130);
pass = pass && test_version("OpenGL ES 3.2 Mesa 18.3.0-devel", 32,
"OpenGL ES GLSL ES 3.20", 320);
pass = pass && test_version("4.5.0 NVIDIA 384.130", 45,
"4.50", 450);
return pass != true;
}

View File

@ -33,6 +33,12 @@ test('khronos_typedefs',
c_args: common_cflags,
dependencies: libepoxy_dep,
include_directories: libepoxy_inc))
test('gl_version',
executable('gl_version',
'gl_version.c',
c_args: common_cflags,
dependencies: libepoxy_dep,
include_directories: libepoxy_inc))
if build_egl and build_x11_tests
egl_common_sources = [ 'egl_common.h', 'egl_common.c', ]
@ -74,7 +80,7 @@ if build_egl and build_x11_tests
endforeach
endif
if build_glx
if build_glx and build_x11_tests
glx_common_sources = [ 'glx_common.h', 'glx_common.c', ]
glx_common_lib = static_library('glx_common',
sources: glx_common_sources,
@ -152,3 +158,27 @@ if build_wgl
test(test_name, test_bin)
endforeach
endif
# Apple
if host_machine.system().contains('darwin')
opengl_dep = dependency('appleframeworks', modules: ['OpenGL', 'Carbon'], required: true)
cgl_tests = [
[ 'cgl_core', [ 'cgl_core.c' ] ],
[ 'cgl_epoxy_api', [ 'cgl_epoxy_api.c' ] ],
]
foreach t: cgl_tests
test_name = t[0]
test_sources = t[1]
test(test_name,
executable(
test_name, test_sources,
c_args: test_cflags,
include_directories: libepoxy_inc,
dependencies: [ libepoxy_dep, opengl_dep ],
),
)
endforeach
endif

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.8 2018/05/26 08:52:16 matthieu Exp $
# $OpenBSD: Makefile,v 1.9 2020/01/26 13:45:49 matthieu Exp $
.include <bsd.xconf.mk>
EPOXY= ${.CURDIR}/../../dist/libepoxy
@ -7,7 +7,7 @@ LIB= epoxy
EPOXY_MAJOR= 1
EPOXY_MINOR= 5
EPOXY_TINY= 2
EPOXY_TINY= 4
INCSDIR= ${X11BASE}/include/epoxy

View File

@ -1,111 +1,31 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
/*
* Autogenerated by the Meson build system.
* Do not edit, your changes will be lost.
*/
/* build EGL tests */
#define BUILD_EGL 1
#pragma once
/* build GLX tests */
#define BUILD_GLX 1
/* build WGL tests */
/* #undef BUILD_WGL */
/* Whether EGL support is enabled */
#define ENABLE_EGL 1
/* Whether GLX support is enabled */
#define ENABLE_GLX 1
/* defines how to decorate public symbols while building */
#define ENABLE_X11 1
#define EPOXY_PUBLIC __attribute__((visibility("default"))) extern
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
#define HAVE_KHRPLATFORM_H
/* Define to 1 if you have the `dlvsym' function. */
/* #undef HAVE_DLVSYM */
#define PACKAGE_DATADIR "/usr/X11R6/share"
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
#define PACKAGE_LIBDIR "/usr/X11R6/lib"
/* Define to 1 if you have <KHR/khrplatform.h> (used for tests) */
/* #undef HAVE_KHRPLATFORM_H */
#define PACKAGE_LIBEXECDIR "/usr/X11R6/libexec"
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
#define PACKAGE_LOCALEDIR "/usr/X11R6/share/locale"
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Name of package */
#define PACKAGE "libepoxy"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "https://github.com/anholt/libepoxy"
/* Define to the full name of this package. */
#define PACKAGE_NAME "libepoxy"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "libepoxy 1.5.3"
#define PACKAGE_STRING "libepoxy-1.5.4"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libepoxy"
#define PACKAGE_VERSION "1.5.4"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.5.3"
/* Major version of this package */
#define PACKAGE_VERSION_MAJOR 1
/* Minor version of this package */
#define PACKAGE_VERSION_MINOR 5
/* Patch version of this package */
#define PACKAGE_VERSION_PATCHLEVEL 3
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Version number of package */
#define VERSION "1.5.3"
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
#ifndef RTLD_NOLOAD
# define RTLD_NOLOAD 0
#endif

View File

@ -63,6 +63,7 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_VERSION_1_4 1
#define EGL_VERSION_1_5 1
#define EGL_ANDROID_GLES_layers 1
#define EGL_ANDROID_blob_cache 1
#define EGL_ANDROID_create_native_client_buffer 1
#define EGL_ANDROID_framebuffer_target 1
@ -83,6 +84,7 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_EXT_bind_to_front 1
#define EGL_EXT_buffer_age 1
#define EGL_EXT_client_extensions 1
#define EGL_EXT_client_sync 1
#define EGL_EXT_compositor 1
#define EGL_EXT_create_context_robustness 1
#define EGL_EXT_device_base 1
@ -94,10 +96,12 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_EXT_gl_colorspace_bt2020_pq 1
#define EGL_EXT_gl_colorspace_display_p3 1
#define EGL_EXT_gl_colorspace_display_p3_linear 1
#define EGL_EXT_gl_colorspace_display_p3_passthrough 1
#define EGL_EXT_gl_colorspace_scrgb 1
#define EGL_EXT_gl_colorspace_scrgb_linear 1
#define EGL_EXT_image_dma_buf_import 1
#define EGL_EXT_image_dma_buf_import_modifiers 1
#define EGL_EXT_image_gl_colorspace 1
#define EGL_EXT_image_implicit_sync_control 1
#define EGL_EXT_multiview_window 1
#define EGL_EXT_output_base 1
@ -114,6 +118,7 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_EXT_surface_CTA861_3_metadata 1
#define EGL_EXT_surface_SMPTE2086_metadata 1
#define EGL_EXT_swap_buffers_with_damage 1
#define EGL_EXT_sync_reuse 1
#define EGL_EXT_yuv_surface 1
#define EGL_HI_clientpixmap 1
#define EGL_HI_colorformats 1
@ -164,6 +169,7 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_MESA_image_dma_buf_export 1
#define EGL_MESA_platform_gbm 1
#define EGL_MESA_platform_surfaceless 1
#define EGL_MESA_query_driver 1
#define EGL_NOK_swap_region 1
#define EGL_NOK_swap_region2 1
#define EGL_NOK_texture_from_pixmap 1
@ -177,6 +183,7 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_NV_native_query 1
#define EGL_NV_post_convert_rounding 1
#define EGL_NV_post_sub_buffer 1
#define EGL_NV_quadruple_buffer 1
#define EGL_NV_robustness_video_memory_purge 1
#define EGL_NV_stream_consumer_gltexture_yuv 1
#define EGL_NV_stream_cross_display 1
@ -184,10 +191,13 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_NV_stream_cross_partition 1
#define EGL_NV_stream_cross_process 1
#define EGL_NV_stream_cross_system 1
#define EGL_NV_stream_dma 1
#define EGL_NV_stream_fifo_next 1
#define EGL_NV_stream_fifo_synchronous 1
#define EGL_NV_stream_flush 1
#define EGL_NV_stream_frame_limits 1
#define EGL_NV_stream_metadata 1
#define EGL_NV_stream_origin 1
#define EGL_NV_stream_remote 1
#define EGL_NV_stream_reset 1
#define EGL_NV_stream_socket 1
@ -196,6 +206,7 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_NV_stream_sync 1
#define EGL_NV_sync 1
#define EGL_NV_system_time 1
#define EGL_NV_triple_buffer 1
#define EGL_TIZEN_image_native_buffer 1
#define EGL_TIZEN_image_native_surface 1
@ -455,6 +466,18 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG 0x3105
#define EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG 0x3106
#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
#define EGL_NEW_IMAGE_QCOM 0x3120
#define EGL_IMAGE_FORMAT_QCOM 0x3121
#define EGL_FORMAT_RGBA_8888_QCOM 0x3122
#define EGL_FORMAT_RGB_565_QCOM 0x3123
#define EGL_FORMAT_YUYV_QCOM 0x3124
#define EGL_FORMAT_UYVY_QCOM 0x3125
#define EGL_FORMAT_YV12_QCOM 0x3126
#define EGL_FORMAT_NV21_QCOM 0x3127
#define EGL_FORMAT_NV12_TILED_QCOM 0x3128
#define EGL_FORMAT_BGRA_8888_QCOM 0x3129
#define EGL_FORMAT_BGRX_8888_QCOM 0x312A
#define EGL_FORMAT_RGBX_8888_QCOM 0x312F
#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131
#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133
@ -473,6 +496,7 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147
#define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C
#define EGL_GL_COLORSPACE_DEFAULT_EXT 0x314D
#define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
@ -485,6 +509,22 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_LOSE_CONTEXT_ON_RESET 0x31BF
#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF
#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF
#define EGL_FORMAT_R8_QCOM 0x31C0
#define EGL_FORMAT_RG88_QCOM 0x31C1
#define EGL_FORMAT_NV12_QCOM 0x31C2
#define EGL_FORMAT_SRGBX_8888_QCOM 0x31C3
#define EGL_FORMAT_SRGBA_8888_QCOM 0x31C4
#define EGL_FORMAT_YVYU_QCOM 0x31C5
#define EGL_FORMAT_VYUY_QCOM 0x31C6
#define EGL_FORMAT_IYUV_QCOM 0x31C7
#define EGL_FORMAT_RGB_888_QCOM 0x31C8
#define EGL_FORMAT_RGBA_5551_QCOM 0x31C9
#define EGL_FORMAT_RGBA_4444_QCOM 0x31CA
#define EGL_FORMAT_R_16_FLOAT_QCOM 0x31CB
#define EGL_FORMAT_RG_1616_FLOAT_QCOM 0x31CC
#define EGL_FORMAT_RGBA_16_FLOAT_QCOM 0x31CD
#define EGL_FORMAT_RGBA_1010102_QCOM 0x31CE
#define EGL_FORMAT_FLAG_QCOM 0x31CF
#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
#define EGL_DRM_BUFFER_USE_MESA 0x31D1
#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
@ -525,6 +565,8 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_BAD_OUTPUT_LAYER_EXT 0x322D
#define EGL_BAD_OUTPUT_PORT_EXT 0x322E
#define EGL_SWAP_INTERVAL_EXT 0x322F
#define EGL_TRIPLE_BUFFER_NV 0x3230
#define EGL_QUADRUPLE_BUFFER_NV 0x3231
#define EGL_DRM_DEVICE_FILE_EXT 0x3233
#define EGL_DRM_CRTC_EXT 0x3234
#define EGL_DRM_PLANE_EXT 0x3235
@ -590,7 +632,25 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A
#define EGL_NATIVE_BUFFER_TIZEN 0x32A0
#define EGL_NATIVE_SURFACE_TIZEN 0x32A1
#define EGL_IMAGE_NUM_PLANES_QCOM 0x32B0
#define EGL_IMAGE_PLANE_PITCH_0_QCOM 0x32B1
#define EGL_IMAGE_PLANE_PITCH_1_QCOM 0x32B2
#define EGL_IMAGE_PLANE_PITCH_2_QCOM 0x32B3
#define EGL_IMAGE_PLANE_DEPTH_0_QCOM 0x32B4
#define EGL_IMAGE_PLANE_DEPTH_1_QCOM 0x32B5
#define EGL_IMAGE_PLANE_DEPTH_2_QCOM 0x32B6
#define EGL_IMAGE_PLANE_WIDTH_0_QCOM 0x32B7
#define EGL_IMAGE_PLANE_WIDTH_1_QCOM 0x32B8
#define EGL_IMAGE_PLANE_WIDTH_2_QCOM 0x32B9
#define EGL_IMAGE_PLANE_HEIGHT_0_QCOM 0x32BA
#define EGL_IMAGE_PLANE_HEIGHT_1_QCOM 0x32BB
#define EGL_IMAGE_PLANE_HEIGHT_2_QCOM 0x32BC
#define EGL_IMAGE_PLANE_POINTER_0_QCOM 0x32BD
#define EGL_IMAGE_PLANE_POINTER_1_QCOM 0x32BE
#define EGL_IMAGE_PLANE_POINTER_2_QCOM 0x32BF
#define EGL_PROTECTED_CONTENT_EXT 0x32C0
#define EGL_GPU_PERF_HINT_QCOM 0x32D0
#define EGL_HINT_PERSISTENT_QCOM 0x32D1
#define EGL_YUV_BUFFER_EXT 0x3300
#define EGL_YUV_ORDER_EXT 0x3301
#define EGL_YUV_ORDER_YUV_EXT 0x3302
@ -630,6 +690,7 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_COLOR_COMPONENT_TYPE_EXT 0x3339
#define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A
#define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B
#define EGL_DRM_MASTER_FD_EXT 0x333C
#define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F
#define EGL_GL_COLORSPACE_BT2020_PQ_EXT 0x3340
#define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT 0x3341
@ -654,6 +715,21 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT 0x3361
#define EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT 0x3362
#define EGL_GL_COLORSPACE_DISPLAY_P3_EXT 0x3363
#define EGL_SYNC_CLIENT_EXT 0x3364
#define EGL_SYNC_CLIENT_SIGNAL_EXT 0x3365
#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
#define EGL_STREAM_DMA_NV 0x3371
#define EGL_STREAM_DMA_SERVER_NV 0x3372
#define EGL_D3D9_DEVICE_ANGLE 0x33A0
#define EGL_D3D11_DEVICE_ANGLE 0x33A1
#define EGL_OBJECT_THREAD_KHR 0x33B0
@ -668,6 +744,51 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_DEBUG_MSG_ERROR_KHR 0x33BA
#define EGL_DEBUG_MSG_WARN_KHR 0x33BB
#define EGL_DEBUG_MSG_INFO_KHR 0x33BC
#define EGL_FORMAT_FLAG_UBWC_QCOM 0x33E0
#define EGL_FORMAT_FLAG_MACROTILE_QCOM 0x33E1
#define EGL_FORMAT_ASTC_4X4_QCOM 0x33E2
#define EGL_FORMAT_ASTC_5X4_QCOM 0x33E3
#define EGL_FORMAT_ASTC_5X5_QCOM 0x33E4
#define EGL_FORMAT_ASTC_6X5_QCOM 0x33E5
#define EGL_FORMAT_ASTC_6X6_QCOM 0x33E6
#define EGL_FORMAT_ASTC_8X5_QCOM 0x33E7
#define EGL_FORMAT_ASTC_8X6_QCOM 0x33E8
#define EGL_FORMAT_ASTC_8X8_QCOM 0x33E9
#define EGL_FORMAT_ASTC_10X5_QCOM 0x33EA
#define EGL_FORMAT_ASTC_10X6_QCOM 0x33EB
#define EGL_FORMAT_ASTC_10X8_QCOM 0x33EC
#define EGL_FORMAT_ASTC_10X10_QCOM 0x33ED
#define EGL_FORMAT_ASTC_12X10_QCOM 0x33EE
#define EGL_FORMAT_ASTC_12X12_QCOM 0x33EF
#define EGL_FORMAT_ASTC_4X4_SRGB_QCOM 0x3400
#define EGL_FORMAT_ASTC_5X4_SRGB_QCOM 0x3401
#define EGL_FORMAT_ASTC_5X5_SRGB_QCOM 0x3402
#define EGL_FORMAT_ASTC_6X5_SRGB_QCOM 0x3403
#define EGL_FORMAT_ASTC_6X6_SRGB_QCOM 0x3404
#define EGL_FORMAT_ASTC_8X5_SRGB_QCOM 0x3405
#define EGL_FORMAT_ASTC_8X6_SRGB_QCOM 0x3406
#define EGL_FORMAT_ASTC_8X8_SRGB_QCOM 0x3407
#define EGL_FORMAT_ASTC_10X5_SRGB_QCOM 0x3408
#define EGL_FORMAT_ASTC_10X6_SRGB_QCOM 0x3409
#define EGL_FORMAT_ASTC_10X8_SRGB_QCOM 0x340A
#define EGL_FORMAT_ASTC_10X10_SRGB_QCOM 0x340B
#define EGL_FORMAT_ASTC_12X10_SRGB_QCOM 0x340C
#define EGL_FORMAT_ASTC_12X12_SRGB_QCOM 0x340D
#define EGL_FORMAT_TP10_QCOM 0x340E
#define EGL_FORMAT_NV12_Y_QCOM 0x340F
#define EGL_FORMAT_NV12_UV_QCOM 0x3410
#define EGL_FORMAT_NV21_VU_QCOM 0x3411
#define EGL_FORMAT_NV12_4R_QCOM 0x3412
#define EGL_FORMAT_NV12_4R_Y_QCOM 0x3413
#define EGL_FORMAT_NV12_4R_UV_QCOM 0x3414
#define EGL_FORMAT_P010_QCOM 0x3415
#define EGL_FORMAT_P010_Y_QCOM 0x3416
#define EGL_FORMAT_P010_UV_QCOM 0x3417
#define EGL_FORMAT_TP10_Y_QCOM 0x3418
#define EGL_FORMAT_TP10_UV_QCOM 0x3419
#define EGL_GENERIC_TOKEN_1_QCOM 0x3420
#define EGL_GENERIC_TOKEN_2_QCOM 0x3421
#define EGL_GENERIC_TOKEN_3_QCOM 0x3422
#define EGL_TIMESTAMPS_ANDROID 0x3430
#define EGL_COMPOSITE_DEADLINE_ANDROID 0x3431
#define EGL_COMPOSITE_INTERVAL_ANDROID 0x3432
@ -700,6 +821,7 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
#define EGL_IMPORT_SYNC_TYPE_EXT 0x3470
#define EGL_IMPORT_IMPLICIT_SYNC_EXT 0x3471
#define EGL_IMPORT_EXPLICIT_SYNC_EXT 0x3472
#define EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT 0x3490
#define EGL_COLOR_FORMAT_HI 0x8F70
#define EGL_COLOR_RGB_HI 0x8F71
#define EGL_COLOR_RGBA_HI 0x8F72
@ -734,6 +856,7 @@ typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLin
typedef EGLBoolean (GLAPIENTRY *PFNEGLBINDAPIPROC)(EGLenum api);
typedef EGLBoolean (GLAPIENTRY *PFNEGLBINDTEXIMAGEPROC)(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
typedef EGLBoolean (GLAPIENTRY *PFNEGLCHOOSECONFIGPROC)(EGLDisplay dpy, const EGLint * attrib_list, EGLConfig * configs, EGLint config_size, EGLint * num_config);
typedef EGLBoolean (GLAPIENTRY *PFNEGLCLIENTSIGNALSYNCEXTPROC)(EGLDisplay dpy, EGLSync sync, const EGLAttrib * attrib_list);
typedef EGLint (GLAPIENTRY *PFNEGLCLIENTWAITSYNCPROC)(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
typedef EGLint (GLAPIENTRY *PFNEGLCLIENTWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
typedef EGLint (GLAPIENTRY *PFNEGLCLIENTWAITSYNCNVPROC)(EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
@ -790,6 +913,8 @@ typedef EGLContext (GLAPIENTRY *PFNEGLGETCURRENTCONTEXTPROC)(void);
typedef EGLDisplay (GLAPIENTRY *PFNEGLGETCURRENTDISPLAYPROC)(void);
typedef EGLSurface (GLAPIENTRY *PFNEGLGETCURRENTSURFACEPROC)(EGLint readdraw);
typedef EGLDisplay (GLAPIENTRY *PFNEGLGETDISPLAYPROC)(EGLNativeDisplayType display_id);
typedef char * (GLAPIENTRY *PFNEGLGETDISPLAYDRIVERCONFIGPROC)(EGLDisplay dpy);
typedef const char * (GLAPIENTRY *PFNEGLGETDISPLAYDRIVERNAMEPROC)(EGLDisplay dpy);
typedef EGLint (GLAPIENTRY *PFNEGLGETERRORPROC)(void);
typedef EGLBoolean (GLAPIENTRY *PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC)(EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
typedef EGLBoolean (GLAPIENTRY *PFNEGLGETFRAMETIMESTAMPSANDROIDPROC)(EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint * timestamps, EGLnsecsANDROID * values);
@ -858,6 +983,7 @@ typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EG
typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMEROUTPUTEXTPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib * attrib_list);
typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
typedef EGLBoolean (GLAPIENTRY *PFNEGLSTREAMFLUSHNVPROC)(EGLDisplay dpy, EGLStreamKHR stream);
typedef EGLBoolean (GLAPIENTRY *PFNEGLSURFACEATTRIBPROC)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
typedef EGLBoolean (GLAPIENTRY *PFNEGLSWAPBUFFERSPROC)(EGLDisplay dpy, EGLSurface surface);
typedef EGLBoolean (GLAPIENTRY *PFNEGLSWAPBUFFERSREGION2NOKPROC)(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects);
@ -867,6 +993,7 @@ typedef EGLBoolean (GLAPIENTRY *PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC)(EGLDisplay d
typedef EGLBoolean (GLAPIENTRY *PFNEGLSWAPINTERVALPROC)(EGLDisplay dpy, EGLint interval);
typedef EGLBoolean (GLAPIENTRY *PFNEGLTERMINATEPROC)(EGLDisplay dpy);
typedef EGLBoolean (GLAPIENTRY *PFNEGLUNLOCKSURFACEKHRPROC)(EGLDisplay dpy, EGLSurface surface);
typedef EGLBoolean (GLAPIENTRY *PFNEGLUNSIGNALSYNCEXTPROC)(EGLDisplay dpy, EGLSync sync, const EGLAttrib * attrib_list);
typedef EGLBoolean (GLAPIENTRY *PFNEGLWAITCLIENTPROC)(void);
typedef EGLBoolean (GLAPIENTRY *PFNEGLWAITGLPROC)(void);
typedef EGLBoolean (GLAPIENTRY *PFNEGLWAITNATIVEPROC)(EGLint engine);
@ -878,6 +1005,8 @@ EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglBindTexImage)(EGLDisplay dpy,
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglChooseConfig)(EGLDisplay dpy, const EGLint * attrib_list, EGLConfig * configs, EGLint config_size, EGLint * num_config);
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglClientSignalSyncEXT)(EGLDisplay dpy, EGLSync sync, const EGLAttrib * attrib_list);
EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglClientWaitSync)(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglClientWaitSyncKHR)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
@ -990,6 +1119,10 @@ EPOXY_PUBLIC EGLSurface (EPOXY_CALLSPEC *epoxy_eglGetCurrentSurface)(EGLint read
EPOXY_PUBLIC EGLDisplay (EPOXY_CALLSPEC *epoxy_eglGetDisplay)(EGLNativeDisplayType display_id);
EPOXY_PUBLIC char * (EPOXY_CALLSPEC *epoxy_eglGetDisplayDriverConfig)(EGLDisplay dpy);
EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_eglGetDisplayDriverName)(EGLDisplay dpy);
EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglGetError)(void);
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglGetFrameTimestampSupportedANDROID)(EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
@ -1126,6 +1259,8 @@ EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerReleaseAttribKHR
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamConsumerReleaseKHR)(EGLDisplay dpy, EGLStreamKHR stream);
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglStreamFlushNV)(EGLDisplay dpy, EGLStreamKHR stream);
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSurfaceAttrib)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglSwapBuffers)(EGLDisplay dpy, EGLSurface surface);
@ -1144,6 +1279,8 @@ EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglTerminate)(EGLDisplay dpy);
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglUnlockSurfaceKHR)(EGLDisplay dpy, EGLSurface surface);
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglUnsignalSyncEXT)(EGLDisplay dpy, EGLSync sync, const EGLAttrib * attrib_list);
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglWaitClient)(void);
EPOXY_PUBLIC EGLBoolean (EPOXY_CALLSPEC *epoxy_eglWaitGL)(void);
@ -1157,6 +1294,7 @@ EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglWaitSyncKHR)(EGLDisplay dpy, EGLSy
#define eglBindAPI epoxy_eglBindAPI
#define eglBindTexImage epoxy_eglBindTexImage
#define eglChooseConfig epoxy_eglChooseConfig
#define eglClientSignalSyncEXT epoxy_eglClientSignalSyncEXT
#define eglClientWaitSync epoxy_eglClientWaitSync
#define eglClientWaitSyncKHR epoxy_eglClientWaitSyncKHR
#define eglClientWaitSyncNV epoxy_eglClientWaitSyncNV
@ -1213,6 +1351,8 @@ EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglWaitSyncKHR)(EGLDisplay dpy, EGLSy
#define eglGetCurrentDisplay epoxy_eglGetCurrentDisplay
#define eglGetCurrentSurface epoxy_eglGetCurrentSurface
#define eglGetDisplay epoxy_eglGetDisplay
#define eglGetDisplayDriverConfig epoxy_eglGetDisplayDriverConfig
#define eglGetDisplayDriverName epoxy_eglGetDisplayDriverName
#define eglGetError epoxy_eglGetError
#define eglGetFrameTimestampSupportedANDROID epoxy_eglGetFrameTimestampSupportedANDROID
#define eglGetFrameTimestampsANDROID epoxy_eglGetFrameTimestampsANDROID
@ -1281,6 +1421,7 @@ EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglWaitSyncKHR)(EGLDisplay dpy, EGLSy
#define eglStreamConsumerOutputEXT epoxy_eglStreamConsumerOutputEXT
#define eglStreamConsumerReleaseAttribKHR epoxy_eglStreamConsumerReleaseAttribKHR
#define eglStreamConsumerReleaseKHR epoxy_eglStreamConsumerReleaseKHR
#define eglStreamFlushNV epoxy_eglStreamFlushNV
#define eglSurfaceAttrib epoxy_eglSurfaceAttrib
#define eglSwapBuffers epoxy_eglSwapBuffers
#define eglSwapBuffersRegion2NOK epoxy_eglSwapBuffersRegion2NOK
@ -1290,6 +1431,7 @@ EPOXY_PUBLIC EGLint (EPOXY_CALLSPEC *epoxy_eglWaitSyncKHR)(EGLDisplay dpy, EGLSy
#define eglSwapInterval epoxy_eglSwapInterval
#define eglTerminate epoxy_eglTerminate
#define eglUnlockSurfaceKHR epoxy_eglUnlockSurfaceKHR
#define eglUnsignalSyncEXT epoxy_eglUnsignalSyncEXT
#define eglWaitClient epoxy_eglWaitClient
#define eglWaitGL epoxy_eglWaitGL
#define eglWaitNative epoxy_eglWaitNative

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
/* GL dispatch header.
* This is code-generated from the GL API XML files from Khronos.
*
* Copyright (c) 2013-2017 The Khronos Group Inc.
* Copyright (c) 2013-2018 The Khronos Group Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -133,6 +133,7 @@ typedef struct {
#define GLX_ARB_robustness_share_group_isolation 1
#define GLX_ARB_vertex_buffer_object 1
#define GLX_EXT_buffer_age 1
#define GLX_EXT_context_priority 1
#define GLX_EXT_create_context_es2_profile 1
#define GLX_EXT_create_context_es_profile 1
#define GLX_EXT_fbconfig_packed_float 1
@ -334,6 +335,10 @@ typedef struct {
#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
#define GLX_EXTENSIONS 0x3
#define GLX_CONTEXT_PRIORITY_LEVEL_EXT 0x3100
#define GLX_CONTEXT_PRIORITY_HIGH_EXT 0x3101
#define GLX_CONTEXT_PRIORITY_MEDIUM_EXT 0x3102
#define GLX_CONTEXT_PRIORITY_LOW_EXT 0x3103
#define GLX_CONTEXT_OPENGL_NO_ERROR_ARB 0x31B3
#define GLX_NONE 0x8000
#define GLX_NONE_EXT 0x8000
@ -428,7 +433,6 @@ typedef struct {
#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
#define GLX_RENDERER_ID_MESA 0x818E
#define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252
#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
#define GLX_NO_RESET_NOTIFICATION_ARB 0x8261
@ -541,7 +545,7 @@ typedef void (GLAPIENTRY *PFNGLXGETSELECTEDEVENTPROC)(Display * dpy, GLXDrawable
typedef void (GLAPIENTRY *PFNGLXGETSELECTEDEVENTSGIXPROC)(Display * dpy, GLXDrawable drawable, unsigned long * mask);
typedef int (GLAPIENTRY *PFNGLXGETSWAPINTERVALMESAPROC)(void);
typedef Bool (GLAPIENTRY *PFNGLXGETSYNCVALUESOMLPROC)(Display * dpy, GLXDrawable drawable, int64_t * ust, int64_t * msc, int64_t * sbc);
typedef Status (GLAPIENTRY *PFNGLXGETTRANSPARENTINDEXSUNPROC)(Display * dpy, Window overlay, Window underlay, long * pTransparentIndex);
typedef Status (GLAPIENTRY *PFNGLXGETTRANSPARENTINDEXSUNPROC)(Display * dpy, Window overlay, Window underlay, unsigned long * pTransparentIndex);
typedef int (GLAPIENTRY *PFNGLXGETVIDEODEVICENVPROC)(Display * dpy, int screen, int numVideoDevices, GLXVideoDeviceNV * pVideoDevice);
typedef int (GLAPIENTRY *PFNGLXGETVIDEOINFONVPROC)(Display * dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo);
typedef int (GLAPIENTRY *PFNGLXGETVIDEOSYNCSGIPROC)(unsigned int * count);
@ -569,7 +573,7 @@ typedef void (GLAPIENTRY *PFNGLXQUERYDRAWABLEPROC)(Display * dpy, GLXDrawable dr
typedef Bool (GLAPIENTRY *PFNGLXQUERYEXTENSIONPROC)(Display * dpy, int * errorb, int * event);
typedef const char * (GLAPIENTRY *PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display * dpy, int screen);
typedef Bool (GLAPIENTRY *PFNGLXQUERYFRAMECOUNTNVPROC)(Display * dpy, int screen, GLuint * count);
typedef int (GLAPIENTRY *PFNGLXQUERYGLXPBUFFERSGIXPROC)(Display * dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int * value);
typedef void (GLAPIENTRY *PFNGLXQUERYGLXPBUFFERSGIXPROC)(Display * dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int * value);
typedef int (GLAPIENTRY *PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC)(Display * dpy, int timeSlice, int attrib, int size, void * returnAttribList);
typedef int (GLAPIENTRY *PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC)(Display * dpy, int timeSlice, int attrib, int size, void * attribList, void * returnAttribList);
typedef GLXHyperpipeConfigSGIX * (GLAPIENTRY *PFNGLXQUERYHYPERPIPECONFIGSGIXPROC)(Display * dpy, int hpId, int * npipes);
@ -591,7 +595,7 @@ typedef Bool (GLAPIENTRY *PFNGLXRESETFRAMECOUNTNVPROC)(Display * dpy, int screen
typedef void (GLAPIENTRY *PFNGLXSELECTEVENTPROC)(Display * dpy, GLXDrawable draw, unsigned long event_mask);
typedef void (GLAPIENTRY *PFNGLXSELECTEVENTSGIXPROC)(Display * dpy, GLXDrawable drawable, unsigned long mask);
typedef int (GLAPIENTRY *PFNGLXSENDPBUFFERTOVIDEONVPROC)(Display * dpy, GLXPbuffer pbuf, int iBufferType, unsigned long * pulCounterPbuffer, GLboolean bBlock);
typedef Bool (GLAPIENTRY *PFNGLXSET3DFXMODEMESAPROC)(int mode);
typedef GLboolean (GLAPIENTRY *PFNGLXSET3DFXMODEMESAPROC)(GLint mode);
typedef void (GLAPIENTRY *PFNGLXSWAPBUFFERSPROC)(Display * dpy, GLXDrawable drawable);
typedef int64_t (GLAPIENTRY *PFNGLXSWAPBUFFERSMSCOMLPROC)(Display * dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
typedef void (GLAPIENTRY *PFNGLXSWAPINTERVALEXTPROC)(Display * dpy, GLXDrawable drawable, int interval);
@ -743,7 +747,7 @@ EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXGetSwapIntervalMESA)(void);
EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXGetSyncValuesOML)(Display * dpy, GLXDrawable drawable, int64_t * ust, int64_t * msc, int64_t * sbc);
EPOXY_PUBLIC Status (EPOXY_CALLSPEC *epoxy_glXGetTransparentIndexSUN)(Display * dpy, Window overlay, Window underlay, long * pTransparentIndex);
EPOXY_PUBLIC Status (EPOXY_CALLSPEC *epoxy_glXGetTransparentIndexSUN)(Display * dpy, Window overlay, Window underlay, unsigned long * pTransparentIndex);
EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXGetVideoDeviceNV)(Display * dpy, int screen, int numVideoDevices, GLXVideoDeviceNV * pVideoDevice);
@ -799,7 +803,7 @@ EPOXY_PUBLIC const char * (EPOXY_CALLSPEC *epoxy_glXQueryExtensionsString)(Displ
EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXQueryFrameCountNV)(Display * dpy, int screen, GLuint * count);
EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXQueryGLXPbufferSGIX)(Display * dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int * value);
EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXQueryGLXPbufferSGIX)(Display * dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int * value);
EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXQueryHyperpipeAttribSGIX)(Display * dpy, int timeSlice, int attrib, int size, void * returnAttribList);
@ -843,7 +847,7 @@ EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXSelectEventSGIX)(Display * dpy, GLXD
EPOXY_PUBLIC int (EPOXY_CALLSPEC *epoxy_glXSendPbufferToVideoNV)(Display * dpy, GLXPbuffer pbuf, int iBufferType, unsigned long * pulCounterPbuffer, GLboolean bBlock);
EPOXY_PUBLIC Bool (EPOXY_CALLSPEC *epoxy_glXSet3DfxModeMESA)(int mode);
EPOXY_PUBLIC GLboolean (EPOXY_CALLSPEC *epoxy_glXSet3DfxModeMESA)(GLint mode);
EPOXY_PUBLIC void (EPOXY_CALLSPEC *epoxy_glXSwapBuffers)(Display * dpy, GLXDrawable drawable);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
major=3
major=4
minor=0