[Mesa-dev] [PATCH] include: update GL & GLES headers

Jason Ekstrand jason at jlekstrand.net
Fri Aug 3 00:06:53 UTC 2018


Hooray for less GLvoid.

Acked-by: Jason Ekstrand <jason at jlekstrand.net>

On August 2, 2018 04:16:23 Marek Olšák <maraeo at gmail.com> wrote:

> From: Marek Olšák <marek.olsak at amd.com>
>
> ---
> include/GL/glcorearb.h |  68 ++++++++++++++++--
> include/GL/glext.h     |  77 +++++++++++++++++---
> include/GL/glxext.h    |  22 ++++--
> include/GLES2/gl2.h    |   8 +--
> include/GLES2/gl2ext.h | 159 +++++++++++++++++++++++++++++++++++++++--
> include/GLES3/gl3.h    |   8 +--
> 6 files changed, 309 insertions(+), 33 deletions(-)
>
> diff --git a/include/GL/glcorearb.h b/include/GL/glcorearb.h
> index a78bbb6e182..82cbfbafbda 100644
> --- a/include/GL/glcorearb.h
> +++ b/include/GL/glcorearb.h
> @@ -1,19 +1,19 @@
> -#ifndef __glcorearb_h_
> -#define __glcorearb_h_ 1
> +#ifndef __gl_glcorearb_h_
> +#define __gl_glcorearb_h_ 1
>
> #ifdef __cplusplus
> extern "C" {
> #endif
>
> /*
> -** Copyright (c) 2013-2017 The Khronos Group Inc.
> +** Copyright (c) 2013-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
> @@ -299,21 +299,21 @@ typedef void (APIENTRYP PFNGLGETDOUBLEVPROC) (GLenum 
> pname, GLdouble *data);
> typedef GLenum (APIENTRYP PFNGLGETERRORPROC) (void);
> typedef void (APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
> typedef void (APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
> typedef const GLubyte *(APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
> typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC) (GLenum target, GLint level, 
> GLenum format, GLenum type, void *pixels);
> typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum 
> pname, GLfloat *params);
> typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum 
> pname, GLint *params);
> typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC) (GLenum target, 
> GLint level, GLenum pname, GLfloat *params);
> typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, 
> GLint level, GLenum pname, GLint *params);
> typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
> -typedef void (APIENTRYP PFNGLDEPTHRANGEPROC) (GLdouble near, GLdouble far);
> +typedef void (APIENTRYP PFNGLDEPTHRANGEPROC) (GLdouble n, GLdouble f);
> typedef void (APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei 
> width, GLsizei height);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glCullFace (GLenum mode);
> GLAPI void APIENTRY glFrontFace (GLenum mode);
> GLAPI void APIENTRY glHint (GLenum target, GLenum mode);
> GLAPI void APIENTRY glLineWidth (GLfloat width);
> GLAPI void APIENTRY glPointSize (GLfloat size);
> GLAPI void APIENTRY glPolygonMode (GLenum face, GLenum mode);
> GLAPI void APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei 
> height);
> GLAPI void APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat 
> param);
> @@ -348,21 +348,21 @@ GLAPI void APIENTRY glGetDoublev (GLenum pname, 
> GLdouble *data);
> GLAPI GLenum APIENTRY glGetError (void);
> GLAPI void APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
> GLAPI void APIENTRY glGetIntegerv (GLenum pname, GLint *data);
> GLAPI const GLubyte *APIENTRY glGetString (GLenum name);
> GLAPI void APIENTRY glGetTexImage (GLenum target, GLint level, GLenum 
> format, GLenum type, void *pixels);
> GLAPI void APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, 
> GLfloat *params);
> GLAPI void APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint 
> *params);
> GLAPI void APIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, 
> GLenum pname, GLfloat *params);
> GLAPI void APIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, 
> GLenum pname, GLint *params);
> GLAPI GLboolean APIENTRY glIsEnabled (GLenum cap);
> -GLAPI void APIENTRY glDepthRange (GLdouble near, GLdouble far);
> +GLAPI void APIENTRY glDepthRange (GLdouble n, GLdouble f);
> GLAPI void APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei 
> height);
> #endif
> #endif /* GL_VERSION_1_0 */
>
> #ifndef GL_VERSION_1_1
> #define GL_VERSION_1_1 1
> typedef float GLclampf;
> typedef double GLclampd;
> #define GL_COLOR_LOGIC_OP                 0x0BF2
> #define GL_POLYGON_OFFSET_UNITS           0x2A00
> @@ -3951,20 +3951,34 @@ GLAPI void APIENTRY glMaxShaderCompilerThreadsKHR 
> (GLuint count);
> #endif /* GL_KHR_texture_compression_astc_hdr */
>
> #ifndef GL_KHR_texture_compression_astc_ldr
> #define GL_KHR_texture_compression_astc_ldr 1
> #endif /* GL_KHR_texture_compression_astc_ldr */
>
> #ifndef GL_KHR_texture_compression_astc_sliced_3d
> #define GL_KHR_texture_compression_astc_sliced_3d 1
> #endif /* GL_KHR_texture_compression_astc_sliced_3d */
>
> +#ifndef GL_AMD_framebuffer_multisample_advanced
> +#define GL_AMD_framebuffer_multisample_advanced
> +#define GL_RENDERBUFFER_STORAGE_SAMPLES_AMD 0x91B2
> +#define GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD 0x91B3
> +#define GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD 0x91B4
> +#define GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD 0x91B5
> +#define GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B6
> +#define GL_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B7
> +typedef void (APIENTRYP 
> PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEENHANCEDAMD) (GLuint renderbuffer, 
> GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei 
> width, GLsizei height);
> +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEENHANCEDAMD) 
> (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum 
> internalformat, GLsizei width, GLsizei height);
> +GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleAdvancedAMD 
> (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum 
> internalformat, GLsizei width, GLsizei height);
> +GLAPI void APIENTRY glRenderbufferStorageMultisampleAdvancedAMD (GLenum 
> target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, 
> GLsizei width, GLsizei height);
> +#endif /* GL_AMD_framebuffer_multisample_advanced */
> +
> #ifndef GL_AMD_performance_monitor
> #define GL_AMD_performance_monitor 1
> #define GL_COUNTER_TYPE_AMD               0x8BC0
> #define GL_COUNTER_RANGE_AMD              0x8BC1
> #define GL_UNSIGNED_INT64_AMD             0x8BC2
> #define GL_PERCENTAGE_AMD                 0x8BC3
> #define GL_PERFMON_RESULT_AVAILABLE_AMD   0x8BC4
> #define GL_PERFMON_RESULT_SIZE_AMD        0x8BC5
> #define GL_PERFMON_RESULT_AMD             0x8BC6
> typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint 
> *numGroups, GLsizei groupsSize, GLuint *groups);
> @@ -3994,20 +4008,31 @@ GLAPI void APIENTRY glGetPerfMonitorCounterDataAMD 
> (GLuint monitor, GLenum pname
> #endif /* GL_AMD_performance_monitor */
>
> #ifndef GL_APPLE_rgb_422
> #define GL_APPLE_rgb_422 1
> #define GL_RGB_422_APPLE                  0x8A1F
> #define GL_UNSIGNED_SHORT_8_8_APPLE       0x85BA
> #define GL_UNSIGNED_SHORT_8_8_REV_APPLE   0x85BB
> #define GL_RGB_RAW_422_APPLE              0x8A51
> #endif /* GL_APPLE_rgb_422 */
>
> +#ifndef GL_EXT_EGL_image_storage
> +#define GL_EXT_EGL_image_storage 1
> +typedef void *GLeglImageOES;
> +typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC) (GLenum 
> target, GLeglImageOES image, const GLint* attrib_list);
> +typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC) (GLuint 
> texture, GLeglImageOES image, const GLint* attrib_list);
> +#ifdef GL_GLEXT_PROTOTYPES
> +GLAPI void APIENTRY glEGLImageTargetTexStorageEXT (GLenum target, 
> GLeglImageOES image, const GLint* attrib_list);
> +GLAPI void APIENTRY glEGLImageTargetTextureStorageEXT (GLuint texture, 
> GLeglImageOES image, const GLint* attrib_list);
> +#endif
> +#endif /* GL_EXT_EGL_image_storage */
> +
> #ifndef GL_EXT_debug_label
> #define GL_EXT_debug_label 1
> #define GL_PROGRAM_PIPELINE_OBJECT_EXT    0x8A4F
> #define GL_PROGRAM_OBJECT_EXT             0x8B40
> #define GL_SHADER_OBJECT_EXT              0x8B48
> #define GL_BUFFER_OBJECT_EXT              0x9151
> #define GL_QUERY_OBJECT_EXT               0x9153
> #define GL_VERTEX_ARRAY_OBJECT_EXT        0x9154
> typedef void (APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint 
> object, GLsizei length, const GLchar *label);
> typedef void (APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint 
> object, GLsizei bufSize, GLsizei *length, GLchar *label);
> @@ -4591,34 +4616,49 @@ GLAPI void APIENTRY glRasterSamplesEXT (GLuint 
> samples, GLboolean fixedsampleloc
> typedef void (APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint 
> program);
> typedef void (APIENTRYP PFNGLACTIVEPROGRAMEXTPROC) (GLuint program);
> typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, 
> const GLchar *string);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glUseShaderProgramEXT (GLenum type, GLuint program);
> GLAPI void APIENTRY glActiveProgramEXT (GLuint program);
> GLAPI GLuint APIENTRY glCreateShaderProgramEXT (GLenum type, const GLchar 
> *string);
> #endif
> #endif /* GL_EXT_separate_shader_objects */
>
> +#ifndef GL_EXT_shader_framebuffer_fetch
> +#define GL_EXT_shader_framebuffer_fetch 1
> +#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
> +#endif /* GL_EXT_shader_framebuffer_fetch */
> +
> +#ifndef GL_EXT_shader_framebuffer_fetch_non_coherent
> +#define GL_EXT_shader_framebuffer_fetch_non_coherent 1
> +typedef void (APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC) (void);
> +#ifdef GL_GLEXT_PROTOTYPES
> +GLAPI void APIENTRY glFramebufferFetchBarrierEXT (void);
> +#endif
> +#endif /* GL_EXT_shader_framebuffer_fetch_non_coherent */
> +
> #ifndef GL_EXT_shader_integer_mix
> #define GL_EXT_shader_integer_mix 1
> #endif /* GL_EXT_shader_integer_mix */
>
> #ifndef GL_EXT_texture_compression_s3tc
> #define GL_EXT_texture_compression_s3tc 1
> #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT   0x83F0
> #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  0x83F1
> #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  0x83F2
> #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  0x83F3
> #endif /* GL_EXT_texture_compression_s3tc */
>
> #ifndef GL_EXT_texture_filter_minmax
> #define GL_EXT_texture_filter_minmax 1
> +#define GL_TEXTURE_REDUCTION_MODE_EXT     0x9366
> +#define GL_WEIGHTED_AVERAGE_EXT           0x9367
> #endif /* GL_EXT_texture_filter_minmax */
>
> #ifndef GL_EXT_texture_sRGB_decode
> #define GL_EXT_texture_sRGB_decode 1
> #define GL_TEXTURE_SRGB_DECODE_EXT        0x8A48
> #define GL_DECODE_EXT                     0x8A49
> #define GL_SKIP_DECODE_EXT                0x8A4A
> #endif /* GL_EXT_texture_sRGB_decode */
>
> #ifndef GL_EXT_window_rectangles
> @@ -4628,20 +4668,25 @@ GLAPI GLuint APIENTRY glCreateShaderProgramEXT 
> (GLenum type, const GLchar *strin
> #define GL_WINDOW_RECTANGLE_EXT           0x8F12
> #define GL_WINDOW_RECTANGLE_MODE_EXT      0x8F13
> #define GL_MAX_WINDOW_RECTANGLES_EXT      0x8F14
> #define GL_NUM_WINDOW_RECTANGLES_EXT      0x8F15
> typedef void (APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC) (GLenum mode, GLsizei 
> count, const GLint *box);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glWindowRectanglesEXT (GLenum mode, GLsizei count, 
> const GLint *box);
> #endif
> #endif /* GL_EXT_window_rectangles */
>
> +#ifndef GL_INTEL_blackhole_render
> +#define GL_INTEL_blackhole_render 1
> +#define GL_BLACKHOLE_RENDER_INTEL         0x83FC
> +#endif /* GL_INTEL_blackhole_render */
> +
> #ifndef GL_INTEL_conservative_rasterization
> #define GL_INTEL_conservative_rasterization 1
> #define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE
> #endif /* GL_INTEL_conservative_rasterization */
>
> #ifndef GL_INTEL_framebuffer_CMAA
> #define GL_INTEL_framebuffer_CMAA 1
> typedef void (APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) (void);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glApplyFramebufferAttachmentCMAAINTEL (void);
> @@ -4670,32 +4715,32 @@ GLAPI void APIENTRY 
> glApplyFramebufferAttachmentCMAAINTEL (void);
> #define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE
> #define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF
> #define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500
> typedef void (APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle);
> typedef void (APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, 
> GLuint *queryHandle);
> typedef void (APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle);
> typedef void (APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle);
> typedef void (APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId);
> typedef void (APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, 
> GLuint *nextQueryId);
> typedef void (APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, 
> GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint 
> counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint 
> *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, 
> GLuint64 *rawCounterMaxValue);
> -typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint 
> queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint 
> *bytesWritten);
> +typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint 
> queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten);
> typedef void (APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar 
> *queryName, GLuint *queryId);
> typedef void (APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, 
> GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint 
> *noCounters, GLuint *noInstances, GLuint *capsMask);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle);
> GLAPI void APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint 
> *queryHandle);
> GLAPI void APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle);
> GLAPI void APIENTRY glEndPerfQueryINTEL (GLuint queryHandle);
> GLAPI void APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId);
> GLAPI void APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint 
> *nextQueryId);
> GLAPI void APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint 
> counterId, GLuint counterNameLength, GLchar *counterName, GLuint 
> counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint 
> *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, 
> GLuint64 *rawCounterMaxValue);
> -GLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint 
> flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
> +GLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint 
> flags, GLsizei dataSize, void *data, GLuint *bytesWritten);
> GLAPI void APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint 
> *queryId);
> GLAPI void APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint 
> queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, 
> GLuint *noInstances, GLuint *capsMask);
> #endif
> #endif /* GL_INTEL_performance_query */
>
> #ifndef GL_NV_bindless_multi_draw_indirect
> #define GL_NV_bindless_multi_draw_indirect 1
> typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum 
> mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint 
> vertexBufferCount);
> typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC) 
> (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei 
> stride, GLint vertexBufferCount);
> #ifdef GL_GLEXT_PROTOTYPES
> @@ -4916,31 +4961,40 @@ GLAPI void APIENTRY glSubpixelPrecisionBiasNV 
> (GLuint xbits, GLuint ybits);
> #define GL_NV_conservative_raster_dilate 1
> #define GL_CONSERVATIVE_RASTER_DILATE_NV  0x9379
> #define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A
> #define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B
> typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC) (GLenum 
> pname, GLfloat value);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glConservativeRasterParameterfNV (GLenum pname, GLfloat 
> value);
> #endif
> #endif /* GL_NV_conservative_raster_dilate */
>
> +#ifndef GL_NV_conservative_raster_pre_snap
> +#define GL_NV_conservative_raster_pre_snap 1
> +#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV 0x9550
> +#endif /* GL_NV_conservative_raster_pre_snap */
> +
> #ifndef GL_NV_conservative_raster_pre_snap_triangles
> #define GL_NV_conservative_raster_pre_snap_triangles 1
> #define GL_CONSERVATIVE_RASTER_MODE_NV    0x954D
> #define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E
> #define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F
> typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum 
> pname, GLint param);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glConservativeRasterParameteriNV (GLenum pname, GLint 
> param);
> #endif
> #endif /* GL_NV_conservative_raster_pre_snap_triangles */
>
> +#ifndef GL_NV_conservative_raster_underestimation
> +#define GL_NV_conservative_raster_underestimation 1
> +#endif /* GL_NV_conservative_raster_underestimation */
> +
> #ifndef GL_NV_draw_vulkan_image
> #define GL_NV_draw_vulkan_image 1
> typedef void (APIENTRY  *GLVULKANPROCNV)(void);
> typedef void (APIENTRYP PFNGLDRAWVKIMAGENVPROC) (GLuint64 vkImage, GLuint 
> sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat 
> s0, GLfloat t0, GLfloat s1, GLfloat t1);
> typedef GLVULKANPROCNV (APIENTRYP PFNGLGETVKPROCADDRNVPROC) (const GLchar 
> *name);
> typedef void (APIENTRYP PFNGLWAITVKSEMAPHORENVPROC) (GLuint64 vkSemaphore);
> typedef void (APIENTRYP PFNGLSIGNALVKSEMAPHORENVPROC) (GLuint64 vkSemaphore);
> typedef void (APIENTRYP PFNGLSIGNALVKFENCENVPROC) (GLuint64 vkFence);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glDrawVkImageNV (GLuint64 vkImage, GLuint sampler, 
> GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, 
> GLfloat t0, GLfloat s1, GLfloat t1);
> diff --git a/include/GL/glext.h b/include/GL/glext.h
> index 75fd1f61185..8fdadbd8ca9 100644
> --- a/include/GL/glext.h
> +++ b/include/GL/glext.h
> @@ -1,19 +1,19 @@
> -#ifndef __glext_h_
> -#define __glext_h_ 1
> +#ifndef __gl_glext_h_
> +#define __gl_glext_h_ 1
>
> #ifdef __cplusplus
> extern "C" {
> #endif
>
> /*
> -** Copyright (c) 2013-2017 The Khronos Group Inc.
> +** Copyright (c) 2013-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
> @@ -44,21 +44,21 @@ extern "C" {
> #ifndef APIENTRY
> #define APIENTRY
> #endif
> #ifndef APIENTRYP
> #define APIENTRYP APIENTRY *
> #endif
> #ifndef GLAPI
> #define GLAPI extern
> #endif
>
> -#define GL_GLEXT_VERSION 20171010
> +#define GL_GLEXT_VERSION 20180525
>
> /* Generated C header for:
>  * API: gl
>  * Profile: compatibility
>  * Versions considered: .*
>  * Versions emitted: 1\.[2-9]|[234]\.[0-9]
>  * Default extensions included: gl
>  * Additional extensions included: _nomatch_^
>  * Extensions removed: _nomatch_^
>  */
> @@ -4711,20 +4711,21 @@ GLAPI void APIENTRY glWeightdvARB (GLint size, 
> const GLdouble *weights);
> GLAPI void APIENTRY glWeightubvARB (GLint size, const GLubyte *weights);
> GLAPI void APIENTRY glWeightusvARB (GLint size, const GLushort *weights);
> GLAPI void APIENTRY glWeightuivARB (GLint size, const GLuint *weights);
> GLAPI void APIENTRY glWeightPointerARB (GLint size, GLenum type, GLsizei 
> stride, const void *pointer);
> GLAPI void APIENTRY glVertexBlendARB (GLint count);
> #endif
> #endif /* GL_ARB_vertex_blend */
>
> #ifndef GL_ARB_vertex_buffer_object
> #define GL_ARB_vertex_buffer_object 1
> +#include <stddef.h>
> typedef ptrdiff_t GLsizeiptrARB;
> typedef ptrdiff_t GLintptrARB;
> #define GL_BUFFER_SIZE_ARB                0x8764
> #define GL_BUFFER_USAGE_ARB               0x8765
> #define GL_ARRAY_BUFFER_ARB               0x8892
> #define GL_ELEMENT_ARRAY_BUFFER_ARB       0x8893
> #define GL_ARRAY_BUFFER_BINDING_ARB       0x8894
> #define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
> #define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
> #define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
> @@ -5438,20 +5439,34 @@ typedef void (APIENTRYP 
> PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenu
> typedef void (APIENTRYP PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, 
> GLenum mode);
> typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint 
> buf, GLenum modeRGB, GLenum modeAlpha);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glBlendFuncIndexedAMD (GLuint buf, GLenum src, GLenum dst);
> GLAPI void APIENTRY glBlendFuncSeparateIndexedAMD (GLuint buf, GLenum 
> srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
> GLAPI void APIENTRY glBlendEquationIndexedAMD (GLuint buf, GLenum mode);
> GLAPI void APIENTRY glBlendEquationSeparateIndexedAMD (GLuint buf, GLenum 
> modeRGB, GLenum modeAlpha);
> #endif
> #endif /* GL_AMD_draw_buffers_blend */
>
> +#ifndef GL_AMD_framebuffer_multisample_advanced
> +#define GL_AMD_framebuffer_multisample_advanced
> +#define GL_RENDERBUFFER_STORAGE_SAMPLES_AMD 0x91B2
> +#define GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD 0x91B3
> +#define GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD 0x91B4
> +#define GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD 0x91B5
> +#define GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B6
> +#define GL_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B7
> +typedef void (APIENTRYP 
> PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEENHANCEDAMD) (GLuint renderbuffer, 
> GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei 
> width, GLsizei height);
> +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEENHANCEDAMD) 
> (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum 
> internalformat, GLsizei width, GLsizei height);
> +GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleAdvancedAMD 
> (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum 
> internalformat, GLsizei width, GLsizei height);
> +GLAPI void APIENTRY glRenderbufferStorageMultisampleAdvancedAMD (GLenum 
> target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, 
> GLsizei width, GLsizei height);
> +#endif /* GL_AMD_framebuffer_multisample_advanced */
> +
> #ifndef GL_AMD_framebuffer_sample_positions
> #define GL_AMD_framebuffer_sample_positions 1
> #define GL_SUBSAMPLE_DISTANCE_AMD         0x883F
> #define GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD 0x91AE
> #define GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD 0x91AF
> #define GL_ALL_PIXELS_AMD                 0xFFFFFFFF
> typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC) (GLenum 
> target, GLuint numsamples, GLuint pixelindex, const GLfloat *values);
> typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC) 
> (GLuint framebuffer, GLuint numsamples, GLuint pixelindex, const GLfloat 
> *values);
> typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC) (GLenum 
> target, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, 
> GLfloat *values);
> typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC) (GLuint 
> framebuffer, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei 
> size, GLfloat *values);
> @@ -5702,20 +5717,24 @@ GLAPI void APIENTRY glSetMultisamplefvAMD (GLenum 
> pname, GLuint index, const GLf
> #endif /* GL_AMD_shader_atomic_counter_ops */
>
> #ifndef GL_AMD_shader_ballot
> #define GL_AMD_shader_ballot 1
> #endif /* GL_AMD_shader_ballot */
>
> #ifndef GL_AMD_shader_explicit_vertex_parameter
> #define GL_AMD_shader_explicit_vertex_parameter 1
> #endif /* GL_AMD_shader_explicit_vertex_parameter */
>
> +#ifndef GL_AMD_shader_gpu_shader_half_float_fetch
> +#define GL_AMD_shader_gpu_shader_half_float_fetch 1
> +#endif /* GL_AMD_shader_gpu_shader_half_float_fetch */
> +
> #ifndef GL_AMD_shader_image_load_store_lod
> #define GL_AMD_shader_image_load_store_lod 1
> #endif /* GL_AMD_shader_image_load_store_lod */
>
> #ifndef GL_AMD_shader_stencil_export
> #define GL_AMD_shader_stencil_export 1
> #endif /* GL_AMD_shader_stencil_export */
>
> #ifndef GL_AMD_shader_trinary_minmax
> #define GL_AMD_shader_trinary_minmax 1
> @@ -6449,20 +6468,31 @@ GLAPI void APIENTRY glVertexBlendEnvfATI (GLenum 
> pname, GLfloat param);
> #endif /* GL_ATI_vertex_streams */
>
> #ifndef GL_EXT_422_pixels
> #define GL_EXT_422_pixels 1
> #define GL_422_EXT                        0x80CC
> #define GL_422_REV_EXT                    0x80CD
> #define GL_422_AVERAGE_EXT                0x80CE
> #define GL_422_REV_AVERAGE_EXT            0x80CF
> #endif /* GL_EXT_422_pixels */
>
> +#ifndef GL_EXT_EGL_image_storage
> +#define GL_EXT_EGL_image_storage 1
> +typedef void *GLeglImageOES;
> +typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC) (GLenum 
> target, GLeglImageOES image, const GLint* attrib_list);
> +typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC) (GLuint 
> texture, GLeglImageOES image, const GLint* attrib_list);
> +#ifdef GL_GLEXT_PROTOTYPES
> +GLAPI void APIENTRY glEGLImageTargetTexStorageEXT (GLenum target, 
> GLeglImageOES image, const GLint* attrib_list);
> +GLAPI void APIENTRY glEGLImageTargetTextureStorageEXT (GLuint texture, 
> GLeglImageOES image, const GLint* attrib_list);
> +#endif
> +#endif /* GL_EXT_EGL_image_storage */
> +
> #ifndef GL_EXT_abgr
> #define GL_EXT_abgr 1
> #define GL_ABGR_EXT                       0x8000
> #endif /* GL_EXT_abgr */
>
> #ifndef GL_EXT_bgra
> #define GL_EXT_bgra 1
> #define GL_BGR_EXT                        0x80E0
> #define GL_BGRA_EXT                       0x80E1
> #endif /* GL_EXT_bgra */
> @@ -7987,20 +8017,22 @@ GLAPI void APIENTRY glSecondaryColorPointerEXT 
> (GLint size, GLenum type, GLsizei
>
> #ifndef GL_EXT_semaphore
> #define GL_EXT_semaphore 1
> #define GL_LAYOUT_GENERAL_EXT             0x958D
> #define GL_LAYOUT_COLOR_ATTACHMENT_EXT    0x958E
> #define GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT 0x958F
> #define GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT 0x9590
> #define GL_LAYOUT_SHADER_READ_ONLY_EXT    0x9591
> #define GL_LAYOUT_TRANSFER_SRC_EXT        0x9592
> #define GL_LAYOUT_TRANSFER_DST_EXT        0x9593
> +#define GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT 0x9530
> +#define GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT 0x9531
> typedef void (APIENTRYP PFNGLGENSEMAPHORESEXTPROC) (GLsizei n, GLuint 
> *semaphores);
> typedef void (APIENTRYP PFNGLDELETESEMAPHORESEXTPROC) (GLsizei n, const 
> GLuint *semaphores);
> typedef GLboolean (APIENTRYP PFNGLISSEMAPHOREEXTPROC) (GLuint semaphore);
> typedef void (APIENTRYP PFNGLSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint 
> semaphore, GLenum pname, const GLuint64 *params);
> typedef void (APIENTRYP PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint 
> semaphore, GLenum pname, GLuint64 *params);
> typedef void (APIENTRYP PFNGLWAITSEMAPHOREEXTPROC) (GLuint semaphore, 
> GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, 
> const GLuint *textures, const GLenum *srcLayouts);
> typedef void (APIENTRYP PFNGLSIGNALSEMAPHOREEXTPROC) (GLuint semaphore, 
> GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, 
> const GLuint *textures, const GLenum *dstLayouts);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glGenSemaphoresEXT (GLsizei n, GLuint *semaphores);
> GLAPI void APIENTRY glDeleteSemaphoresEXT (GLsizei n, const GLuint 
> *semaphores);
> @@ -8045,20 +8077,33 @@ GLAPI GLuint APIENTRY glCreateShaderProgramEXT 
> (GLenum type, const GLchar *strin
> #endif
> #endif /* GL_EXT_separate_shader_objects */
>
> #ifndef GL_EXT_separate_specular_color
> #define GL_EXT_separate_specular_color 1
> #define GL_LIGHT_MODEL_COLOR_CONTROL_EXT  0x81F8
> #define GL_SINGLE_COLOR_EXT               0x81F9
> #define GL_SEPARATE_SPECULAR_COLOR_EXT    0x81FA
> #endif /* GL_EXT_separate_specular_color */
>
> +#ifndef GL_EXT_shader_framebuffer_fetch
> +#define GL_EXT_shader_framebuffer_fetch 1
> +#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
> +#endif /* GL_EXT_shader_framebuffer_fetch */
> +
> +#ifndef GL_EXT_shader_framebuffer_fetch_non_coherent
> +#define GL_EXT_shader_framebuffer_fetch_non_coherent 1
> +typedef void (APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC) (void);
> +#ifdef GL_GLEXT_PROTOTYPES
> +GLAPI void APIENTRY glFramebufferFetchBarrierEXT (void);
> +#endif
> +#endif /* GL_EXT_shader_framebuffer_fetch_non_coherent */
> +
> #ifndef GL_EXT_shader_image_load_formatted
> #define GL_EXT_shader_image_load_formatted 1
> #endif /* GL_EXT_shader_image_load_formatted */
>
> #ifndef GL_EXT_shader_image_load_store
> #define GL_EXT_shader_image_load_store 1
> #define GL_MAX_IMAGE_UNITS_EXT            0x8F38
> #define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39
> #define GL_IMAGE_BINDING_NAME_EXT         0x8F3A
> #define GL_IMAGE_BINDING_LEVEL_EXT        0x8F3B
> @@ -8345,20 +8390,22 @@ GLAPI void APIENTRY glTexBufferEXT (GLenum target, 
> GLenum internalformat, GLuint
> #endif /* GL_EXT_texture_env_dot3 */
>
> #ifndef GL_EXT_texture_filter_anisotropic
> #define GL_EXT_texture_filter_anisotropic 1
> #define GL_TEXTURE_MAX_ANISOTROPY_EXT     0x84FE
> #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
> #endif /* GL_EXT_texture_filter_anisotropic */
>
> #ifndef GL_EXT_texture_filter_minmax
> #define GL_EXT_texture_filter_minmax 1
> +#define GL_TEXTURE_REDUCTION_MODE_EXT     0x9366
> +#define GL_WEIGHTED_AVERAGE_EXT           0x9367
> #endif /* GL_EXT_texture_filter_minmax */
>
> #ifndef GL_EXT_texture_integer
> #define GL_EXT_texture_integer 1
> #define GL_RGBA32UI_EXT                   0x8D70
> #define GL_RGB32UI_EXT                    0x8D71
> #define GL_ALPHA32UI_EXT                  0x8D72
> #define GL_INTENSITY32UI_EXT              0x8D73
> #define GL_LUMINANCE32UI_EXT              0x8D74
> #define GL_LUMINANCE_ALPHA32UI_EXT        0x8D75
> @@ -9092,20 +9139,25 @@ GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum 
> sfactorRGB, GLenum dfactorRG
> #define GL_GREEN_MAX_CLAMP_INGR           0x8565
> #define GL_BLUE_MAX_CLAMP_INGR            0x8566
> #define GL_ALPHA_MAX_CLAMP_INGR           0x8567
> #endif /* GL_INGR_color_clamp */
>
> #ifndef GL_INGR_interlace_read
> #define GL_INGR_interlace_read 1
> #define GL_INTERLACE_READ_INGR            0x8568
> #endif /* GL_INGR_interlace_read */
>
> +#ifndef GL_INTEL_blackhole_render
> +#define GL_INTEL_blackhole_render 1
> +#define GL_BLACKHOLE_RENDER_INTEL         0x83FC
> +#endif /* GL_INTEL_blackhole_render */
> +
> #ifndef GL_INTEL_conservative_rasterization
> #define GL_INTEL_conservative_rasterization 1
> #define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE
> #endif /* GL_INTEL_conservative_rasterization */
>
> #ifndef GL_INTEL_fragment_shader_ordering
> #define GL_INTEL_fragment_shader_ordering 1
> #endif /* GL_INTEL_fragment_shader_ordering */
>
> #ifndef GL_INTEL_framebuffer_CMAA
> @@ -9173,32 +9225,32 @@ GLAPI void APIENTRY glTexCoordPointervINTEL (GLint 
> size, GLenum type, const void
> #define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE
> #define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF
> #define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500
> typedef void (APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle);
> typedef void (APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, 
> GLuint *queryHandle);
> typedef void (APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle);
> typedef void (APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle);
> typedef void (APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId);
> typedef void (APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, 
> GLuint *nextQueryId);
> typedef void (APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, 
> GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint 
> counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint 
> *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, 
> GLuint64 *rawCounterMaxValue);
> -typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint 
> queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint 
> *bytesWritten);
> +typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint 
> queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten);
> typedef void (APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar 
> *queryName, GLuint *queryId);
> typedef void (APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, 
> GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint 
> *noCounters, GLuint *noInstances, GLuint *capsMask);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle);
> GLAPI void APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint 
> *queryHandle);
> GLAPI void APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle);
> GLAPI void APIENTRY glEndPerfQueryINTEL (GLuint queryHandle);
> GLAPI void APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId);
> GLAPI void APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint 
> *nextQueryId);
> GLAPI void APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint 
> counterId, GLuint counterNameLength, GLchar *counterName, GLuint 
> counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint 
> *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, 
> GLuint64 *rawCounterMaxValue);
> -GLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint 
> flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
> +GLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint 
> flags, GLsizei dataSize, void *data, GLuint *bytesWritten);
> GLAPI void APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint 
> *queryId);
> GLAPI void APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint 
> queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, 
> GLuint *noInstances, GLuint *capsMask);
> #endif
> #endif /* GL_INTEL_performance_query */
>
> #ifndef GL_MESAX_texture_stack
> #define GL_MESAX_texture_stack 1
> #define GL_TEXTURE_1D_STACK_MESAX         0x8759
> #define GL_TEXTURE_2D_STACK_MESAX         0x875A
> #define GL_PROXY_TEXTURE_1D_STACK_MESAX   0x875B
> @@ -9576,31 +9628,40 @@ GLAPI void APIENTRY glSubpixelPrecisionBiasNV 
> (GLuint xbits, GLuint ybits);
> #define GL_NV_conservative_raster_dilate 1
> #define GL_CONSERVATIVE_RASTER_DILATE_NV  0x9379
> #define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A
> #define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B
> typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC) (GLenum 
> pname, GLfloat value);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glConservativeRasterParameterfNV (GLenum pname, GLfloat 
> value);
> #endif
> #endif /* GL_NV_conservative_raster_dilate */
>
> +#ifndef GL_NV_conservative_raster_pre_snap
> +#define GL_NV_conservative_raster_pre_snap 1
> +#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV 0x9550
> +#endif /* GL_NV_conservative_raster_pre_snap */
> +
> #ifndef GL_NV_conservative_raster_pre_snap_triangles
> #define GL_NV_conservative_raster_pre_snap_triangles 1
> #define GL_CONSERVATIVE_RASTER_MODE_NV    0x954D
> #define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E
> #define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F
> typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum 
> pname, GLint param);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glConservativeRasterParameteriNV (GLenum pname, GLint 
> param);
> #endif
> #endif /* GL_NV_conservative_raster_pre_snap_triangles */
>
> +#ifndef GL_NV_conservative_raster_underestimation
> +#define GL_NV_conservative_raster_underestimation 1
> +#endif /* GL_NV_conservative_raster_underestimation */
> +
> #ifndef GL_NV_copy_depth_to_color
> #define GL_NV_copy_depth_to_color 1
> #define GL_DEPTH_STENCIL_TO_RGBA_NV       0x886E
> #define GL_DEPTH_STENCIL_TO_BGRA_NV       0x886F
> #endif /* GL_NV_copy_depth_to_color */
>
> #ifndef GL_NV_copy_image
> #define GL_NV_copy_image 1
> typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, 
> GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, 
> GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, 
> GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
> #ifdef GL_GLEXT_PROTOTYPES
> @@ -9895,34 +9956,34 @@ GLAPI void APIENTRY glFramebufferTextureFaceEXT 
> (GLenum target, GLenum attachmen
> #endif /* GL_NV_geometry_shader_passthrough */
>
> #ifndef GL_NV_gpu_multicast
> #define GL_NV_gpu_multicast 1
> #define GL_PER_GPU_STORAGE_BIT_NV         0x0800
> #define GL_MULTICAST_GPUS_NV              0x92BA
> #define GL_RENDER_GPU_MASK_NV             0x9558
> #define GL_PER_GPU_STORAGE_NV             0x9548
> #define GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9549
> typedef void (APIENTRYP PFNGLRENDERGPUMASKNVPROC) (GLbitfield mask);
> -typedef void (APIENTRYP PFNGLMULTICASTBUFFERSUBDATANVPROC) (GLbitfield 
> gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
> +typedef void (APIENTRYP PFNGLMULTICASTBUFFERSUBDATANVPROC) (GLbitfield 
> gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);
> typedef void (APIENTRYP PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC) (GLuint 
> readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, 
> GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
> typedef void (APIENTRYP PFNGLMULTICASTCOPYIMAGESUBDATANVPROC) (GLuint 
> srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint 
> srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum 
> dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei 
> srcWidth, GLsizei srcHeight, GLsizei srcDepth);
> typedef void (APIENTRYP PFNGLMULTICASTBLITFRAMEBUFFERNVPROC) (GLuint 
> srcGpu, GLuint dstGpu, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, 
> GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum 
> filter);
> typedef void (APIENTRYP PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) 
> (GLuint gpu, GLuint framebuffer, GLuint start, GLsizei count, const GLfloat 
> *v);
> typedef void (APIENTRYP PFNGLMULTICASTBARRIERNVPROC) (void);
> typedef void (APIENTRYP PFNGLMULTICASTWAITSYNCNVPROC) (GLuint signalGpu, 
> GLbitfield waitGpuMask);
> typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTIVNVPROC) (GLuint gpu, 
> GLuint id, GLenum pname, GLint *params);
> typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC) (GLuint gpu, 
> GLuint id, GLenum pname, GLuint *params);
> typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC) (GLuint 
> gpu, GLuint id, GLenum pname, GLint64 *params);
> typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC) (GLuint 
> gpu, GLuint id, GLenum pname, GLuint64 *params);
> #ifdef GL_GLEXT_PROTOTYPES
> GLAPI void APIENTRY glRenderGpuMaskNV (GLbitfield mask);
> -GLAPI void APIENTRY glMulticastBufferSubDataNV (GLbitfield gpuMask, GLuint 
> buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
> +GLAPI void APIENTRY glMulticastBufferSubDataNV (GLbitfield gpuMask, GLuint 
> buffer, GLintptr offset, GLsizeiptr size, const void *data);
> GLAPI void APIENTRY glMulticastCopyBufferSubDataNV (GLuint readGpu, 
> GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr 
> readOffset, GLintptr writeOffset, GLsizeiptr size);
> GLAPI void APIENTRY glMulticastCopyImageSubDataNV (GLuint srcGpu, 
> GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, 
> GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint 
> dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei 
> srcHeight, GLsizei srcDepth);
> GLAPI void APIENTRY glMulticastBlitFramebufferNV (GLuint srcGpu, GLuint 
> dstGpu, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, 
> GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
> GLAPI void APIENTRY glMulticastFramebufferSampleLocationsfvNV (GLuint gpu, 
> GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v);
> GLAPI void APIENTRY glMulticastBarrierNV (void);
> GLAPI void APIENTRY glMulticastWaitSyncNV (GLuint signalGpu, GLbitfield 
> waitGpuMask);
> GLAPI void APIENTRY glMulticastGetQueryObjectivNV (GLuint gpu, GLuint id, 
> GLenum pname, GLint *params);
> GLAPI void APIENTRY glMulticastGetQueryObjectuivNV (GLuint gpu, GLuint id, 
> GLenum pname, GLuint *params);
> GLAPI void APIENTRY glMulticastGetQueryObjecti64vNV (GLuint gpu, GLuint id, 
> GLenum pname, GLint64 *params);
> GLAPI void APIENTRY glMulticastGetQueryObjectui64vNV (GLuint gpu, GLuint 
> id, GLenum pname, GLuint64 *params);
> diff --git a/include/GL/glxext.h b/include/GL/glxext.h
> index 0f60a380c21..4c984ef4b89 100644
> --- a/include/GL/glxext.h
> +++ b/include/GL/glxext.h
> @@ -1,19 +1,19 @@
> -#ifndef __glxext_h_
> -#define __glxext_h_ 1
> +#ifndef __glx_glxext_h_
> +#define __glx_glxext_h_ 1
>
> #ifdef __cplusplus
> extern "C" {
> #endif
>
> /*
> -** Copyright (c) 2013-2017 The Khronos Group Inc.
> +** Copyright (c) 2013-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
> @@ -27,21 +27,21 @@ extern "C" {
> ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> */
> /*
> ** This header is generated from the Khronos OpenGL / OpenGL ES XML
> ** API Registry. The current version of the Registry, generator scripts
> ** used to make the header, and the header can be found at
> **   https://github.com/KhronosGroup/OpenGL-Registry
> */
>
> -#define GLX_GLXEXT_VERSION 20170728
> +#define GLX_GLXEXT_VERSION 20180525
>
> /* Generated C header for:
>  * API: glx
>  * Versions considered: .*
>  * Versions emitted: 1\.[3-9]
>  * Default extensions included: glx
>  * Additional extensions included: _nomatch_^
>  * Extensions removed: _nomatch_^
>  */
>
> @@ -318,20 +318,24 @@ GLXContextID glXGetContextIDEXT (const GLXContext 
> context);
> GLXContext glXImportContextEXT (Display *dpy, GLXContextID contextID);
> void glXFreeContextEXT (Display *dpy, GLXContext context);
> #endif
> #endif /* GLX_EXT_import_context */
>
> #ifndef GLX_EXT_libglvnd
> #define GLX_EXT_libglvnd 1
> #define GLX_VENDOR_NAMES_EXT              0x20F6
> #endif /* GLX_EXT_libglvnd */
>
> +#ifndef GLX_EXT_no_config_context
> +#define GLX_EXT_no_config_context 1
> +#endif /* GLX_EXT_no_config_context */
> +
> #ifndef GLX_EXT_stereo_tree
> #define GLX_EXT_stereo_tree 1
> typedef struct {
>     int type;
>     unsigned long serial;
>     Bool send_event;
>     Display *display;
>     int extension;
>     int evtype;
>     GLXDrawable window;
> @@ -496,20 +500,30 @@ Bool glXReleaseBuffersMESA (Display *dpy, GLXDrawable 
> drawable);
> #ifndef GLX_MESA_set_3dfx_mode
> #define GLX_MESA_set_3dfx_mode 1
> #define GLX_3DFX_WINDOW_MODE_MESA         0x1
> #define GLX_3DFX_FULLSCREEN_MODE_MESA     0x2
> typedef Bool ( *PFNGLXSET3DFXMODEMESAPROC) (int mode);
> #ifdef GLX_GLXEXT_PROTOTYPES
> Bool glXSet3DfxModeMESA (int mode);
> #endif
> #endif /* GLX_MESA_set_3dfx_mode */
>
> +#ifndef GLX_MESA_swap_control
> +#define GLX_MESA_swap_control 1
> +typedef int ( *PFNGLXGETSWAPINTERVALMESAPROC) (void);
> +typedef int ( *PFNGLXSWAPINTERVALMESAPROC) (unsigned int interval);
> +#ifdef GLX_GLXEXT_PROTOTYPES
> +int glXGetSwapIntervalMESA (void);
> +int glXSwapIntervalMESA (unsigned int interval);
> +#endif
> +#endif /* GLX_MESA_swap_control */
> +
> #ifndef GLX_NV_copy_buffer
> #define GLX_NV_copy_buffer 1
> typedef void ( *PFNGLXCOPYBUFFERSUBDATANVPROC) (Display *dpy, GLXContext 
> readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, 
> GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
> typedef void ( *PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC) (Display *dpy, 
> GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint 
> writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
> #ifdef GLX_GLXEXT_PROTOTYPES
> void glXCopyBufferSubDataNV (Display *dpy, GLXContext readCtx, GLXContext 
> writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, 
> GLintptr writeOffset, GLsizeiptr size);
> void glXNamedCopyBufferSubDataNV (Display *dpy, GLXContext readCtx, 
> GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr 
> readOffset, GLintptr writeOffset, GLsizeiptr size);
> #endif
> #endif /* GLX_NV_copy_buffer */
>
> diff --git a/include/GLES2/gl2.h b/include/GLES2/gl2.h
> index 8ba907c892c..5e8e4c5d10e 100644
> --- a/include/GLES2/gl2.h
> +++ b/include/GLES2/gl2.h
> @@ -1,19 +1,19 @@
> -#ifndef __gl2_h_
> -#define __gl2_h_ 1
> +#ifndef __gles2_gl2_h_
> +#define __gles2_gl2_h_ 1
>
> #ifdef __cplusplus
> extern "C" {
> #endif
>
> /*
> -** Copyright (c) 2013-2017 The Khronos Group Inc.
> +** Copyright (c) 2013-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
> @@ -37,21 +37,21 @@ extern "C" {
> #include <GLES2/gl2platform.h>
>
> #ifndef GL_APIENTRYP
> #define GL_APIENTRYP GL_APIENTRY*
> #endif
>
> #ifndef GL_GLES_PROTOTYPES
> #define GL_GLES_PROTOTYPES 1
> #endif
>
> -/* Generated on date 20170606 */
> +/* Generated on date 20180525 */
>
> /* Generated C header for:
>  * API: gles2
>  * Profile: common
>  * Versions considered: 2\.[0-9]
>  * Versions emitted: .*
>  * Default extensions included: None
>  * Additional extensions included: _nomatch_^
>  * Extensions removed: _nomatch_^
>  */
> diff --git a/include/GLES2/gl2ext.h b/include/GLES2/gl2ext.h
> index 0a93bfb8652..1ab393e5ef7 100644
> --- a/include/GLES2/gl2ext.h
> +++ b/include/GLES2/gl2ext.h
> @@ -1,19 +1,19 @@
> -#ifndef __gl2ext_h_
> -#define __gl2ext_h_ 1
> +#ifndef __gles2_gl2ext_h_
> +#define __gles2_gl2ext_h_ 1
>
> #ifdef __cplusplus
> extern "C" {
> #endif
>
> /*
> -** Copyright (c) 2013-2017 The Khronos Group Inc.
> +** Copyright (c) 2013-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
> @@ -31,21 +31,21 @@ extern "C" {
> ** This header is generated from the Khronos OpenGL / OpenGL ES XML
> ** API Registry. The current version of the Registry, generator scripts
> ** used to make the header, and the header can be found at
> **   https://github.com/KhronosGroup/OpenGL-Registry
> */
>
> #ifndef GL_APIENTRYP
> #define GL_APIENTRYP GL_APIENTRY*
> #endif
>
> -/* Generated on date 20170804 */
> +/* Generated on date 20180525 */
>
> /* Generated C header for:
>  * API: gles2
>  * Profile: common
>  * Versions considered: 2\.[0-9]
>  * Versions emitted: _nomatch_^
>  * Default extensions included: gles2
>  * Additional extensions included: _nomatch_^
>  * Extensions removed: _nomatch_^
>  */
> @@ -152,20 +152,30 @@ GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR 
> (const void *ptr, GLsizei length
> GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, 
> GLsizei bufSize, GLsizei *length, GLchar *label);
> GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, void **params);
> #endif
> #endif /* GL_KHR_debug */
>
> #ifndef GL_KHR_no_error
> #define GL_KHR_no_error 1
> #define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR  0x00000008
> #endif /* GL_KHR_no_error */
>
> +#ifndef GL_KHR_parallel_shader_compile
> +#define GL_KHR_parallel_shader_compile 1
> +#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0
> +#define GL_COMPLETION_STATUS_KHR          0x91B1
> +typedef void (GL_APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSKHRPROC) (GLuint 
> count);
> +#ifdef GL_GLEXT_PROTOTYPES
> +GL_APICALL void GL_APIENTRY glMaxShaderCompilerThreadsKHR (GLuint count);
> +#endif
> +#endif /* GL_KHR_parallel_shader_compile */
> +
> #ifndef GL_KHR_robust_buffer_access_behavior
> #define GL_KHR_robust_buffer_access_behavior 1
> #endif /* GL_KHR_robust_buffer_access_behavior */
>
> #ifndef GL_KHR_robustness
> #define GL_KHR_robustness 1
> #define GL_CONTEXT_ROBUST_ACCESS_KHR      0x90F3
> #define GL_LOSE_CONTEXT_ON_RESET_KHR      0x8252
> #define GL_GUILTY_CONTEXT_RESET_KHR       0x8253
> #define GL_INNOCENT_CONTEXT_RESET_KHR     0x8254
> @@ -784,20 +794,34 @@ GL_APICALL void GL_APIENTRY glGetFloati_vOES (GLenum 
> target, GLuint index, GLflo
> #define GL_3DC_XY_AMD                     0x87FA
> #endif /* GL_AMD_compressed_3DC_texture */
>
> #ifndef GL_AMD_compressed_ATC_texture
> #define GL_AMD_compressed_ATC_texture 1
> #define GL_ATC_RGB_AMD                    0x8C92
> #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD    0x8C93
> #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
> #endif /* GL_AMD_compressed_ATC_texture */
>
> +#ifndef GL_AMD_framebuffer_multisample_advanced
> +#define GL_AMD_framebuffer_multisample_advanced
> +#define GL_RENDERBUFFER_STORAGE_SAMPLES_AMD 0x91B2
> +#define GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD 0x91B3
> +#define GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD 0x91B4
> +#define GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD 0x91B5
> +#define GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B6
> +#define GL_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B7
> +typedef void (APIENTRYP 
> PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEENHANCEDAMD) (GLuint renderbuffer, 
> GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei 
> width, GLsizei height);
> +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEENHANCEDAMD) 
> (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum 
> internalformat, GLsizei width, GLsizei height);
> +GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleAdvancedAMD 
> (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum 
> internalformat, GLsizei width, GLsizei height);
> +GLAPI void APIENTRY glRenderbufferStorageMultisampleAdvancedAMD (GLenum 
> target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, 
> GLsizei width, GLsizei height);
> +#endif /* GL_AMD_framebuffer_multisample_advanced */
> +
> #ifndef GL_AMD_performance_monitor
> #define GL_AMD_performance_monitor 1
> #define GL_COUNTER_TYPE_AMD               0x8BC0
> #define GL_COUNTER_RANGE_AMD              0x8BC1
> #define GL_UNSIGNED_INT64_AMD             0x8BC2
> #define GL_PERCENTAGE_AMD                 0x8BC3
> #define GL_PERFMON_RESULT_AVAILABLE_AMD   0x8BC4
> #define GL_PERFMON_RESULT_SIZE_AMD        0x8BC5
> #define GL_PERFMON_RESULT_AMD             0x8BC6
> typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint 
> *numGroups, GLsizei groupsSize, GLuint *groups);
> @@ -1048,20 +1072,30 @@ GL_APICALL void GL_APIENTRY glGetSyncivAPPLE 
> (GLsync sync, GLenum pname, GLsizei
>
> #ifndef GL_DMP_shader_binary
> #define GL_DMP_shader_binary 1
> #define GL_SHADER_BINARY_DMP              0x9250
> #endif /* GL_DMP_shader_binary */
>
> #ifndef GL_EXT_EGL_image_array
> #define GL_EXT_EGL_image_array 1
> #endif /* GL_EXT_EGL_image_array */
>
> +#ifndef GL_EXT_EGL_image_storage
> +#define GL_EXT_EGL_image_storage 1
> +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC) (GLenum 
> target, GLeglImageOES image, const GLint* attrib_list);
> +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC) 
> (GLuint texture, GLeglImageOES image, const GLint* attrib_list);
> +#ifdef GL_GLEXT_PROTOTYPES
> +GL_APICALL void GL_APIENTRY glEGLImageTargetTexStorageEXT (GLenum target, 
> GLeglImageOES image, const GLint* attrib_list);
> +GL_APICALL void GL_APIENTRY glEGLImageTargetTextureStorageEXT (GLuint 
> texture, GLeglImageOES image, const GLint* attrib_list);
> +#endif
> +#endif /* GL_EXT_EGL_image_storage */
> +
> #ifndef GL_EXT_YUV_target
> #define GL_EXT_YUV_target 1
> #define GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT    0x8BE7
> #endif /* GL_EXT_YUV_target */
>
> #ifndef GL_EXT_base_instance
> #define GL_EXT_base_instance 1
> typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC) 
> (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint 
> baseinstance);
> typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC) 
> (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei 
> instancecount, GLuint baseinstance);
> typedef void (GL_APIENTRYP 
> PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC) (GLenum mode, 
> GLsizei count, GLenum type, const void *indices, GLsizei instancecount, 
> GLint basevertex, GLuint baseinstance);
> @@ -1119,20 +1153,34 @@ GL_APICALL void GL_APIENTRY glBufferStorageEXT 
> (GLenum target, GLsizeiptr size,
> #ifndef GL_EXT_clear_texture
> #define GL_EXT_clear_texture 1
> typedef void (GL_APIENTRYP PFNGLCLEARTEXIMAGEEXTPROC) (GLuint texture, 
> GLint level, GLenum format, GLenum type, const void *data);
> typedef void (GL_APIENTRYP PFNGLCLEARTEXSUBIMAGEEXTPROC) (GLuint texture, 
> GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, 
> GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
> #ifdef GL_GLEXT_PROTOTYPES
> GL_APICALL void GL_APIENTRY glClearTexImageEXT (GLuint texture, GLint 
> level, GLenum format, GLenum type, const void *data);
> GL_APICALL void GL_APIENTRY glClearTexSubImageEXT (GLuint texture, GLint 
> level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei 
> height, GLsizei depth, GLenum format, GLenum type, const void *data);
> #endif
> #endif /* GL_EXT_clear_texture */
>
> +#ifndef GL_EXT_clip_control
> +#define GL_EXT_clip_control 1
> +#define GL_LOWER_LEFT_EXT                 0x8CA1
> +#define GL_UPPER_LEFT_EXT                 0x8CA2
> +#define GL_NEGATIVE_ONE_TO_ONE_EXT        0x935E
> +#define GL_ZERO_TO_ONE_EXT                0x935F
> +#define GL_CLIP_ORIGIN_EXT                0x935C
> +#define GL_CLIP_DEPTH_MODE_EXT            0x935D
> +typedef void (GL_APIENTRYP PFNGLCLIPCONTROLEXTPROC) (GLenum origin, GLenum 
> depth);
> +#ifdef GL_GLEXT_PROTOTYPES
> +GL_APICALL void GL_APIENTRY glClipControlEXT (GLenum origin, GLenum depth);
> +#endif
> +#endif /* GL_EXT_clip_control */
> +
> #ifndef GL_EXT_clip_cull_distance
> #define GL_EXT_clip_cull_distance 1
> #define GL_MAX_CLIP_DISTANCES_EXT         0x0D32
> #define GL_MAX_CULL_DISTANCES_EXT         0x82F9
> #define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT 0x82FA
> #define GL_CLIP_DISTANCE0_EXT             0x3000
> #define GL_CLIP_DISTANCE1_EXT             0x3001
> #define GL_CLIP_DISTANCE2_EXT             0x3002
> #define GL_CLIP_DISTANCE3_EXT             0x3003
> #define GL_CLIP_DISTANCE4_EXT             0x3004
> @@ -1673,20 +1721,22 @@ GL_APICALL void GL_APIENTRY glGetnUniformivEXT 
> (GLuint program, GLint location,
>
> #ifndef GL_EXT_semaphore
> #define GL_EXT_semaphore 1
> #define GL_LAYOUT_GENERAL_EXT             0x958D
> #define GL_LAYOUT_COLOR_ATTACHMENT_EXT    0x958E
> #define GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT 0x958F
> #define GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT 0x9590
> #define GL_LAYOUT_SHADER_READ_ONLY_EXT    0x9591
> #define GL_LAYOUT_TRANSFER_SRC_EXT        0x9592
> #define GL_LAYOUT_TRANSFER_DST_EXT        0x9593
> +#define GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT 0x9530
> +#define GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT 0x9531
> typedef void (GL_APIENTRYP PFNGLGENSEMAPHORESEXTPROC) (GLsizei n, GLuint 
> *semaphores);
> typedef void (GL_APIENTRYP PFNGLDELETESEMAPHORESEXTPROC) (GLsizei n, const 
> GLuint *semaphores);
> typedef GLboolean (GL_APIENTRYP PFNGLISSEMAPHOREEXTPROC) (GLuint semaphore);
> typedef void (GL_APIENTRYP PFNGLSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint 
> semaphore, GLenum pname, const GLuint64 *params);
> typedef void (GL_APIENTRYP PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint 
> semaphore, GLenum pname, GLuint64 *params);
> typedef void (GL_APIENTRYP PFNGLWAITSEMAPHOREEXTPROC) (GLuint semaphore, 
> GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, 
> const GLuint *textures, const GLenum *srcLayouts);
> typedef void (GL_APIENTRYP PFNGLSIGNALSEMAPHOREEXTPROC) (GLuint semaphore, 
> GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, 
> const GLuint *textures, const GLenum *dstLayouts);
> #ifdef GL_GLEXT_PROTOTYPES
> GL_APICALL void GL_APIENTRY glGenSemaphoresEXT (GLsizei n, GLuint *semaphores);
> GL_APICALL void GL_APIENTRY glDeleteSemaphoresEXT (GLsizei n, const GLuint 
> *semaphores);
> @@ -1816,20 +1866,28 @@ GL_APICALL void GL_APIENTRY 
> glProgramUniformMatrix4x2fvEXT (GLuint program, GLin
> GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, 
> GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
> GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, 
> GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
> #endif
> #endif /* GL_EXT_separate_shader_objects */
>
> #ifndef GL_EXT_shader_framebuffer_fetch
> #define GL_EXT_shader_framebuffer_fetch 1
> #define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
> #endif /* GL_EXT_shader_framebuffer_fetch */
>
> +#ifndef GL_EXT_shader_framebuffer_fetch_non_coherent
> +#define GL_EXT_shader_framebuffer_fetch_non_coherent 1
> +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC) (void);
> +#ifdef GL_GLEXT_PROTOTYPES
> +GL_APICALL void GL_APIENTRY glFramebufferFetchBarrierEXT (void);
> +#endif
> +#endif /* GL_EXT_shader_framebuffer_fetch_non_coherent */
> +
> #ifndef GL_EXT_shader_group_vote
> #define GL_EXT_shader_group_vote 1
> #endif /* GL_EXT_shader_group_vote */
>
> #ifndef GL_EXT_shader_implicit_conversions
> #define GL_EXT_shader_implicit_conversions 1
> #endif /* GL_EXT_shader_implicit_conversions */
>
> #ifndef GL_EXT_shader_integer_mix
> #define GL_EXT_shader_integer_mix 1
> @@ -2060,26 +2118,38 @@ GL_APICALL void GL_APIENTRY glTexBufferRangeEXT 
> (GLenum target, GLenum internalf
> #endif /* GL_EXT_texture_cube_map_array */
>
> #ifndef GL_EXT_texture_filter_anisotropic
> #define GL_EXT_texture_filter_anisotropic 1
> #define GL_TEXTURE_MAX_ANISOTROPY_EXT     0x84FE
> #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
> #endif /* GL_EXT_texture_filter_anisotropic */
>
> #ifndef GL_EXT_texture_filter_minmax
> #define GL_EXT_texture_filter_minmax 1
> +#define GL_TEXTURE_REDUCTION_MODE_EXT     0x9366
> +#define GL_WEIGHTED_AVERAGE_EXT           0x9367
> #endif /* GL_EXT_texture_filter_minmax */
>
> #ifndef GL_EXT_texture_format_BGRA8888
> #define GL_EXT_texture_format_BGRA8888 1
> #endif /* GL_EXT_texture_format_BGRA8888 */
>
> +#ifndef GL_EXT_texture_format_sRGB_override
> +#define GL_EXT_texture_format_sRGB_override 1
> +#define GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT 0x8FBF
> +#endif /* GL_EXT_texture_format_sRGB_override */
> +
> +#ifndef GL_EXT_texture_mirror_clamp_to_edge
> +#define GL_EXT_texture_mirror_clamp_to_edge 1
> +#define GL_MIRROR_CLAMP_TO_EDGE_EXT       0x8743
> +#endif /* GL_EXT_texture_mirror_clamp_to_edge */
> +
> #ifndef GL_EXT_texture_norm16
> #define GL_EXT_texture_norm16 1
> #define GL_R16_EXT                        0x822A
> #define GL_RG16_EXT                       0x822C
> #define GL_RGBA16_EXT                     0x805B
> #define GL_RGB16_EXT                      0x8054
> #define GL_RGB16_SNORM_EXT                0x8F9A
> #endif /* GL_EXT_texture_norm16 */
>
> #ifndef GL_EXT_texture_rg
> @@ -2268,20 +2338,25 @@ GL_APICALL void GL_APIENTRY 
> glFramebufferTexture2DMultisampleIMG (GLenum target,
> #define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138
> #endif /* GL_IMG_texture_compression_pvrtc2 */
>
> #ifndef GL_IMG_texture_filter_cubic
> #define GL_IMG_texture_filter_cubic 1
> #define GL_CUBIC_IMG                      0x9139
> #define GL_CUBIC_MIPMAP_NEAREST_IMG       0x913A
> #define GL_CUBIC_MIPMAP_LINEAR_IMG        0x913B
> #endif /* GL_IMG_texture_filter_cubic */
>
> +#ifndef GL_INTEL_blackhole_render
> +#define GL_INTEL_blackhole_render 1
> +#define GL_BLACKHOLE_RENDER_INTEL         0x83FC
> +#endif /* GL_INTEL_blackhole_render */
> +
> #ifndef GL_INTEL_conservative_rasterization
> #define GL_INTEL_conservative_rasterization 1
> #define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE
> #endif /* GL_INTEL_conservative_rasterization */
>
> #ifndef GL_INTEL_framebuffer_CMAA
> #define GL_INTEL_framebuffer_CMAA 1
> typedef void (GL_APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) 
> (void);
> #ifdef GL_GLEXT_PROTOTYPES
> GL_APICALL void GL_APIENTRY glApplyFramebufferAttachmentCMAAINTEL (void);
> @@ -2310,32 +2385,32 @@ GL_APICALL void GL_APIENTRY 
> glApplyFramebufferAttachmentCMAAINTEL (void);
> #define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE
> #define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF
> #define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500
> typedef void (GL_APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle);
> typedef void (GL_APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, 
> GLuint *queryHandle);
> typedef void (GL_APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle);
> typedef void (GL_APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle);
> typedef void (GL_APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint 
> *queryId);
> typedef void (GL_APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint 
> queryId, GLuint *nextQueryId);
> typedef void (GL_APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint 
> queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, 
> GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, 
> GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint 
> *counterDataTypeEnum, GLuint64 *rawCounterMaxValue);
> -typedef void (GL_APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint 
> queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint 
> *bytesWritten);
> +typedef void (GL_APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint 
> queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten);
> typedef void (GL_APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar 
> *queryName, GLuint *queryId);
> typedef void (GL_APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, 
> GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint 
> *noCounters, GLuint *noInstances, GLuint *capsMask);
> #ifdef GL_GLEXT_PROTOTYPES
> GL_APICALL void GL_APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle);
> GL_APICALL void GL_APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint 
> *queryHandle);
> GL_APICALL void GL_APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle);
> GL_APICALL void GL_APIENTRY glEndPerfQueryINTEL (GLuint queryHandle);
> GL_APICALL void GL_APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId);
> GL_APICALL void GL_APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, 
> GLuint *nextQueryId);
> GL_APICALL void GL_APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, 
> GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint 
> counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint 
> *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, 
> GLuint64 *rawCounterMaxValue);
> -GL_APICALL void GL_APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, 
> GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten);
> +GL_APICALL void GL_APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, 
> GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten);
> GL_APICALL void GL_APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, 
> GLuint *queryId);
> GL_APICALL void GL_APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint 
> queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, 
> GLuint *noInstances, GLuint *capsMask);
> #endif
> #endif /* GL_INTEL_performance_query */
>
> #ifndef GL_MESA_framebuffer_flip_y
> #define GL_MESA_framebuffer_flip_y 1
> #define GL_FRAMEBUFFER_FLIP_Y_MESA        0x8BBB
> #endif /* GL_MESA_framebuffer_flip_y */
>
> @@ -2447,20 +2522,31 @@ GL_APICALL void GL_APIENTRY glBlendBarrierNV (void);
> #define GL_NV_blend_equation_advanced_coherent 1
> #define GL_BLEND_ADVANCED_COHERENT_NV     0x9285
> #endif /* GL_NV_blend_equation_advanced_coherent */
>
> #ifndef GL_NV_blend_minmax_factor
> #define GL_NV_blend_minmax_factor 1
> #define GL_FACTOR_MIN_AMD                 0x901C
> #define GL_FACTOR_MAX_AMD                 0x901D
> #endif /* GL_NV_blend_minmax_factor */
>
> +#ifndef GL_NV_clip_space_w_scaling
> +#define GL_NV_clip_space_w_scaling 1
> +#define GL_VIEWPORT_POSITION_W_SCALE_NV   0x937C
> +#define GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV 0x937D
> +#define GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV 0x937E
> +typedef void (GL_APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC) (GLuint 
> index, GLfloat xcoeff, GLfloat ycoeff);
> +#ifdef GL_GLEXT_PROTOTYPES
> +GL_APICALL void GL_APIENTRY glViewportPositionWScaleNV (GLuint index, 
> GLfloat xcoeff, GLfloat ycoeff);
> +#endif
> +#endif /* GL_NV_clip_space_w_scaling */
> +
> #ifndef GL_NV_conditional_render
> #define GL_NV_conditional_render 1
> #define GL_QUERY_WAIT_NV                  0x8E13
> #define GL_QUERY_NO_WAIT_NV               0x8E14
> #define GL_QUERY_BY_REGION_WAIT_NV        0x8E15
> #define GL_QUERY_BY_REGION_NO_WAIT_NV     0x8E16
> typedef void (GL_APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, 
> GLenum mode);
> typedef void (GL_APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void);
> #ifdef GL_GLEXT_PROTOTYPES
> GL_APICALL void GL_APIENTRY glBeginConditionalRenderNV (GLuint id, GLenum 
> mode);
> @@ -2473,20 +2559,25 @@ GL_APICALL void GL_APIENTRY 
> glEndConditionalRenderNV (void);
> #define GL_CONSERVATIVE_RASTERIZATION_NV  0x9346
> #define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV 0x9347
> #define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV 0x9348
> #define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV 0x9349
> typedef void (GL_APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC) (GLuint xbits, 
> GLuint ybits);
> #ifdef GL_GLEXT_PROTOTYPES
> GL_APICALL void GL_APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint 
> ybits);
> #endif
> #endif /* GL_NV_conservative_raster */
>
> +#ifndef GL_NV_conservative_raster_pre_snap
> +#define GL_NV_conservative_raster_pre_snap 1
> +#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV 0x9550
> +#endif /* GL_NV_conservative_raster_pre_snap */
> +
> #ifndef GL_NV_conservative_raster_pre_snap_triangles
> #define GL_NV_conservative_raster_pre_snap_triangles 1
> #define GL_CONSERVATIVE_RASTER_MODE_NV    0x954D
> #define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E
> #define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F
> typedef void (GL_APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum 
> pname, GLint param);
> #ifdef GL_GLEXT_PROTOTYPES
> GL_APICALL void GL_APIENTRY glConservativeRasterParameteriNV (GLenum pname, 
> GLint param);
> #endif
> #endif /* GL_NV_conservative_raster_pre_snap_triangles */
> @@ -2844,20 +2935,21 @@ GL_APICALL void GL_APIENTRY glUniformMatrix2x3fvNV 
> (GLint location, GLsizei coun
> GL_APICALL void GL_APIENTRY glUniformMatrix3x2fvNV (GLint location, GLsizei 
> count, GLboolean transpose, const GLfloat *value);
> GL_APICALL void GL_APIENTRY glUniformMatrix2x4fvNV (GLint location, GLsizei 
> count, GLboolean transpose, const GLfloat *value);
> GL_APICALL void GL_APIENTRY glUniformMatrix4x2fvNV (GLint location, GLsizei 
> count, GLboolean transpose, const GLfloat *value);
> GL_APICALL void GL_APIENTRY glUniformMatrix3x4fvNV (GLint location, GLsizei 
> count, GLboolean transpose, const GLfloat *value);
> GL_APICALL void GL_APIENTRY glUniformMatrix4x3fvNV (GLint location, GLsizei 
> count, GLboolean transpose, const GLfloat *value);
> #endif
> #endif /* GL_NV_non_square_matrices */
>
> #ifndef GL_NV_path_rendering
> #define GL_NV_path_rendering 1
> +typedef double GLdouble;
> #define GL_PATH_FORMAT_SVG_NV             0x9070
> #define GL_PATH_FORMAT_PS_NV              0x9071
> #define GL_STANDARD_FONT_NAME_NV          0x9072
> #define GL_SYSTEM_FONT_NAME_NV            0x9073
> #define GL_FILE_NAME_NV                   0x9074
> #define GL_PATH_STROKE_WIDTH_NV           0x9075
> #define GL_PATH_END_CAPS_NV               0x9076
> #define GL_PATH_INITIAL_END_CAP_NV        0x9077
> #define GL_PATH_TERMINAL_END_CAP_NV       0x9078
> #define GL_PATH_JOIN_STYLE_NV             0x9079
> @@ -3054,20 +3146,39 @@ typedef void (GL_APIENTRYP 
> PFNGLMATRIXMULT3X3FNVPROC) (GLenum matrixMode, const
> typedef void (GL_APIENTRYP PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) (GLenum 
> matrixMode, const GLfloat *m);
> typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHNVPROC) (GLuint 
> path, GLenum fillMode, GLuint mask, GLenum coverMode);
> typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) (GLuint 
> path, GLint reference, GLuint mask, GLenum coverMode);
> typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) 
> (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, 
> GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const 
> GLfloat *transformValues);
> typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) 
> (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, 
> GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const 
> GLfloat *transformValues);
> typedef GLenum (GL_APIENTRYP PFNGLPATHGLYPHINDEXRANGENVPROC) (GLenum 
> fontTarget, const void *fontName, GLbitfield fontStyle, GLuint 
> pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2]);
> typedef GLenum (GL_APIENTRYP PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint 
> firstPathName, GLenum fontTarget, const void *fontName, GLbitfield 
> fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint 
> pathParameterTemplate, GLfloat emScale);
> typedef GLenum (GL_APIENTRYP PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint 
> firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void 
> *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, 
> GLuint pathParameterTemplate, GLfloat emScale);
> typedef void (GL_APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint 
> program, GLint location, GLenum genMode, GLint components, const GLfloat 
> *coeffs);
> typedef void (GL_APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint 
> program, GLenum programInterface, GLuint index, GLsizei propCount, const 
> GLenum *props, GLsizei bufSize, GLsizei *length, GLfloat *params);
> +typedef void (GL_APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, 
> GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble 
> zNear, GLdouble zFar);
> +typedef void (GL_APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode);
> +typedef void (GL_APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, 
> const GLfloat *m);
> +typedef void (GL_APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, 
> const GLdouble *m);
> +typedef void (GL_APIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const 
> GLfloat *m);
> +typedef void (GL_APIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const 
> GLdouble *m);
> +typedef void (GL_APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, 
> const GLfloat *m);
> +typedef void (GL_APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, 
> const GLdouble *m);
> +typedef void (GL_APIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const 
> GLfloat *m);
> +typedef void (GL_APIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const 
> GLdouble *m);
> +typedef void (GL_APIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble 
> left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, 
> GLdouble zFar);
> +typedef void (GL_APIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode);
> +typedef void (GL_APIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode);
> +typedef void (GL_APIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, 
> GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
> +typedef void (GL_APIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, 
> GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
> +typedef void (GL_APIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat 
> x, GLfloat y, GLfloat z);
> +typedef void (GL_APIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, 
> GLdouble x, GLdouble y, GLdouble z);
> +typedef void (GL_APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, 
> GLfloat x, GLfloat y, GLfloat z);
> +typedef void (GL_APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, 
> GLdouble x, GLdouble y, GLdouble z);
> #ifdef GL_GLEXT_PROTOTYPES
> GL_APICALL GLuint GL_APIENTRY glGenPathsNV (GLsizei range);
> GL_APICALL void GL_APIENTRY glDeletePathsNV (GLuint path, GLsizei range);
> GL_APICALL GLboolean GL_APIENTRY glIsPathNV (GLuint path);
> GL_APICALL void GL_APIENTRY glPathCommandsNV (GLuint path, GLsizei 
> numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, 
> const void *coords);
> GL_APICALL void GL_APIENTRY glPathCoordsNV (GLuint path, GLsizei numCoords, 
> GLenum coordType, const void *coords);
> GL_APICALL void GL_APIENTRY glPathSubCommandsNV (GLuint path, GLsizei 
> commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte 
> *commands, GLsizei numCoords, GLenum coordType, const void *coords);
> GL_APICALL void GL_APIENTRY glPathSubCoordsNV (GLuint path, GLsizei 
> coordStart, GLsizei numCoords, GLenum coordType, const void *coords);
> GL_APICALL void GL_APIENTRY glPathStringNV (GLuint path, GLenum format, 
> GLsizei length, const void *pathString);
> GL_APICALL void GL_APIENTRY glPathGlyphsNV (GLuint firstPathName, GLenum 
> fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, 
> GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint 
> pathParameterTemplate, GLfloat emScale);
> @@ -3112,20 +3223,39 @@ GL_APICALL void GL_APIENTRY glMatrixMult3x3fNV 
> (GLenum matrixMode, const GLfloat
> GL_APICALL void GL_APIENTRY glMatrixMultTranspose3x3fNV (GLenum matrixMode, 
> const GLfloat *m);
> GL_APICALL void GL_APIENTRY glStencilThenCoverFillPathNV (GLuint path, 
> GLenum fillMode, GLuint mask, GLenum coverMode);
> GL_APICALL void GL_APIENTRY glStencilThenCoverStrokePathNV (GLuint path, 
> GLint reference, GLuint mask, GLenum coverMode);
> GL_APICALL void GL_APIENTRY glStencilThenCoverFillPathInstancedNV (GLsizei 
> numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum 
> fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const 
> GLfloat *transformValues);
> GL_APICALL void GL_APIENTRY glStencilThenCoverStrokePathInstancedNV 
> (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, 
> GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const 
> GLfloat *transformValues);
> GL_APICALL GLenum GL_APIENTRY glPathGlyphIndexRangeNV (GLenum fontTarget, 
> const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, 
> GLfloat emScale, GLuint baseAndCount[2]);
> GL_APICALL GLenum GL_APIENTRY glPathGlyphIndexArrayNV (GLuint 
> firstPathName, GLenum fontTarget, const void *fontName, GLbitfield 
> fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint 
> pathParameterTemplate, GLfloat emScale);
> GL_APICALL GLenum GL_APIENTRY glPathMemoryGlyphIndexArrayNV (GLuint 
> firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void 
> *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, 
> GLuint pathParameterTemplate, GLfloat emScale);
> GL_APICALL void GL_APIENTRY glProgramPathFragmentInputGenNV (GLuint 
> program, GLint location, GLenum genMode, GLint components, const GLfloat 
> *coeffs);
> GL_APICALL void GL_APIENTRY glGetProgramResourcefvNV (GLuint program, 
> GLenum programInterface, GLuint index, GLsizei propCount, const GLenum 
> *props, GLsizei bufSize, GLsizei *length, GLfloat *params);
> +GL_APICALL void GL_APIENTRY glMatrixFrustumEXT (GLenum mode, GLdouble 
> left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, 
> GLdouble zFar);
> +GL_APICALL void GL_APIENTRY glMatrixLoadIdentityEXT (GLenum mode);
> +GL_APICALL void GL_APIENTRY glMatrixLoadTransposefEXT (GLenum mode, const 
> GLfloat *m);
> +GL_APICALL void GL_APIENTRY glMatrixLoadTransposedEXT (GLenum mode, const 
> GLdouble *m);
> +GL_APICALL void GL_APIENTRY glMatrixLoadfEXT (GLenum mode, const GLfloat *m);
> +GL_APICALL void GL_APIENTRY glMatrixLoaddEXT (GLenum mode, const GLdouble *m);
> +GL_APICALL void GL_APIENTRY glMatrixMultTransposefEXT (GLenum mode, const 
> GLfloat *m);
> +GL_APICALL void GL_APIENTRY glMatrixMultTransposedEXT (GLenum mode, const 
> GLdouble *m);
> +GL_APICALL void GL_APIENTRY glMatrixMultfEXT (GLenum mode, const GLfloat *m);
> +GL_APICALL void GL_APIENTRY glMatrixMultdEXT (GLenum mode, const GLdouble *m);
> +GL_APICALL void GL_APIENTRY glMatrixOrthoEXT (GLenum mode, GLdouble left, 
> GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
> +GL_APICALL void GL_APIENTRY glMatrixPopEXT (GLenum mode);
> +GL_APICALL void GL_APIENTRY glMatrixPushEXT (GLenum mode);
> +GL_APICALL void GL_APIENTRY glMatrixRotatefEXT (GLenum mode, GLfloat 
> angle, GLfloat x, GLfloat y, GLfloat z);
> +GL_APICALL void GL_APIENTRY glMatrixRotatedEXT (GLenum mode, GLdouble 
> angle, GLdouble x, GLdouble y, GLdouble z);
> +GL_APICALL void GL_APIENTRY glMatrixScalefEXT (GLenum mode, GLfloat x, 
> GLfloat y, GLfloat z);
> +GL_APICALL void GL_APIENTRY glMatrixScaledEXT (GLenum mode, GLdouble x, 
> GLdouble y, GLdouble z);
> +GL_APICALL void GL_APIENTRY glMatrixTranslatefEXT (GLenum mode, GLfloat x, 
> GLfloat y, GLfloat z);
> +GL_APICALL void GL_APIENTRY glMatrixTranslatedEXT (GLenum mode, GLdouble 
> x, GLdouble y, GLdouble z);
> #endif
> #endif /* GL_NV_path_rendering */
>
> #ifndef GL_NV_path_rendering_shared_edge
> #define GL_NV_path_rendering_shared_edge 1
> #define GL_SHARED_EDGE_NV                 0xC0
> #endif /* GL_NV_path_rendering_shared_edge */
>
> #ifndef GL_NV_pixel_buffer_object
> #define GL_NV_pixel_buffer_object 1
> @@ -3223,20 +3353,24 @@ GL_APICALL void GL_APIENTRY glResolveDepthValuesNV 
> (void);
> #ifndef GL_NV_shadow_samplers_array
> #define GL_NV_shadow_samplers_array 1
> #define GL_SAMPLER_2D_ARRAY_SHADOW_NV     0x8DC4
> #endif /* GL_NV_shadow_samplers_array */
>
> #ifndef GL_NV_shadow_samplers_cube
> #define GL_NV_shadow_samplers_cube 1
> #define GL_SAMPLER_CUBE_SHADOW_NV         0x8DC5
> #endif /* GL_NV_shadow_samplers_cube */
>
> +#ifndef GL_NV_stereo_view_rendering
> +#define GL_NV_stereo_view_rendering 1
> +#endif /* GL_NV_stereo_view_rendering */
> +
> #ifndef GL_NV_texture_border_clamp
> #define GL_NV_texture_border_clamp 1
> #define GL_TEXTURE_BORDER_COLOR_NV        0x1004
> #define GL_CLAMP_TO_BORDER_NV             0x812D
> #endif /* GL_NV_texture_border_clamp */
>
> #ifndef GL_NV_texture_compression_s3tc_update
> #define GL_NV_texture_compression_s3tc_update 1
> #endif /* GL_NV_texture_compression_s3tc_update */
>
> @@ -3425,20 +3559,33 @@ GL_APICALL void GL_APIENTRY 
> glFramebufferFoveationParametersQCOM (GLuint framebu
>
> #ifndef GL_QCOM_shader_framebuffer_fetch_noncoherent
> #define GL_QCOM_shader_framebuffer_fetch_noncoherent 1
> #define GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM 0x96A2
> typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC) (void);
> #ifdef GL_GLEXT_PROTOTYPES
> GL_APICALL void GL_APIENTRY glFramebufferFetchBarrierQCOM (void);
> #endif
> #endif /* GL_QCOM_shader_framebuffer_fetch_noncoherent */
>
> +#ifndef GL_QCOM_texture_foveated
> +#define GL_QCOM_texture_foveated 1
> +#define GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM 0x8BFB
> +#define GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM 0x8BFC
> +#define GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM 0x8BFD
> +#define GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM 0x8BFE
> +#define GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM 0x8BFF
> +typedef void (GL_APIENTRYP PFNGLTEXTUREFOVEATIONPARAMETERSQCOMPROC) 
> (GLuint texture, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat 
> focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea);
> +#ifdef GL_GLEXT_PROTOTYPES
> +GL_APICALL void GL_APIENTRY glTextureFoveationParametersQCOM (GLuint 
> texture, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, 
> GLfloat gainX, GLfloat gainY, GLfloat foveaArea);
> +#endif
> +#endif /* GL_QCOM_texture_foveated */
> +
> #ifndef GL_QCOM_tiled_rendering
> #define GL_QCOM_tiled_rendering 1
> #define GL_COLOR_BUFFER_BIT0_QCOM         0x00000001
> #define GL_COLOR_BUFFER_BIT1_QCOM         0x00000002
> #define GL_COLOR_BUFFER_BIT2_QCOM         0x00000004
> #define GL_COLOR_BUFFER_BIT3_QCOM         0x00000008
> #define GL_COLOR_BUFFER_BIT4_QCOM         0x00000010
> #define GL_COLOR_BUFFER_BIT5_QCOM         0x00000020
> #define GL_COLOR_BUFFER_BIT6_QCOM         0x00000040
> #define GL_COLOR_BUFFER_BIT7_QCOM         0x00000080
> diff --git a/include/GLES3/gl3.h b/include/GLES3/gl3.h
> index 71e72b403ee..639df8c05ed 100644
> --- a/include/GLES3/gl3.h
> +++ b/include/GLES3/gl3.h
> @@ -1,19 +1,19 @@
> -#ifndef __gl3_h_
> -#define __gl3_h_ 1
> +#ifndef __gles2_gl3_h_
> +#define __gles2_gl3_h_ 1
>
> #ifdef __cplusplus
> extern "C" {
> #endif
>
> /*
> -** Copyright (c) 2013-2017 The Khronos Group Inc.
> +** Copyright (c) 2013-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
> @@ -37,21 +37,21 @@ extern "C" {
> #include <GLES3/gl3platform.h>
>
> #ifndef GL_APIENTRYP
> #define GL_APIENTRYP GL_APIENTRY*
> #endif
>
> #ifndef GL_GLES_PROTOTYPES
> #define GL_GLES_PROTOTYPES 1
> #endif
>
> -/* Generated on date 20170606 */
> +/* Generated on date 20180525 */
>
> /* Generated C header for:
>  * API: gles2
>  * Profile: common
>  * Versions considered: 2\.[0-9]|3\.0
>  * Versions emitted: .*
>  * Default extensions included: None
>  * Additional extensions included: _nomatch_^
>  * Extensions removed: _nomatch_^
>  */
> --
> 2.17.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev





More information about the mesa-dev mailing list