Browse Source

external: updated OpenGL headers for 4.6, related modifications.

pull/231/head
Vladimír Vondruš 8 years ago
parent
commit
2f729f6965
  1. 9
      doc/opengl-mapping.dox
  2. 6
      src/Magnum/Context.h
  3. 8
      src/Magnum/PrimitiveQuery.h
  4. 10
      src/MagnumExternal/OpenGL/GL/extensions.txt
  5. 13
      src/MagnumExternal/OpenGL/GL/flextGL.cpp
  6. 127
      src/MagnumExternal/OpenGL/GL/flextGL.h
  7. 13
      src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp

9
doc/opengl-mapping.dox

@ -294,7 +294,7 @@ OpenGL function | Matching API
@fn_gl{MemoryBarrier}, \n `glMemoryBarrierByRegion()` | @ref Renderer::setMemoryBarrier(), \n @ref Renderer::setMemoryBarrierByRegion()
@fn_gl{MinSampleShading} | |
@fn_gl{MultiDrawArrays}, \n @fn_gl{MultiDrawElements}, \n @fn_gl{MultiDrawElementsBaseVertex} | @ref MeshView::draw(AbstractShaderProgram&, std::initializer_list<std::reference_wrapper<MeshView>>)
@fn_gl_extension{MultiDrawArraysIndirectCount,ARB,indirect_parameters}, \n @fn_gl_extension{MultiDrawElementsIndirectCount,ARB,indirect_parameters} | |
@fn_gl{MultiDrawArraysIndirectCount}, \n @fn_gl{MultiDrawElementsIndirectCount} | |
@subsection opengl-mapping-functions-o O
@ -317,7 +317,8 @@ OpenGL function | Matching API
@fn_gl{PointSize} | @ref Renderer::setPointSize()
@fn_gl{PolygonMode} | @ref Renderer::setPolygonMode()
@fn_gl{PolygonOffset} | @ref Renderer::setPolygonOffset()
@fn_gl_extension{PrimitiveBoundingBox,EXT,primitive_bounding_box} | |
@fn_gl{PolygonOffsetClamp} | |
@fn_gl_extension{PrimitiveBoundingBox,EXT,primitive_bounding_box}, \n @fn_gl_extension{PrimitiveBoundingBox,ARB,primitive_bounding_box} | |
@fn_gl{PrimitiveRestartIndex} | |
@fn_gl{ProgramBinary} | |
@fn_gl{ProgramParameter} | @ref AbstractShaderProgram::setRetrievableBinary(), \n @ref AbstractShaderProgram::setSeparable()
@ -360,6 +361,7 @@ OpenGL function | Matching API
@fn_gl{ShaderBinary} | |
@fn_gl{ShaderSource} | @ref Shader::addFile(), \n @ref Shader::addSource()
@fn_gl{ShaderStorageBlockBinding} | |
@fn_gl{SpecializeShader} | |
@fn_gl{StencilFunc}, \n @fn_gl{StencilFuncSeparate} | @ref Renderer::setStencilFunction()
@fn_gl{StencilMask}, \n @fn_gl{StencilMaskSeparate} | @ref Renderer::setStencilMask()
@fn_gl{StencilOp}, \n @fn_gl{StencilOpSeparate} | @ref Renderer::setStencilOperation()
@ -513,8 +515,8 @@ glGet() parameter | Matching API
@def_gl{MAX_TESS_GEN_LEVEL} | |
@def_gl{MAX_TESS_PATCH_COMPONENTS} | |
@def_gl{MAX_TEXTURE_BUFFER_SIZE} | @ref BufferTexture::maxSize()
@def_gl_extension{MAX_TEXTURE_MAX_ANISOTROPY,EXT,texture_filter_anisotropic} | @ref Sampler::maxMaxAnisotropy()
@def_gl{MAX_TEXTURE_LOD_BIAS} | @ref AbstractTexture::maxLodBias()
@def_gl{MAX_TEXTURE_MAX_ANISOTROPY} | @ref Sampler::maxMaxAnisotropy()
@def_gl{MAX_TRANSFORM_FEEDBACK_BUFFERS} | @ref TransformFeedback::maxBuffers()
@def_gl{MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS} | @ref TransformFeedback::maxInterleavedComponents()
@def_gl{MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS} | @ref TransformFeedback::maxSeparateAttributes()
@ -537,6 +539,7 @@ glGet() parameter | Matching API
@def_gl{NUM_EXTENSIONS} | @ref Context::supportedExtensions()
@def_gl{NUM_PROGRAM_BINARY_FORMATS}, \n @def_gl{PROGRAM_BINARY_FORMATS} | |
@def_gl{NUM_SHADER_BINARY_FORMATS}, \n @def_gl{SHADER_BINARY_FORMATS} | |
@def_gl{NUM_SPIR_V_EXTENSIONS} | |
@def_gl{PACK_ALIGNMENT}, \n @def_gl{PACK_IMAGE_HEIGHT}, \n @def_gl{PACK_ROW_LENGTH}, \n @def_gl{PACK_SKIP_IMAGES}, \n @def_gl{PACK_SKIP_PIXELS}, \n @def_gl{PACK_SKIP_ROWS}, \n @def_gl{PACK_SWAP_BYTES}, \n @def_gl{UNPACK_ALIGNMENT}, \n @def_gl{UNPACK_IMAGE_HEIGHT}, \n @def_gl{UNPACK_ROW_LENGTH}, \n @def_gl{UNPACK_SKIP_IMAGES}, \n @def_gl{UNPACK_SKIP_PIXELS}, \n @def_gl{UNPACK_SKIP_ROWS}, \n @def_gl{UNPACK_SWAP_BYTES} | not queryable, @ref PixelStorage setters only
@def_gl{POINT_FADE_THRESHOLD_SIZE} | |
@def_gl{POINT_SIZE_GRANULARITY}, \n @def_gl{POINT_SIZE_RANGE} | |

6
src/Magnum/Context.h

@ -149,10 +149,14 @@ class MAGNUM_EXPORT Context {
/**
* Context without error reporting
* @requires_extension Extension @extension{KHR,no_error}
* @requires_gl46 Extension @extension{KHR,no_error}
* @requires_es_extension Extension @extension2{KHR,no_error,no_error}
*/
#ifndef MAGNUM_TARGET_GLES
NoError = GL_CONTEXT_FLAG_NO_ERROR_BIT,
#else
NoError = GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR,
#endif
#ifndef MAGNUM_TARGET_GLES2
/**

8
src/Magnum/PrimitiveQuery.h

@ -104,22 +104,22 @@ class MAGNUM_EXPORT PrimitiveQuery: public AbstractQuery {
* Transform feedback overflow. When used with @ref begin(UnsignedInt),
* the index must be `0`. Use @ref result<bool>() to retrieve the
* result.
* @requires_extension Extension @extension{ARB,transform_feedback_overflow_query}
* @requires_gl46 Extension @extension{ARB,transform_feedback_overflow_query}
* @requires_gl Transform feedback overflow query is not available
* in OpenGL ES or WebGL.
*/
TransformFeedbackOverflow = GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB,
TransformFeedbackOverflow = GL_TRANSFORM_FEEDBACK_OVERFLOW,
/**
* Transform feedback stream overflow. When used with
* @ref begin(UnsignedInt), the index must be lower than
* @ref TransformFeedback::maxVertexStreams(). Use @ref result<bool>()
* to retrieve the result.
* @requires_extension Extension @extension{ARB,transform_feedback_overflow_query}
* @requires_gl46 Extension @extension{ARB,transform_feedback_overflow_query}
* @requires_gl Transform feedback overflow query is not available
* in OpenGL ES or WebGL.
*/
TransformFeedbackStreamOverflow = GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB
TransformFeedbackStreamOverflow = GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW
#endif
};

10
src/MagnumExternal/OpenGL/GL/extensions.txt vendored

@ -1,8 +1,9 @@
# The following output is taken from `magnum-info` with removed `GL_` prefixes.
# Only vendor extensions are needed, everything else is pulled in with GL 4.5.
version 4.5 core
version 4.6 core
extension AMD_transform_feedback3_lines_triangles optional
extension AMD_vertex_shader_layer optional
extension AMD_shader_trinary_minmax optional
extension ARB_robustness optional
@ -11,14 +12,10 @@ extension ARB_robustness_application_isolation optional
extension ARB_robustness_share_group_isolation optional
extension ARB_bindless_texture optional
extension ARB_compute_variable_group_size optional
extension ARB_indirect_parameters optional
extension ARB_seamless_cubemap_per_texture optional
extension ARB_shader_draw_parameters optional
extension ARB_shader_group_vote optional
extension ARB_sparse_texture optional
extension ARB_pipeline_statistics_query optional
extension ARB_sparse_buffer optional
extension ARB_transform_feedback_overflow_query optional
extension ARB_ES3_2_compatibility optional
extension ATI_texture_mirror_once optional
extension EXT_texture_filter_anisotropic optional
extension EXT_texture_compression_s3tc optional
@ -33,4 +30,3 @@ extension KHR_texture_compression_astc_ldr optional
extension KHR_texture_compression_astc_hdr optional
extension KHR_blend_equation_advanced optional
extension KHR_blend_equation_advanced_coherent optional
extension KHR_no_error optional

13
src/MagnumExternal/OpenGL/GL/flextGL.cpp vendored

@ -4,6 +4,9 @@
extern "C" {
#endif
/* GL_ARB_ES3_2_compatibility */
FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBoxARB)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr;
/* GL_ARB_bindless_texture */
FLEXTGL_EXPORT GLuint64(APIENTRY *flextglGetImageHandleARB)(GLuint, GLint, GLboolean, GLint, GLenum) = nullptr;
FLEXTGL_EXPORT GLuint64(APIENTRY *flextglGetTextureHandleARB)(GLuint) = nullptr;
@ -25,10 +28,6 @@ FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1ui64vARB)(GLuint, const GLuin
/* GL_ARB_compute_variable_group_size */
FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeGroupSizeARB)(GLuint, GLuint, GLuint, GLuint, GLuint, GLuint) = nullptr;
/* GL_ARB_indirect_parameters */
FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysIndirectCountARB)(GLenum, GLintptr, GLintptr, GLsizei, GLsizei) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsIndirectCountARB)(GLenum, GLenum, GLintptr, GLintptr, GLsizei, GLsizei) = nullptr;
/* GL_ARB_robustness */
FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusARB)(void) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetnCompressedTexImageARB)(GLenum, GLint, GLsizei, void *) = nullptr;
@ -943,6 +942,12 @@ FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayElementBuffer)(GLuint, GLuint) =
FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexBuffer)(GLuint, GLuint, GLuint, GLintptr, GLsizei) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexBuffers)(GLuint, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *) = nullptr;
/* GL_VERSION_4_6 */
FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysIndirectCount)(GLenum, const void *, GLintptr, GLsizei, GLsizei) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsIndirectCount)(GLenum, GLenum, const void *, GLintptr, GLsizei, GLsizei) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClamp)(GLfloat, GLfloat, GLfloat) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglSpecializeShader)(GLuint, const GLchar *, GLuint, const GLuint *, const GLuint *) = nullptr;
#ifdef __cplusplus
}
#endif

127
src/MagnumExternal/OpenGL/GL/flextGL.h vendored

