mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
OpenGL: Update compatibility headers
This also adds missing KHRONOS_APIENTRY qualifications to the debug callback type, which fixes potential crashes when running debug Win32 builds.
This commit is contained in:
parent
878aad687e
commit
76b9b28658
5 changed files with 259 additions and 40 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue