This also adds missing KHRONOS_APIENTRY qualifications to the debug callback type, which fixes potential crashes when running debug Win32 builds.v7.0.12
| @@ -1140,7 +1140,7 @@ | |||
| X (void , glDebugMessageEnableAMD, (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)) \ | |||
| X (void , glDebugMessageInsertAMD, (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf)) \ | |||
| X (void , glDebugMessageCallbackAMD, (GLDEBUGPROCAMD callback, void *userParam)) \ | |||
| X (GLuint , glGetDebugMessageLogAMD, (GLuint count, GLsizei bufSize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message)) | |||
| X (GLuint , glGetDebugMessageLogAMD, (GLuint count, GLsizei bufSize, GLenum *categories, GLenum *severities, GLuint *ids, GLsizei *lengths, GLchar *message)) | |||
| #define JUCE_GL_FUNCTIONS_GL_AMD_draw_buffers_blend \ | |||
| X (void , glBlendFuncIndexedAMD, (GLuint buf, GLenum src, GLenum dst)) \ | |||
| @@ -2189,6 +2189,10 @@ | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_framebuffer_blit \ | |||
| X (void , glBlitFramebufferEXT, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_framebuffer_blit_layers \ | |||
| X (void , glBlitFramebufferLayersEXT, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) \ | |||
| X (void , glBlitFramebufferLayerEXT, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint srcLayer, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLint dstLayer, GLbitfield mask, GLenum filter)) | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_framebuffer_multisample \ | |||
| X (void , glRenderbufferStorageMultisampleEXT, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) | |||
| @@ -2384,7 +2388,7 @@ | |||
| X (GLuint , glCreateShaderProgramEXT, (GLenum type, const GLchar *string)) \ | |||
| X (void , glActiveShaderProgramEXT, (GLuint pipeline, GLuint program)) \ | |||
| X (void , glBindProgramPipelineEXT, (GLuint pipeline)) \ | |||
| X (GLuint , glCreateShaderProgramvEXT, (GLenum type, GLsizei count, const GLchar **strings)) \ | |||
| X (GLuint , glCreateShaderProgramvEXT, (GLenum type, GLsizei count, const GLchar *const*strings)) \ | |||
| X (void , glDeleteProgramPipelinesEXT, (GLsizei n, const GLuint *pipelines)) \ | |||
| X (void , glGenProgramPipelinesEXT, (GLsizei n, GLuint *pipelines)) \ | |||
| X (void , glGetProgramPipelineInfoLogEXT, (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) \ | |||
| @@ -2439,6 +2443,11 @@ | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_texture_perturb_normal \ | |||
| X (void , glTextureNormalEXT, (GLenum mode)) | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_texture_storage \ | |||
| X (void , glTexStorage1DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)) \ | |||
| X (void , glTexStorage2DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)) \ | |||
| X (void , glTexStorage3DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)) | |||
| #define JUCE_GL_FUNCTIONS_GL_NV_timeline_semaphore \ | |||
| X (void , glCreateSemaphoresNV, (GLsizei n, GLuint *semaphores)) \ | |||
| X (void , glSemaphoreParameterivNV, (GLuint semaphore, GLenum pname, const GLint *params)) \ | |||
| @@ -2850,12 +2859,6 @@ | |||
| X (void , glMultiTexCoord3hvNV, (GLenum target, const GLhalfNV *v)) \ | |||
| X (void , glMultiTexCoord4hNV, (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q)) \ | |||
| X (void , glMultiTexCoord4hvNV, (GLenum target, const GLhalfNV *v)) \ | |||
| X (void , glFogCoordhNV, (GLhalfNV fog)) \ | |||
| X (void , glFogCoordhvNV, (const GLhalfNV *fog)) \ | |||
| X (void , glSecondaryColor3hNV, (GLhalfNV red, GLhalfNV green, GLhalfNV blue)) \ | |||
| X (void , glSecondaryColor3hvNV, (const GLhalfNV *v)) \ | |||
| X (void , glVertexWeighthNV, (GLhalfNV weight)) \ | |||
| X (void , glVertexWeighthvNV, (const GLhalfNV *weight)) \ | |||
| X (void , glVertexAttrib1hNV, (GLuint index, GLhalfNV x)) \ | |||
| X (void , glVertexAttrib1hvNV, (GLuint index, const GLhalfNV *v)) \ | |||
| X (void , glVertexAttrib2hNV, (GLuint index, GLhalfNV x, GLhalfNV y)) \ | |||
| @@ -2867,7 +2870,13 @@ | |||
| X (void , glVertexAttribs1hvNV, (GLuint index, GLsizei n, const GLhalfNV *v)) \ | |||
| X (void , glVertexAttribs2hvNV, (GLuint index, GLsizei n, const GLhalfNV *v)) \ | |||
| X (void , glVertexAttribs3hvNV, (GLuint index, GLsizei n, const GLhalfNV *v)) \ | |||
| X (void , glVertexAttribs4hvNV, (GLuint index, GLsizei n, const GLhalfNV *v)) | |||
| X (void , glVertexAttribs4hvNV, (GLuint index, GLsizei n, const GLhalfNV *v)) \ | |||
| X (void , glFogCoordhNV, (GLhalfNV fog)) \ | |||
| X (void , glFogCoordhvNV, (const GLhalfNV *fog)) \ | |||
| X (void , glSecondaryColor3hNV, (GLhalfNV red, GLhalfNV green, GLhalfNV blue)) \ | |||
| X (void , glSecondaryColor3hvNV, (const GLhalfNV *v)) \ | |||
| X (void , glVertexWeighthNV, (GLhalfNV weight)) \ | |||
| X (void , glVertexWeighthvNV, (const GLhalfNV *weight)) | |||
| #define JUCE_GL_FUNCTIONS_GL_NV_internalformat_sample_query \ | |||
| X (void , glGetInternalformatSampleivNV, (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params)) | |||
| @@ -3880,6 +3889,7 @@ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_external_buffer \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_fog_coord \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_framebuffer_blit \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_framebuffer_blit_layers \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_framebuffer_multisample \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_framebuffer_object \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_geometry_shader4 \ | |||
| @@ -3917,6 +3927,7 @@ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_texture_integer \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_texture_object \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_texture_perturb_normal \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_texture_storage \ | |||
| JUCE_GL_FUNCTIONS_GL_NV_timeline_semaphore \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_timer_query \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_transform_feedback \ | |||
| @@ -192,13 +192,13 @@ typedef khronos_uint64_t GLuint64EXT; | |||
| typedef struct __GLsync *GLsync; | |||
| struct _cl_context; | |||
| struct _cl_event; | |||
| typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void ( *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); | |||
| typedef void (KHRONOS_APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void (KHRONOS_APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void (KHRONOS_APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void (KHRONOS_APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); | |||
| typedef unsigned short GLhalfNV; | |||
| typedef GLintptr GLvdpauSurfaceNV; | |||
| typedef void ( *GLVULKANPROCNV)(void); | |||
| typedef void (KHRONOS_APIENTRY *GLVULKANPROCNV)(void); | |||
| JUCE_END_IGNORE_WARNINGS_GCC_LIKE | |||
| @@ -3260,7 +3260,7 @@ enum : GLenum | |||
| extern void (KHRONOS_APIENTRY* const& glDebugMessageEnableAMD) (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); | |||
| extern void (KHRONOS_APIENTRY* const& glDebugMessageInsertAMD) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf); | |||
| extern void (KHRONOS_APIENTRY* const& glDebugMessageCallbackAMD) (GLDEBUGPROCAMD callback, void *userParam); | |||
| extern GLuint (KHRONOS_APIENTRY* const& glGetDebugMessageLogAMD) (GLuint count, GLsizei bufSize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message); | |||
| extern GLuint (KHRONOS_APIENTRY* const& glGetDebugMessageLogAMD) (GLuint count, GLsizei bufSize, GLenum *categories, GLenum *severities, GLuint *ids, GLsizei *lengths, GLchar *message); | |||
| #endif | |||
| #ifndef GL_AMD_depth_clamp_separate | |||
| @@ -6589,6 +6589,12 @@ enum : GLenum | |||
| extern void (KHRONOS_APIENTRY* const& glBlitFramebufferEXT) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); | |||
| #endif | |||
| #ifndef GL_EXT_framebuffer_blit_layers | |||
| #define GL_EXT_framebuffer_blit_layers 1 | |||
| extern void (KHRONOS_APIENTRY* const& glBlitFramebufferLayersEXT) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); | |||
| extern void (KHRONOS_APIENTRY* const& glBlitFramebufferLayerEXT) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint srcLayer, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLint dstLayer, GLbitfield mask, GLenum filter); | |||
| #endif | |||
| #ifndef GL_EXT_framebuffer_multisample | |||
| #define GL_EXT_framebuffer_multisample 1 | |||
| enum : GLenum | |||
| @@ -7244,7 +7250,7 @@ extern void (KHRONOS_APIENTRY* const& glActiveProgramEXT) (GLuint progra | |||
| extern GLuint (KHRONOS_APIENTRY* const& glCreateShaderProgramEXT) (GLenum type, const GLchar *string); | |||
| extern void (KHRONOS_APIENTRY* const& glActiveShaderProgramEXT) (GLuint pipeline, GLuint program); | |||
| extern void (KHRONOS_APIENTRY* const& glBindProgramPipelineEXT) (GLuint pipeline); | |||
| extern GLuint (KHRONOS_APIENTRY* const& glCreateShaderProgramvEXT) (GLenum type, GLsizei count, const GLchar **strings); | |||
| extern GLuint (KHRONOS_APIENTRY* const& glCreateShaderProgramvEXT) (GLenum type, GLsizei count, const GLchar *const*strings); | |||
| extern void (KHRONOS_APIENTRY* const& glDeleteProgramPipelinesEXT) (GLsizei n, const GLuint *pipelines); | |||
| extern void (KHRONOS_APIENTRY* const& glGenProgramPipelinesEXT) (GLsizei n, GLuint *pipelines); | |||
| extern void (KHRONOS_APIENTRY* const& glGetProgramPipelineInfoLogEXT) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); | |||
| @@ -7349,6 +7355,10 @@ extern void (KHRONOS_APIENTRY* const& glMemoryBarrierEXT) (GLbitfield ba | |||
| #define GL_EXT_shader_integer_mix 1 | |||
| #endif | |||
| #ifndef GL_EXT_shader_samples_identical | |||
| #define GL_EXT_shader_samples_identical 1 | |||
| #endif | |||
| #ifndef GL_EXT_shadow_funcs | |||
| #define GL_EXT_shadow_funcs 1 | |||
| #endif | |||
| @@ -7765,6 +7775,10 @@ enum : GLenum | |||
| }; | |||
| #endif | |||
| #ifndef GL_EXT_texture_shadow_lod | |||
| #define GL_EXT_texture_shadow_lod 1 | |||
| #endif | |||
| #ifndef GL_EXT_texture_shared_exponent | |||
| #define GL_EXT_texture_shared_exponent 1 | |||
| enum : GLenum | |||
| @@ -7798,6 +7812,34 @@ enum : GLenum | |||
| }; | |||
| #endif | |||
| #ifndef GL_EXT_texture_storage | |||
| #define GL_EXT_texture_storage 1 | |||
| enum : GLenum | |||
| { | |||
| GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F, | |||
| GL_RGBA32F_EXT = 0x8814, | |||
| GL_RGB32F_EXT = 0x8815, | |||
| GL_ALPHA32F_EXT = 0x8816, | |||
| GL_LUMINANCE32F_EXT = 0x8818, | |||
| GL_LUMINANCE_ALPHA32F_EXT = 0x8819, | |||
| GL_RGBA16F_EXT = 0x881A, | |||
| GL_RGB16F_EXT = 0x881B, | |||
| GL_ALPHA16F_EXT = 0x881C, | |||
| GL_LUMINANCE16F_EXT = 0x881E, | |||
| GL_LUMINANCE_ALPHA16F_EXT = 0x881F, | |||
| GL_BGRA8_EXT = 0x93A1, | |||
| GL_R8_EXT = 0x8229, | |||
| GL_RG8_EXT = 0x822B, | |||
| GL_R32F_EXT = 0x822E, | |||
| GL_RG32F_EXT = 0x8230, | |||
| GL_R16F_EXT = 0x822D, | |||
| GL_RG16F_EXT = 0x822F, | |||
| }; | |||
| extern void (KHRONOS_APIENTRY* const& glTexStorage1DEXT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); | |||
| extern void (KHRONOS_APIENTRY* const& glTexStorage2DEXT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); | |||
| extern void (KHRONOS_APIENTRY* const& glTexStorage3DEXT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); | |||
| #endif | |||
| #ifndef GL_EXT_texture_swizzle | |||
| #define GL_EXT_texture_swizzle 1 | |||
| enum : GLenum | |||
| @@ -9379,12 +9421,6 @@ extern void (KHRONOS_APIENTRY* const& glMultiTexCoord3hNV) (GLenum targe | |||
| extern void (KHRONOS_APIENTRY* const& glMultiTexCoord3hvNV) (GLenum target, const GLhalfNV *v); | |||
| extern void (KHRONOS_APIENTRY* const& glMultiTexCoord4hNV) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q); | |||
| extern void (KHRONOS_APIENTRY* const& glMultiTexCoord4hvNV) (GLenum target, const GLhalfNV *v); | |||
| extern void (KHRONOS_APIENTRY* const& glFogCoordhNV) (GLhalfNV fog); | |||
| extern void (KHRONOS_APIENTRY* const& glFogCoordhvNV) (const GLhalfNV *fog); | |||
| extern void (KHRONOS_APIENTRY* const& glSecondaryColor3hNV) (GLhalfNV red, GLhalfNV green, GLhalfNV blue); | |||
| extern void (KHRONOS_APIENTRY* const& glSecondaryColor3hvNV) (const GLhalfNV *v); | |||
| extern void (KHRONOS_APIENTRY* const& glVertexWeighthNV) (GLhalfNV weight); | |||
| extern void (KHRONOS_APIENTRY* const& glVertexWeighthvNV) (const GLhalfNV *weight); | |||
| extern void (KHRONOS_APIENTRY* const& glVertexAttrib1hNV) (GLuint index, GLhalfNV x); | |||
| extern void (KHRONOS_APIENTRY* const& glVertexAttrib1hvNV) (GLuint index, const GLhalfNV *v); | |||
| extern void (KHRONOS_APIENTRY* const& glVertexAttrib2hNV) (GLuint index, GLhalfNV x, GLhalfNV y); | |||
| @@ -9397,6 +9433,12 @@ extern void (KHRONOS_APIENTRY* const& glVertexAttribs1hvNV) (GLuint inde | |||
| extern void (KHRONOS_APIENTRY* const& glVertexAttribs2hvNV) (GLuint index, GLsizei n, const GLhalfNV *v); | |||
| extern void (KHRONOS_APIENTRY* const& glVertexAttribs3hvNV) (GLuint index, GLsizei n, const GLhalfNV *v); | |||
| extern void (KHRONOS_APIENTRY* const& glVertexAttribs4hvNV) (GLuint index, GLsizei n, const GLhalfNV *v); | |||
| extern void (KHRONOS_APIENTRY* const& glFogCoordhNV) (GLhalfNV fog); | |||
| extern void (KHRONOS_APIENTRY* const& glFogCoordhvNV) (const GLhalfNV *fog); | |||
| extern void (KHRONOS_APIENTRY* const& glSecondaryColor3hNV) (GLhalfNV red, GLhalfNV green, GLhalfNV blue); | |||
| extern void (KHRONOS_APIENTRY* const& glSecondaryColor3hvNV) (const GLhalfNV *v); | |||
| extern void (KHRONOS_APIENTRY* const& glVertexWeighthNV) (GLhalfNV weight); | |||
| extern void (KHRONOS_APIENTRY* const& glVertexWeighthvNV) (const GLhalfNV *weight); | |||
| #endif | |||
| #ifndef GL_NV_internalformat_sample_query | |||
| @@ -10464,6 +10506,10 @@ extern void (KHRONOS_APIENTRY* const& glResumeTransformFeedbackNV) (); | |||
| extern void (KHRONOS_APIENTRY* const& glDrawTransformFeedbackNV) (GLenum mode, GLuint id); | |||
| #endif | |||
| #ifndef GL_NV_uniform_buffer_std430_layout | |||
| #define GL_NV_uniform_buffer_std430_layout 1 | |||
| #endif | |||
| #ifndef GL_NV_uniform_buffer_unified_memory | |||
| #define GL_NV_uniform_buffer_unified_memory 1 | |||
| enum : GLenum | |||
| @@ -11983,10 +12029,6 @@ enum : GLenum | |||
| }; | |||
| #endif | |||
| #ifndef GL_EXT_texture_shadow_lod | |||
| #define GL_EXT_texture_shadow_lod 1 | |||
| #endif | |||
| /** Load all available functions from the OpenGL core API. | |||
| @@ -460,6 +460,9 @@ | |||
| X (void , glGetInteger64vAPPLE, (GLenum pname, GLint64 *params)) \ | |||
| X (void , glGetSyncivAPPLE, (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values)) | |||
| #define JUCE_GL_FUNCTIONS_GL_ARM_shader_core_properties \ | |||
| X (void , glMaxActiveShaderCoresARM, (GLuint count)) | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_EGL_image_storage \ | |||
| X (void , glEGLImageTargetTexStorageEXT, (GLenum target, GLeglImageOES image, const GLint* attrib_list)) \ | |||
| X (void , glEGLImageTargetTextureStorageEXT, (GLuint texture, GLeglImageOES image, const GLint* attrib_list)) | |||
| @@ -548,6 +551,16 @@ | |||
| X (void , glBufferStorageExternalEXT, (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags)) \ | |||
| X (void , glNamedBufferStorageExternalEXT, (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags)) | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_fragment_shading_rate \ | |||
| X (void , glGetFragmentShadingRatesEXT, (GLsizei samples, GLsizei maxCount, GLsizei *count, GLenum *shadingRates)) \ | |||
| X (void , glShadingRateEXT, (GLenum rate)) \ | |||
| X (void , glShadingRateCombinerOpsEXT, (GLenum combinerOp0, GLenum combinerOp1)) \ | |||
| X (void , glFramebufferShadingRateEXT, (GLenum target, GLenum attachment, GLuint texture, GLint baseLayer, GLsizei numLayers, GLsizei texelWidth, GLsizei texelHeight)) | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_framebuffer_blit_layers \ | |||
| X (void , glBlitFramebufferLayersEXT, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) \ | |||
| X (void , glBlitFramebufferLayerEXT, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint srcLayer, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLint dstLayer, GLbitfield mask, GLenum filter)) | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_geometry_shader \ | |||
| X (void , glFramebufferTextureEXT, (GLenum target, GLenum attachment, GLuint texture, GLint level)) | |||
| @@ -640,7 +653,7 @@ | |||
| X (GLuint , glCreateShaderProgramEXT, (GLenum type, const GLchar *string)) \ | |||
| X (void , glActiveShaderProgramEXT, (GLuint pipeline, GLuint program)) \ | |||
| X (void , glBindProgramPipelineEXT, (GLuint pipeline)) \ | |||
| X (GLuint , glCreateShaderProgramvEXT, (GLenum type, GLsizei count, const GLchar **strings)) \ | |||
| X (GLuint , glCreateShaderProgramvEXT, (GLenum type, GLsizei count, const GLchar *const*strings)) \ | |||
| X (void , glDeleteProgramPipelinesEXT, (GLsizei n, const GLuint *pipelines)) \ | |||
| X (void , glGenProgramPipelinesEXT, (GLsizei n, GLuint *pipelines)) \ | |||
| X (void , glGetProgramPipelineInfoLogEXT, (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) \ | |||
| @@ -719,6 +732,10 @@ | |||
| X (void , glTextureStorage2DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)) \ | |||
| X (void , glTextureStorage3DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)) | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_texture_storage_compression \ | |||
| X (void , glTexStorageAttribs2DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, const GLint* attrib_list)) \ | |||
| X (void , glTexStorageAttribs3DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, const GLint* attrib_list)) | |||
| #define JUCE_GL_FUNCTIONS_GL_EXT_texture_view \ | |||
| X (void , glTextureViewEXT, (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers)) | |||
| @@ -1265,6 +1282,7 @@ | |||
| JUCE_GL_FUNCTIONS_GL_APPLE_copy_texture_levels \ | |||
| JUCE_GL_FUNCTIONS_GL_APPLE_framebuffer_multisample \ | |||
| JUCE_GL_FUNCTIONS_GL_APPLE_sync \ | |||
| JUCE_GL_FUNCTIONS_GL_ARM_shader_core_properties \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_EGL_image_storage \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_base_instance \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_blend_func_extended \ | |||
| @@ -1283,6 +1301,8 @@ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_draw_instanced \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_draw_transform_feedback \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_external_buffer \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_fragment_shading_rate \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_framebuffer_blit_layers \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_geometry_shader \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_instanced_arrays \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_map_buffer_range \ | |||
| @@ -1308,6 +1328,7 @@ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_texture_border_clamp \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_texture_buffer \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_texture_storage \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_texture_storage_compression \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_texture_view \ | |||
| JUCE_GL_FUNCTIONS_GL_NV_timeline_semaphore \ | |||
| JUCE_GL_FUNCTIONS_GL_EXT_win32_keyed_mutex \ | |||
| @@ -85,13 +85,13 @@ typedef khronos_uint64_t GLuint64EXT; | |||
| typedef struct __GLsync *GLsync; | |||
| struct _cl_context; | |||
| struct _cl_event; | |||
| typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void ( *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); | |||
| typedef void (KHRONOS_APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void (KHRONOS_APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void (KHRONOS_APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); | |||
| typedef void (KHRONOS_APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); | |||
| typedef unsigned short GLhalfNV; | |||
| typedef GLintptr GLvdpauSurfaceNV; | |||
| typedef void ( *GLVULKANPROCNV)(void); | |||
| typedef void (KHRONOS_APIENTRY *GLVULKANPROCNV)(void); | |||
| JUCE_END_IGNORE_WARNINGS_GCC_LIKE | |||
| @@ -1790,6 +1790,21 @@ enum : GLenum | |||
| #define GL_ARM_rgba8 1 | |||
| #endif | |||
| #ifndef GL_ARM_shader_core_properties | |||
| #define GL_ARM_shader_core_properties 1 | |||
| enum : GLenum | |||
| { | |||
| GL_SHADER_CORE_COUNT_ARM = 0x96F0, | |||
| GL_SHADER_CORE_ACTIVE_COUNT_ARM = 0x96F1, | |||
| GL_SHADER_CORE_PRESENT_MASK_ARM = 0x96F2, | |||
| GL_SHADER_CORE_MAX_WARP_COUNT_ARM = 0x96F3, | |||
| GL_SHADER_CORE_PIXEL_RATE_ARM = 0x96F4, | |||
| GL_SHADER_CORE_TEXEL_RATE_ARM = 0x96F5, | |||
| GL_SHADER_CORE_FMA_RATE_ARM = 0x96F6, | |||
| }; | |||
| extern void (KHRONOS_APIENTRY* const& glMaxActiveShaderCoresARM) (GLuint count); | |||
| #endif | |||
| #ifndef GL_ARM_shader_framebuffer_fetch | |||
| #define GL_ARM_shader_framebuffer_fetch 1 | |||
| enum : GLenum | |||
| @@ -1839,6 +1854,16 @@ extern void (KHRONOS_APIENTRY* const& glEGLImageTargetTexStorageEXT) (GL | |||
| extern void (KHRONOS_APIENTRY* const& glEGLImageTargetTextureStorageEXT) (GLuint texture, GLeglImageOES image, const GLint* attrib_list); | |||
| #endif | |||
| #ifndef GL_EXT_EGL_image_storage_compression | |||
| #define GL_EXT_EGL_image_storage_compression 1 | |||
| enum : GLenum | |||
| { | |||
| GL_SURFACE_COMPRESSION_EXT = 0x96C0, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT = 0x96C1, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x96C2, | |||
| }; | |||
| #endif | |||
| #ifndef GL_EXT_YUV_target | |||
| #define GL_EXT_YUV_target 1 | |||
| enum : GLenum | |||
| @@ -2117,6 +2142,49 @@ extern void (KHRONOS_APIENTRY* const& glNamedBufferStorageExternalEXT) ( | |||
| #define GL_EXT_float_blend 1 | |||
| #endif | |||
| #ifndef GL_EXT_fragment_shading_rate | |||
| #define GL_EXT_fragment_shading_rate 1 | |||
| enum : GLenum | |||
| { | |||
| GL_SHADING_RATE_1X1_PIXELS_EXT = 0x96A6, | |||
| GL_SHADING_RATE_1X2_PIXELS_EXT = 0x96A7, | |||
| GL_SHADING_RATE_2X1_PIXELS_EXT = 0x96A8, | |||
| GL_SHADING_RATE_2X2_PIXELS_EXT = 0x96A9, | |||
| GL_SHADING_RATE_1X4_PIXELS_EXT = 0x96AA, | |||
| GL_SHADING_RATE_4X1_PIXELS_EXT = 0x96AB, | |||
| GL_SHADING_RATE_4X2_PIXELS_EXT = 0x96AC, | |||
| GL_SHADING_RATE_2X4_PIXELS_EXT = 0x96AD, | |||
| GL_SHADING_RATE_4X4_PIXELS_EXT = 0x96AE, | |||
| GL_SHADING_RATE_EXT = 0x96D0, | |||
| GL_SHADING_RATE_ATTACHMENT_EXT = 0x96D1, | |||
| GL_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_EXT = 0x96D2, | |||
| GL_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_EXT = 0x96D3, | |||
| GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_EXT = 0x96D4, | |||
| GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_EXT = 0x96D5, | |||
| GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_EXT = 0x96D6, | |||
| GL_MIN_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_WIDTH_EXT = 0x96D7, | |||
| GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_WIDTH_EXT = 0x96D8, | |||
| GL_MIN_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_HEIGHT_EXT = 0x96D9, | |||
| GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_HEIGHT_EXT = 0x96DA, | |||
| GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_ASPECT_RATIO_EXT = 0x96DB, | |||
| GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_LAYERS_EXT = 0x96DC, | |||
| GL_FRAGMENT_SHADING_RATE_WITH_SHADER_DEPTH_STENCIL_WRITES_SUPPORTED_EXT = 0x96DD, | |||
| GL_FRAGMENT_SHADING_RATE_WITH_SAMPLE_MASK_SUPPORTED_EXT = 0x96DE, | |||
| GL_FRAGMENT_SHADING_RATE_ATTACHMENT_WITH_DEFAULT_FRAMEBUFFER_SUPPORTED_EXT = 0x96DF, | |||
| GL_FRAGMENT_SHADING_RATE_NON_TRIVIAL_COMBINERS_SUPPORTED_EXT = 0x8F6F, | |||
| }; | |||
| extern void (KHRONOS_APIENTRY* const& glGetFragmentShadingRatesEXT) (GLsizei samples, GLsizei maxCount, GLsizei *count, GLenum *shadingRates); | |||
| extern void (KHRONOS_APIENTRY* const& glShadingRateEXT) (GLenum rate); | |||
| extern void (KHRONOS_APIENTRY* const& glShadingRateCombinerOpsEXT) (GLenum combinerOp0, GLenum combinerOp1); | |||
| extern void (KHRONOS_APIENTRY* const& glFramebufferShadingRateEXT) (GLenum target, GLenum attachment, GLuint texture, GLint baseLayer, GLsizei numLayers, GLsizei texelWidth, GLsizei texelHeight); | |||
| #endif | |||
| #ifndef GL_EXT_framebuffer_blit_layers | |||
| #define GL_EXT_framebuffer_blit_layers 1 | |||
| extern void (KHRONOS_APIENTRY* const& glBlitFramebufferLayersEXT) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); | |||
| extern void (KHRONOS_APIENTRY* const& glBlitFramebufferLayerEXT) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint srcLayer, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLint dstLayer, GLbitfield mask, GLenum filter); | |||
| #endif | |||
| #ifndef GL_EXT_geometry_point_size | |||
| #define GL_EXT_geometry_point_size 1 | |||
| #endif | |||
| @@ -2481,6 +2549,10 @@ enum : GLenum | |||
| }; | |||
| #endif | |||
| #ifndef GL_EXT_separate_depth_stencil | |||
| #define GL_EXT_separate_depth_stencil 1 | |||
| #endif | |||
| #ifndef GL_EXT_separate_shader_objects | |||
| #define GL_EXT_separate_shader_objects 1 | |||
| enum : GLenum | |||
| @@ -2497,7 +2569,7 @@ extern void (KHRONOS_APIENTRY* const& glActiveProgramEXT) (GLuint progra | |||
| extern GLuint (KHRONOS_APIENTRY* const& glCreateShaderProgramEXT) (GLenum type, const GLchar *string); | |||
| extern void (KHRONOS_APIENTRY* const& glActiveShaderProgramEXT) (GLuint pipeline, GLuint program); | |||
| extern void (KHRONOS_APIENTRY* const& glBindProgramPipelineEXT) (GLuint pipeline); | |||
| extern GLuint (KHRONOS_APIENTRY* const& glCreateShaderProgramvEXT) (GLenum type, GLsizei count, const GLchar **strings); | |||
| extern GLuint (KHRONOS_APIENTRY* const& glCreateShaderProgramvEXT) (GLenum type, GLsizei count, const GLchar *const*strings); | |||
| extern void (KHRONOS_APIENTRY* const& glDeleteProgramPipelinesEXT) (GLsizei n, const GLuint *pipelines); | |||
| extern void (KHRONOS_APIENTRY* const& glGenProgramPipelinesEXT) (GLsizei n, GLuint *pipelines); | |||
| extern void (KHRONOS_APIENTRY* const& glGetProgramPipelineInfoLogEXT) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); | |||
| @@ -2597,6 +2669,10 @@ extern GLsizei (KHRONOS_APIENTRY* const& glGetFramebufferPixelLocalStorageS | |||
| extern void (KHRONOS_APIENTRY* const& glClearPixelLocalStorageuiEXT) (GLsizei offset, GLsizei n, const GLuint *values); | |||
| #endif | |||
| #ifndef GL_EXT_shader_samples_identical | |||
| #define GL_EXT_shader_samples_identical 1 | |||
| #endif | |||
| #ifndef GL_EXT_shader_texture_lod | |||
| #define GL_EXT_shader_texture_lod 1 | |||
| #endif | |||
| @@ -2896,6 +2972,10 @@ enum : GLenum | |||
| }; | |||
| #endif | |||
| #ifndef GL_EXT_texture_shadow_lod | |||
| #define GL_EXT_texture_shadow_lod 1 | |||
| #endif | |||
| #ifndef GL_EXT_texture_storage | |||
| #define GL_EXT_texture_storage 1 | |||
| enum : GLenum | |||
| @@ -2925,6 +3005,28 @@ extern void (KHRONOS_APIENTRY* const& glTextureStorage2DEXT) (GLuint tex | |||
| extern void (KHRONOS_APIENTRY* const& glTextureStorage3DEXT) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); | |||
| #endif | |||
| #ifndef GL_EXT_texture_storage_compression | |||
| #define GL_EXT_texture_storage_compression 1 | |||
| enum : GLenum | |||
| { | |||
| GL_NUM_SURFACE_COMPRESSION_FIXED_RATES_EXT = 0x8F6E, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT = 0x96C4, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT = 0x96C5, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT = 0x96C6, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT = 0x96C7, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT = 0x96C8, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT = 0x96C9, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT = 0x96CA, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT = 0x96CB, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT = 0x96CC, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT = 0x96CD, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT = 0x96CE, | |||
| GL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT = 0x96CF, | |||
| }; | |||
| extern void (KHRONOS_APIENTRY* const& glTexStorageAttribs2DEXT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, const GLint* attrib_list); | |||
| extern void (KHRONOS_APIENTRY* const& glTexStorageAttribs3DEXT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, const GLint* attrib_list); | |||
| #endif | |||
| #ifndef GL_EXT_texture_type_2_10_10_10_REV | |||
| #define GL_EXT_texture_type_2_10_10_10_REV 1 | |||
| enum : GLenum | |||
| @@ -3395,6 +3497,10 @@ enum : GLenum | |||
| }; | |||
| #endif | |||
| #ifndef GL_MESA_sampler_objects | |||
| #define GL_MESA_sampler_objects 1 | |||
| #endif | |||
| #ifndef GL_MESA_shader_integer_functions | |||
| #define GL_MESA_shader_integer_functions 1 | |||
| #endif | |||
| @@ -4470,6 +4576,16 @@ enum : GLenum | |||
| extern void (KHRONOS_APIENTRY* const& glViewportSwizzleNV) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew); | |||
| #endif | |||
| #ifndef GL_NV_pack_subimage | |||
| #define GL_NV_pack_subimage 1 | |||
| enum : GLenum | |||
| { | |||
| GL_PACK_ROW_LENGTH_NV = 0x0D02, | |||
| GL_PACK_SKIP_ROWS_NV = 0x0D03, | |||
| GL_PACK_SKIP_PIXELS_NV = 0x0D04, | |||
| }; | |||
| #endif | |||
| #ifndef GL_OES_EGL_image | |||
| #define GL_OES_EGL_image 1 | |||
| extern void (KHRONOS_APIENTRY* const& glEGLImageTargetTexture2DOES) (GLenum target, GLeglImageOES image); | |||
| @@ -5117,6 +5233,10 @@ extern void (KHRONOS_APIENTRY* const& glExtrapolateTex2DQCOM) (GLuint sr | |||
| #define GL_QCOM_render_shared_exponent 1 | |||
| #endif | |||
| #ifndef GL_QCOM_render_sRGB_R8_RG8 | |||
| #define GL_QCOM_render_sRGB_R8_RG8 1 | |||
| #endif | |||
| #ifndef GL_QCOM_texture_foveated | |||
| #define GL_QCOM_texture_foveated 1 | |||
| enum : GLenum | |||
| @@ -5147,6 +5267,14 @@ enum : GLenum | |||
| }; | |||
| #endif | |||
| #ifndef GL_QCOM_texture_lod_bias | |||
| #define GL_QCOM_texture_lod_bias 1 | |||
| enum : GLenum | |||
| { | |||
| GL_TEXTURE_LOD_BIAS_QCOM = 0x8C96, | |||
| }; | |||
| #endif | |||
| #ifndef GL_QCOM_perfmon_global_mode | |||
| #define GL_QCOM_perfmon_global_mode 1 | |||
| enum : GLenum | |||
| @@ -5245,10 +5373,6 @@ enum : GLenum | |||
| }; | |||
| #endif | |||
| #ifndef GL_EXT_texture_shadow_lod | |||
| #define GL_EXT_texture_shadow_lod 1 | |||
| #endif | |||
| /** Load all available functions from the OpenGL core API. | |||
| @@ -153,6 +153,20 @@ typedef int64_t khronos_int64_t; | |||
| typedef uint64_t khronos_uint64_t; | |||
| #define KHRONOS_SUPPORT_INT64 1 | |||
| #define KHRONOS_SUPPORT_FLOAT 1 | |||
| /* | |||
| * To support platform where unsigned long cannot be used interchangeably with | |||
| * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t. | |||
| * Ideally, we could just use (u)intptr_t everywhere, but this could result in | |||
| * ABI breakage if khronos_uintptr_t is changed from unsigned long to | |||
| * unsigned long long or similar (this results in different C++ name mangling). | |||
| * To avoid changes for existing platforms, we restrict usage of intptr_t to | |||
| * platforms where the size of a pointer is larger than the size of long. | |||
| */ | |||
| #if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__) | |||
| #if __SIZEOF_POINTER__ > __SIZEOF_LONG__ | |||
| #define KHRONOS_USE_INTPTR_T | |||
| #endif | |||
| #endif | |||
| #elif defined(__VMS ) || defined(__sgi) | |||
| @@ -235,14 +249,21 @@ typedef unsigned short int khronos_uint16_t; | |||
| * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears | |||
| * to be the only LLP64 architecture in current use. | |||
| */ | |||
| #ifdef _WIN64 | |||
| #ifdef KHRONOS_USE_INTPTR_T | |||
| typedef intptr_t khronos_intptr_t; | |||
| typedef uintptr_t khronos_uintptr_t; | |||
| #elif defined(_WIN64) | |||
| typedef signed long long int khronos_intptr_t; | |||
| typedef unsigned long long int khronos_uintptr_t; | |||
| typedef signed long long int khronos_ssize_t; | |||
| typedef unsigned long long int khronos_usize_t; | |||
| #else | |||
| typedef signed long int khronos_intptr_t; | |||
| typedef unsigned long int khronos_uintptr_t; | |||
| #endif | |||
| #if defined(_WIN64) | |||
| typedef signed long long int khronos_ssize_t; | |||
| typedef unsigned long long int khronos_usize_t; | |||
| #else | |||
| typedef signed long int khronos_ssize_t; | |||
| typedef unsigned long int khronos_usize_t; | |||
| #endif | |||