@ -135,7 +135,7 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
/* Enums */
/* GL_VERSION_1_1 */
/* GL_VERSION_1_0 */
#define GL_DEPTH_BUFFER_BIT 0x00000100
#define GL_STENCIL_BUFFER_BIT 0x00000400
@ -217,7 +217,6 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_BLEND_SRC 0x0BE1
#define GL_BLEND 0x0BE2
#define GL_LOGIC_OP_MODE 0x0BF0
#define GL_COLOR_LOGIC_OP 0x0BF2
#define GL_DRAW_BUFFER 0x0C01
#define GL_READ_BUFFER 0x0C02
#define GL_SCISSOR_BOX 0x0C10
@ -245,21 +244,9 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_SUBPIXEL_BITS 0x0D50
#define GL_TEXTURE_1D 0x0DE0
#define GL_TEXTURE_2D 0x0DE1
#define GL_POLYGON_OFFSET_UNITS 0x2A00
#define GL_POLYGON_OFFSET_POINT 0x2A01
#define GL_POLYGON_OFFSET_LINE 0x2A02
#define GL_POLYGON_OFFSET_FILL 0x8037
#define GL_POLYGON_OFFSET_FACTOR 0x8038
#define GL_TEXTURE_BINDING_1D 0x8068
#define GL_TEXTURE_BINDING_2D 0x8069
#define GL_TEXTURE_WIDTH 0x1000
#define GL_TEXTURE_HEIGHT 0x1001
#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
#define GL_TEXTURE_BORDER_COLOR 0x1004
#define GL_TEXTURE_RED_SIZE 0x805C
#define GL_TEXTURE_GREEN_SIZE 0x805D
#define GL_TEXTURE_BLUE_SIZE 0x805E
#define GL_TEXTURE_ALPHA_SIZE 0x805F
#define GL_DONT_CARE 0x1100
#define GL_FASTEST 0x1101
#define GL_NICEST 0x1102
@ -270,7 +257,6 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_INT 0x1404
#define GL_UNSIGNED_INT 0x1405
#define GL_FLOAT 0x1406
#define GL_DOUBLE 0x140A
#define GL_CLEAR 0x1500
#define GL_AND 0x1501
#define GL_AND_REVERSE 0x1502
@ -320,9 +306,26 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_TEXTURE_MIN_FILTER 0x2801
#define GL_TEXTURE_WRAP_S 0x2802
#define GL_TEXTURE_WRAP_T 0x2803
#define GL_REPEAT 0x2901
/* GL_VERSION_1_1 */
#define GL_COLOR_LOGIC_OP 0x0BF2
#define GL_POLYGON_OFFSET_UNITS 0x2A00
#define GL_POLYGON_OFFSET_POINT 0x2A01
#define GL_POLYGON_OFFSET_LINE 0x2A02
#define GL_POLYGON_OFFSET_FILL 0x8037
#define GL_POLYGON_OFFSET_FACTOR 0x8038
#define GL_TEXTURE_BINDING_1D 0x8068
#define GL_TEXTURE_BINDING_2D 0x8069
#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
#define GL_TEXTURE_RED_SIZE 0x805C
#define GL_TEXTURE_GREEN_SIZE 0x805D
#define GL_TEXTURE_BLUE_SIZE 0x805E
#define GL_TEXTURE_ALPHA_SIZE 0x805F
#define GL_DOUBLE 0x140A
#define GL_PROXY_TEXTURE_1D 0x8063
#define GL_PROXY_TEXTURE_2D 0x8064
#define GL_REPEAT 0x2901
#define GL_R3_G3_B2 0x2A10
#define GL_RGB4 0x804F
#define GL_RGB5 0x8050
@ -457,15 +460,17 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_TEXTURE_DEPTH_SIZE 0x884A
#define GL_TEXTURE_COMPARE_MODE 0x884C
#define GL_TEXTURE_COMPARE_FUNC 0x884D
#define GL_FUNC_ADD 0x8006
#define GL_FUNC_SUBTRACT 0x800A
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
#define GL_MIN 0x8007
#define GL_MAX 0x8008
#define GL_BLEND_COLOR 0x8005
#define GL_BLEND_EQUATION 0x8009
#define GL_CONSTANT_COLOR 0x8001
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
#define GL_CONSTANT_ALPHA 0x8003
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
#define GL_FUNC_ADD 0x8006
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
#define GL_FUNC_SUBTRACT 0x800A
#define GL_MIN 0x8007
#define GL_MAX 0x8008
/* GL_VERSION_1_5 */
@ -1553,6 +1558,35 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_NONE 0
#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC
/* GL_VERSION_4_6 */
#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB
#define GL_NONE 0
#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC
#define GL_SHADER_BINARY_FORMAT_SPIR_V 0x9551
#define GL_SPIR_V_BINARY 0x9552
#define GL_PARAMETER_BUFFER 0x80EE
#define GL_PARAMETER_BUFFER_BINDING 0x80EF
#define GL_CONTEXT_FLAG_NO_ERROR_BIT 0x00000008
#define GL_VERTICES_SUBMITTED 0x82EE
#define GL_PRIMITIVES_SUBMITTED 0x82EF
#define GL_VERTEX_SHADER_INVOCATIONS 0x82F0
#define GL_TESS_CONTROL_SHADER_PATCHES 0x82F1
#define GL_TESS_EVALUATION_SHADER_INVOCATIONS 0x82F2
#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED 0x82F3
#define GL_FRAGMENT_SHADER_INVOCATIONS 0x82F4
#define GL_COMPUTE_SHADER_INVOCATIONS 0x82F5
#define GL_CLIPPING_INPUT_PRIMITIVES 0x82F6
#define GL_CLIPPING_OUTPUT_PRIMITIVES 0x82F7
#define GL_POLYGON_OFFSET_CLAMP 0x8E1B
#define GL_SPIR_V_EXTENSIONS 0x9553
#define GL_NUM_SPIR_V_EXTENSIONS 0x9554
#define GL_TEXTURE_MAX_ANISOTROPY 0x84FE
#define GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF
#define GL_TRANSFORM_FEEDBACK_OVERFLOW 0x82EC
#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW 0x82ED
/* GL_ARB_robustness */
#define GL_NO_ERROR 0
@ -1575,11 +1609,6 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB 0x9345
#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB 0x91BF
/* GL_ARB_indirect_parameters */
#define GL_PARAMETER_BUFFER_ARB 0x80EE
#define GL_PARAMETER_BUFFER_BINDING_ARB 0x80EF
/* GL_ARB_seamless_cubemap_per_texture */
#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
@ -1598,29 +1627,16 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A
#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9
/* GL_ARB_pipeline_statistics_query */
#define GL_VERTICES_SUBMITTED_ARB 0x82EE
#define GL_PRIMITIVES_SUBMITTED_ARB 0x82EF
#define GL_VERTEX_SHADER_INVOCATIONS_ARB 0x82F0
#define GL_TESS_CONTROL_SHADER_PATCHES_ARB 0x82F1
#define GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB 0x82F2
#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB 0x82F3
#define GL_FRAGMENT_SHADER_INVOCATIONS_ARB 0x82F4
#define GL_COMPUTE_SHADER_INVOCATIONS_ARB 0x82F5
#define GL_CLIPPING_INPUT_PRIMITIVES_ARB 0x82F6
#define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB 0x82F7
/* GL_ARB_sparse_buffer */
#define GL_SPARSE_STORAGE_BIT_ARB 0x0400
#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB 0x82F8
/* GL_ARB_transform_feedback_overflow_query */
/* GL_ARB_ES3_2_compatibility */
#define GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB 0x82EC
#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB 0x82ED
#define GL_PRIMITIVE_BOUNDING_BOX_ARB 0x92BE
#define GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB 0x9381
#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB 0x9382
/* GL_ATI_texture_mirror_once */
@ -1752,11 +1768,12 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
/* GL_KHR_no_error */
/* Function prototypes */
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* GL_ARB_ES3_2_compatibility */
/* Function prototypes */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBoxARB)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
#define glPrimitiveBoundingBoxARB flextglPrimitiveBoundingBoxARB
/* GL_ARB_bindless_texture */
@ -1798,13 +1815,6 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribL1ui64vARB)(GLuint, const
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDispatchComputeGroupSizeARB)(GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
#define glDispatchComputeGroupSizeARB flextglDispatchComputeGroupSizeARB
/* GL_ARB_indirect_parameters */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysIndirectCountARB)(GLenum, GLintptr, GLintptr, GLsizei, GLsizei);
#define glMultiDrawArraysIndirectCountARB flextglMultiDrawArraysIndirectCountARB
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsIndirectCountARB)(GLenum, GLenum, GLintptr, GLintptr, GLsizei, GLsizei);
#define glMultiDrawElementsIndirectCountARB flextglMultiDrawElementsIndirectCountARB
/* GL_ARB_robustness */
GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatusARB)(void);
@ -3676,6 +3686,17 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexBuffer)(GLuint, GLui
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexArrayVertexBuffers)(GLuint, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *);
#define glVertexArrayVertexBuffers flextglVertexArrayVertexBuffers
/* GL_VERSION_4_6 */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawArraysIndirectCount)(GLenum, const void *, GLintptr, GLsizei, GLsizei);
#define glMultiDrawArraysIndirectCount flextglMultiDrawArraysIndirectCount
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMultiDrawElementsIndirectCount)(GLenum, GLenum, const void *, GLintptr, GLsizei, GLsizei);
#define glMultiDrawElementsIndirectCount flextglMultiDrawElementsIndirectCount
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonOffsetClamp)(GLfloat, GLfloat, GLfloat);
#define glPolygonOffsetClamp flextglPolygonOffsetClamp
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSpecializeShader)(GLuint, const GLchar *, GLuint, const GLuint *, const GLuint *);
#define glSpecializeShader flextglSpecializeShader
#endif
#ifdef __cplusplus

13
src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp vendored

@ -8,6 +8,9 @@
void flextGLInit() {
Magnum::Platform::Implementation::OpenGLFunctionLoader loader;
/* GL_ARB_ES3_2_compatibility */
flextglPrimitiveBoundingBoxARB = reinterpret_cast<void(APIENTRY*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)>(loader.load("glPrimitiveBoundingBoxARB"));
/* GL_ARB_bindless_texture */
flextglGetImageHandleARB = reinterpret_cast<GLuint64(APIENTRY*)(GLuint, GLint, GLboolean, GLint, GLenum)>(loader.load("glGetImageHandleARB"));
flextglGetTextureHandleARB = reinterpret_cast<GLuint64(APIENTRY*)(GLuint)>(loader.load("glGetTextureHandleARB"));
@ -29,10 +32,6 @@ void flextGLInit() {
/* GL_ARB_compute_variable_group_size */
flextglDispatchComputeGroupSizeARB = reinterpret_cast<void(APIENTRY*)(GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)>(loader.load("glDispatchComputeGroupSizeARB"));
/* GL_ARB_indirect_parameters */
flextglMultiDrawArraysIndirectCountARB = reinterpret_cast<void(APIENTRY*)(GLenum, GLintptr, GLintptr, GLsizei, GLsizei)>(loader.load("glMultiDrawArraysIndirectCountARB"));
flextglMultiDrawElementsIndirectCountARB = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, GLintptr, GLintptr, GLsizei, GLsizei)>(loader.load("glMultiDrawElementsIndirectCountARB"));
/* GL_ARB_robustness */
flextglGetGraphicsResetStatusARB = reinterpret_cast<GLenum(APIENTRY*)(void)>(loader.load("glGetGraphicsResetStatusARB"));
flextglGetnCompressedTexImageARB = reinterpret_cast<void(APIENTRY*)(GLenum, GLint, GLsizei, void *)>(loader.load("glGetnCompressedTexImageARB"));
@ -946,4 +945,10 @@ void flextGLInit() {
flextglVertexArrayElementBuffer = reinterpret_cast<void(APIENTRY*)(GLuint, GLuint)>(loader.load("glVertexArrayElementBuffer"));
flextglVertexArrayVertexBuffer = reinterpret_cast<void(APIENTRY*)(GLuint, GLuint, GLuint, GLintptr, GLsizei)>(loader.load("glVertexArrayVertexBuffer"));
flextglVertexArrayVertexBuffers = reinterpret_cast<void(APIENTRY*)(GLuint, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *)>(loader.load("glVertexArrayVertexBuffers"));
/* GL_VERSION_4_6 */
flextglMultiDrawArraysIndirectCount = reinterpret_cast<void(APIENTRY*)(GLenum, const void *, GLintptr, GLsizei, GLsizei)>(loader.load("glMultiDrawArraysIndirectCount"));
flextglMultiDrawElementsIndirectCount = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, const void *, GLintptr, GLsizei, GLsizei)>(loader.load("glMultiDrawElementsIndirectCount"));
flextglPolygonOffsetClamp = reinterpret_cast<void(APIENTRY*)(GLfloat, GLfloat, GLfloat)>(loader.load("glPolygonOffsetClamp"));
flextglSpecializeShader = reinterpret_cast<void(APIENTRY*)(GLuint, const GLchar *, GLuint, const GLuint *, const GLuint *)>(loader.load("glSpecializeShader"));
}

Loading…
Cancel
Save