Browse Source

Added ANDROID_extension_pack_es31a extensions.

Just added them to the list, nothing integrated or implemented yet. Also
added some more stuff into OpenGL mapping table, as I apparently forgot
some entries.
pull/107/head
Vladimír Vondruš 11 years ago
parent
commit
361ab62fe9
  1. 8
      doc/opengl-mapping.dox
  2. 17
      doc/opengl-support.dox
  3. 33
      src/Magnum/Context.cpp
  4. 30
      src/Magnum/Extensions.h
  5. 3
      src/MagnumExternal/OpenGL/GLES2/extensions.txt
  6. 20
      src/MagnumExternal/OpenGL/GLES2/flextGL.cpp
  7. 82
      src/MagnumExternal/OpenGL/GLES2/flextGL.h
  8. 88
      src/MagnumExternal/OpenGL/GLES2/flextGLNaCl.h
  9. 22
      src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp
  10. 81
      src/MagnumExternal/OpenGL/GLES3/extensions.txt
  11. 42
      src/MagnumExternal/OpenGL/GLES3/flextGL.cpp
  12. 278
      src/MagnumExternal/OpenGL/GLES3/flextGL.h
  13. 58
      src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp

8
doc/opengl-mapping.dox

@ -286,6 +286,7 @@ OpenGL function | Matching API
@fn_gl{PointSize} | @ref Renderer::setPointSize()
@fn_gl{PolygonMode} | @ref Renderer::setPolygonMode()
@fn_gl{PolygonOffset} | @ref Renderer::setPolygonOffset()
@fn_gles_extension{PrimitiveBoundingBox,EXT,primitive_bounding_box} | |
@fn_gl{PrimitiveRestartIndex} | |
@fn_gl{ProgramBinary} | |
@fn_gl{ProgramParameter} | @ref AbstractShaderProgram::setRetrievableBinary(), \n @ref AbstractShaderProgram::setSeparable()
@ -447,9 +448,12 @@ OpenGL function | Matching API
@def_gl{MAX_FRAMEBUFFER_SAMPLES} | |
@def_gl{MAX_FRAMEBUFFER_WIDTH} | |
@def_gl{MAX_FRAGMENT_INPUT_COMPONENTS}, \n @def_gl{MAX_GEOMETRY_INPUT_COMPONENTS}, \n @def_gl{MAX_GEOMETRY_OUTPUT_COMPONENTS}, \n @def_gl{MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS}, \n @def_gl{MAX_TESS_CONTROL_INPUT_COMPONENTS}, \n @def_gl{MAX_TESS_CONTROL_OUTPUT_COMPONENTS}, \n @def_gl{MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS}, \n @def_gl{MAX_TESS_EVALUATION_INPUT_COMPONENTS}, \n @def_gl{MAX_TESS_EVALUATION_OUTPUT_COMPONENTS}, \n @def_gl{MAX_VERTEX_OUTPUT_COMPONENTS}, \n @def_gl{MAX_VARYING_VECTORS} | @ref Shader::maxFragmentInputComponents(), \n @ref Shader::maxGeometryInputComponents(), \n @ref Shader::maxGeometryOutputComponents(), \n @ref Shader::maxGeometryTotalOutputComponents(), \n @ref Shader::maxTessellationControlInputComponents(), \n @ref Shader::maxTessellationControlOutputComponents(), \n @ref Shader::maxTessellationControlTotalOutputComponents(), \n @ref Shader::maxTessellationEvaluationInputComponents(), \n @ref Shader::maxTessellationEvaluationOutputComponents(), \n @ref Shader::maxVertexOutputComponents()
@def_gl{MAX_GEOMETRY_OUTPUT_VERTICES} | |
@def_gl{MAX_GEOMETRY_SHADER_INVOCATIONS} | |
@def_gl{MAX_IMAGE_SAMPLES} | @ref AbstractShaderProgram::maxImageSamples()
@def_gl{MAX_IMAGE_UNITS} | @ref AbstractShaderProgram::maxImageUnits()
@def_gl{MAX_LABEL_LENGTH} | @ref AbstractObject::maxLabelLength()
@def_gl{MAX_PATCH_VERTICES} | |
@def_gl{MAX_RENDERBUFFER_SIZE} | @ref Renderbuffer::maxSize()
@def_gl{MAX_SAMPLE_MASK_WORDS} | |
@def_gl{MAX_SERVER_WAIT_TIMEOUT} | |
@ -458,6 +462,8 @@ OpenGL function | Matching API
@def_gl_extension{MAX_SPARSE_TEXTURE_SIZE,ARB,sparse_texture} | |
@def_gl_extension{MAX_SPARSE_3D_TEXTURE_SIZE,ARB,sparse_texture} | |
@def_gl_extension{MAX_SPARSE_ARRAY_TEXTURE_LAYERS,ARB,sparse_texture} | |
@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()
@ -474,8 +480,10 @@ OpenGL function | Matching API
@def_gl{MAX_VERTEX_ATTRIB_RELATIVE_OFFSET} | |
@def_gl{MAX_VIEWPORTS} | |
@def_gl{MAX_VIEWPORT_DIMS} | @ref AbstractFramebuffer::maxViewportSize()
@def_gl{MIN_FRAGMENT_INTERPOLATION_OFFSET}, \n @def_gl{MAX_FRAGMENT_INTERPOLATION_OFFSET} | |
@def_gl{MIN_MAP_BUFFER_ALIGNMENT} | @ref Buffer::minMapAlignment()
@def_gl{MIN_PROGRAM_TEXEL_OFFSET}, \n @def_gl{MAX_PROGRAM_TEXEL_OFFSET} | @ref AbstractShaderProgram::minTexelOffset(), \n @ref AbstractShaderProgram::maxTexelOffset()
@def_gl{MIN_SAMPLE_SHADING_VALUE} | |
@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} | |

17
doc/opengl-support.dox

@ -344,6 +344,7 @@ Extension | Status
Extension | Status
------------------------------------------- | ------
@es_extension{ANDROID,extension_pack_es31a} | done (nothing to do)
@es_extension{APPLE,texture_format_BGRA8888} | done
@es_extension{CHROMIUM,map_sub} (NaCl only) | only buffer mapping
@es_extension{EXT,texture_filter_anisotropic} | done
@ -359,6 +360,16 @@ Extension | Status
@es_extension{EXT,texture_sRGB_decode} | done
@es_extension{EXT,sRGB_write_control} | done
@es_extension{EXT,shader_integer_mix} | done (shading language only)
@es_extension{EXT,copy_image} | |
@es_extension{EXT,draw_buffers_indexed} | |
@es_extension{EXT,geometry_shader} | |
@es_extension{EXT,gpu_shader5} | done (shading language only)
@es_extension{EXT,shader_io_blocks} | done (shading language only)
@es_extension{EXT,tessellation_shader} | |
@es_extension{EXT,texture_border_clamp} | |
@es_extension{EXT,texture_buffer} | |
@es_extension{EXT,texture_cube_map_array} | |
@es_extension{EXT,primitive_bounding_box} | |
@es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | |
@es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} | |
@es_extension{KHR,debug} | see above
@ -377,6 +388,12 @@ Extension | Status
@es_extension{OES,mapbuffer} | done
@es_extension{OES,stencil1} | done
@es_extension{OES,stencil4} | done
@es_extension{OES,sample_shading} | |
@es_extension{OES,sample_variables} | done (shading language only)
@es_extension{OES,shader_image_atomic} | done (shading language only)
@es_extension{OES,shader_multisample_interpolation} | |
@es_extension{OES,texture_stencil8} | |
@es_extension{OES,texture_storage_multisample_2d_array} | |
@subsection opengl-support-webgl10 WebGL 1.0

33
src/Magnum/Context.cpp

@ -242,6 +242,9 @@ const std::vector<Extension>& Extension::extensions(Version version) {
#endif
#else
static const std::vector<Extension> extensions{
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,ANDROID,extension_pack_es31a),
#endif
_extension(GL,APPLE,texture_format_BGRA8888),
#ifdef CORRADE_TARGET_NACL
_extension(GL,CHROMIUM,map_sub),
@ -255,6 +258,23 @@ const std::vector<Extension>& Extension::extensions(Version version) {
_extension(GL,EXT,disjoint_timer_query),
_extension(GL,EXT,texture_sRGB_decode),
_extension(GL,EXT,sRGB_write_control),
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,EXT,shader_integer_mix),
_extension(GL,EXT,copy_image),
#endif
_extension(GL,EXT,draw_buffers_indexed),
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,EXT,geometry_shader),
_extension(GL,EXT,gpu_shader5),
_extension(GL,EXT,shader_io_blocks),
_extension(GL,EXT,tessellation_shader),
#endif
_extension(GL,EXT,texture_border_clamp),
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,EXT,texture_buffer),
_extension(GL,EXT,texture_cube_map_array),
_extension(GL,EXT,primitive_bounding_box),
#endif
_extension(GL,EXT,separate_shader_objects),
_extension(GL,EXT,multisampled_render_to_texture),
_extension(GL,EXT,robustness),
@ -275,7 +295,18 @@ const std::vector<Extension>& Extension::extensions(Version version) {
_extension(GL,OES,depth32),
_extension(GL,OES,mapbuffer),
_extension(GL,OES,stencil1),
_extension(GL,OES,stencil4)};
_extension(GL,OES,stencil4),
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,OES,sample_shading),
_extension(GL,OES,sample_variables),
_extension(GL,OES,shader_image_atomic),
_extension(GL,OES,shader_multisample_interpolation),
#endif
_extension(GL,OES,texture_stencil8),
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,OES,texture_storage_multisample_2d_array)
#endif
};
#ifdef MAGNUM_TARGET_GLES2
static const std::vector<Extension> extensionsES300{
_extension(GL,ANGLE,framebuffer_blit),

30
src/Magnum/Extensions.h

@ -265,7 +265,11 @@ namespace GL {
}
#else
#line 1
namespace ANGLE {
namespace ANDROID {
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,ANDROID,extension_pack_es31a, GLES310, None) // #187
#endif
} namespace ANGLE {
#ifdef MAGNUM_TARGET_GLES2
_extension(GL,ANGLE,framebuffer_blit, GLES200, GLES300) // #83
_extension(GL,ANGLE,framebuffer_multisample, GLES200, GLES300) // #84
@ -332,6 +336,20 @@ namespace GL {
#endif
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,EXT,shader_integer_mix, GLES300, None) // #161
_extension(GL,EXT,copy_image, GLES300, None) // #175
#endif
_extension(GL,EXT,draw_buffers_indexed, GLES200, None) // #176
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,EXT,geometry_shader, GLES310, None) // #177
_extension(GL,EXT,gpu_shader5, GLES310, None) // #178
_extension(GL,EXT,shader_io_blocks, GLES310, None) // #180
_extension(GL,EXT,tessellation_shader, GLES310, None) // #181
#endif
_extension(GL,EXT,texture_border_clamp, GLES200, None) // #182
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,EXT,texture_buffer, GLES310, None) // #183
_extension(GL,EXT,texture_cube_map_array, GLES310, None) // #184
_extension(GL,EXT,primitive_bounding_box, GLES310, None) // #186
#endif
} namespace KHR {
_extension(GL,KHR,texture_compression_astc_ldr, GLES200, None) // #117
@ -391,6 +409,16 @@ namespace GL {
_extension(GL,OES,required_internalformat, GLES200, GLES300) // #115
_extension(GL,OES,surfaceless_context, GLES200, GLES300) // #116
#endif
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,OES,sample_shading, GLES300, None) // #169
_extension(GL,OES,sample_variables, GLES300, None) // #170
_extension(GL,OES,shader_image_atomic, GLES310, None) // #171
_extension(GL,OES,shader_multisample_interpolation, GLES300, None) // #172
#endif
_extension(GL,OES,texture_stencil8, GLES200, None) // #173
#ifndef MAGNUM_TARGET_GLES2
_extension(GL,OES,texture_storage_multisample_2d_array, GLES310, None) // #174
#endif
}
#endif
}

3
src/MagnumExternal/OpenGL/GLES2/extensions.txt vendored

@ -58,6 +58,8 @@ extension EXT_debug_marker optional
extension EXT_disjoint_timer_query optional
extension EXT_texture_sRGB_decode optional
extension EXT_sRGB_write_control optional
extension EXT_draw_buffers_indexed optional
extension EXT_texture_border_clamp optional
extension EXT_separate_shader_objects optional
extension EXT_multisampled_render_to_texture optional
extension EXT_robustness optional
@ -79,3 +81,4 @@ extension OES_depth32 optional
extension OES_mapbuffer optional
extension OES_stencil1 optional
extension OES_stencil4 optional
extension OES_texture_stencil8 optional

20
src/MagnumExternal/OpenGL/GLES2/flextGL.cpp vendored

@ -106,6 +106,26 @@ FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectivEXT)(GLuint, GLenum, GLint
FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *) = nullptr;
/* GL_EXT_draw_buffers_indexed */
FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = nullptr;
FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint) = nullptr;
/* GL_EXT_texture_border_clamp */
FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *) = nullptr;
/* GL_EXT_separate_shader_objects */
FLEXTGL_EXPORT void(APIENTRY *flextglUseShaderProgramEXT)(GLenum, GLuint) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglActiveProgramEXT)(GLuint) = nullptr;

82
src/MagnumExternal/OpenGL/GLES2/flextGL.h vendored

@ -763,6 +763,42 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
/* GL_EXT_draw_buffers_indexed */
#define GL_BLEND_EQUATION_RGB 0x8009
#define GL_BLEND_EQUATION_ALPHA 0x883D
#define GL_BLEND_SRC_RGB 0x80C9
#define GL_BLEND_SRC_ALPHA 0x80CB
#define GL_BLEND_DST_RGB 0x80C8
#define GL_BLEND_DST_ALPHA 0x80CA
#define GL_COLOR_WRITEMASK 0x0C23
#define GL_BLEND 0x0BE2
#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_ZERO 0
#define GL_ONE 1
#define GL_SRC_COLOR 0x0300
#define GL_ONE_MINUS_SRC_COLOR 0x0301
#define GL_DST_COLOR 0x0306
#define GL_ONE_MINUS_DST_COLOR 0x0307
#define GL_SRC_ALPHA 0x0302
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
#define GL_DST_ALPHA 0x0304
#define GL_ONE_MINUS_DST_ALPHA 0x0305
#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_SRC_ALPHA_SATURATE 0x0308
/* GL_EXT_texture_border_clamp */
#define GL_TEXTURE_BORDER_COLOR_EXT 0x1004
#define GL_CLAMP_TO_BORDER_EXT 0x812D
/* GL_EXT_separate_shader_objects */
#define GL_ACTIVE_PROGRAM_EXT 0x8259
@ -1022,6 +1058,11 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_STENCIL_INDEX4_OES 0x8D47
/* GL_OES_texture_stencil8 */
#define GL_STENCIL_INDEX_OES 0x1901
#define GL_STENCIL_INDEX8_OES 0x8D48
/* Function prototypes */
/* GL_ES_VERSION_2_0 */
@ -1446,6 +1487,44 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenu
/* GL_EXT_sRGB_write_control */
/* GL_EXT_draw_buffers_indexed */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint);
#define glEnableiEXT flextglEnableiEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint);
#define glDisableiEXT flextglDisableiEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum);
#define glBlendEquationiEXT flextglBlendEquationiEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum);
#define glBlendEquationSeparateiEXT flextglBlendEquationSeparateiEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum);
#define glBlendFunciEXT flextglBlendFunciEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum);
#define glBlendFuncSeparateiEXT flextglBlendFuncSeparateiEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
#define glColorMaskiEXT flextglColorMaskiEXT
GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint);
#define glIsEnablediEXT flextglIsEnablediEXT
/* GL_EXT_texture_border_clamp */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *);
#define glTexParameterIivEXT flextglTexParameterIivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *);
#define glTexParameterIuivEXT flextglTexParameterIuivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *);
#define glGetTexParameterIivEXT flextglGetTexParameterIivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *);
#define glGetTexParameterIuivEXT flextglGetTexParameterIuivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *);
#define glSamplerParameterIivEXT flextglSamplerParameterIivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *);
#define glSamplerParameterIuivEXT flextglSamplerParameterIuivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *);
#define glGetSamplerParameterIivEXT flextglGetSamplerParameterIivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *);
#define glGetSamplerParameterIuivEXT flextglGetSamplerParameterIuivEXT
/* GL_EXT_separate_shader_objects */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseShaderProgramEXT)(GLenum, GLuint);
@ -1689,6 +1768,9 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum,
/* GL_OES_stencil4 */
/* GL_OES_texture_stencil8 */
#ifdef __cplusplus
}
#endif

88
src/MagnumExternal/OpenGL/GLES2/flextGLNaCl.h vendored

@ -738,6 +738,42 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
/* GL_EXT_draw_buffers_indexed */
#define GL_BLEND_EQUATION_RGB 0x8009
#define GL_BLEND_EQUATION_ALPHA 0x883D
#define GL_BLEND_SRC_RGB 0x80C9
#define GL_BLEND_SRC_ALPHA 0x80CB
#define GL_BLEND_DST_RGB 0x80C8
#define GL_BLEND_DST_ALPHA 0x80CA
#define GL_COLOR_WRITEMASK 0x0C23
#define GL_BLEND 0x0BE2
#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_ZERO 0
#define GL_ONE 1
#define GL_SRC_COLOR 0x0300
#define GL_ONE_MINUS_SRC_COLOR 0x0301
#define GL_DST_COLOR 0x0306
#define GL_ONE_MINUS_DST_COLOR 0x0307
#define GL_SRC_ALPHA 0x0302
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
#define GL_DST_ALPHA 0x0304
#define GL_ONE_MINUS_DST_ALPHA 0x0305
#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_SRC_ALPHA_SATURATE 0x0308
/* GL_EXT_texture_border_clamp */
#define GL_TEXTURE_BORDER_COLOR_EXT 0x1004
#define GL_CLAMP_TO_BORDER_EXT 0x812D
/* GL_EXT_separate_shader_objects */
#define GL_ACTIVE_PROGRAM_EXT 0x8259
@ -997,6 +1033,11 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_STENCIL_INDEX4_OES 0x8D47
/* GL_OES_texture_stencil8 */
#define GL_STENCIL_INDEX_OES 0x1901
#define GL_STENCIL_INDEX8_OES 0x8D48
/* Function prototypes */
/* GL_ES_VERSION_2_0 */
@ -1675,6 +1716,48 @@ GL_APICALL void GL_APIENTRY GLES2GetQueryObjectui64vEXT(GLuint, GLenum, GLuint64
#define GL_EXT_sRGB_write_control 1
#endif
/* GL_EXT_draw_buffers_indexed */
#ifndef GL_EXT_draw_buffers_indexed
#define GL_EXT_draw_buffers_indexed 1
GL_APICALL void GL_APIENTRY GLES2EnableiEXT(GLenum, GLuint);
#define glEnableiEXT GLES2EnableiEXT
GL_APICALL void GL_APIENTRY GLES2DisableiEXT(GLenum, GLuint);
#define glDisableiEXT GLES2DisableiEXT
GL_APICALL void GL_APIENTRY GLES2BlendEquationiEXT(GLuint, GLenum);
#define glBlendEquationiEXT GLES2BlendEquationiEXT
GL_APICALL void GL_APIENTRY GLES2BlendEquationSeparateiEXT(GLuint, GLenum, GLenum);
#define glBlendEquationSeparateiEXT GLES2BlendEquationSeparateiEXT
GL_APICALL void GL_APIENTRY GLES2BlendFunciEXT(GLuint, GLenum, GLenum);
#define glBlendFunciEXT GLES2BlendFunciEXT
GL_APICALL void GL_APIENTRY GLES2BlendFuncSeparateiEXT(GLuint, GLenum, GLenum, GLenum, GLenum);
#define glBlendFuncSeparateiEXT GLES2BlendFuncSeparateiEXT
GL_APICALL void GL_APIENTRY GLES2ColorMaskiEXT(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
#define glColorMaskiEXT GLES2ColorMaskiEXT
GL_APICALL GLboolean GL_APIENTRY GLES2IsEnablediEXT(GLenum, GLuint);
#define glIsEnablediEXT GLES2IsEnablediEXT
#endif
/* GL_EXT_texture_border_clamp */
#ifndef GL_EXT_texture_border_clamp
#define GL_EXT_texture_border_clamp 1
GL_APICALL void GL_APIENTRY GLES2TexParameterIivEXT(GLenum, GLenum, const GLint *);
#define glTexParameterIivEXT GLES2TexParameterIivEXT
GL_APICALL void GL_APIENTRY GLES2TexParameterIuivEXT(GLenum, GLenum, const GLuint *);
#define glTexParameterIuivEXT GLES2TexParameterIuivEXT
GL_APICALL void GL_APIENTRY GLES2GetTexParameterIivEXT(GLenum, GLenum, GLint *);
#define glGetTexParameterIivEXT GLES2GetTexParameterIivEXT
GL_APICALL void GL_APIENTRY GLES2GetTexParameterIuivEXT(GLenum, GLenum, GLuint *);
#define glGetTexParameterIuivEXT GLES2GetTexParameterIuivEXT
GL_APICALL void GL_APIENTRY GLES2SamplerParameterIivEXT(GLuint, GLenum, const GLint *);
#define glSamplerParameterIivEXT GLES2SamplerParameterIivEXT
GL_APICALL void GL_APIENTRY GLES2SamplerParameterIuivEXT(GLuint, GLenum, const GLuint *);
#define glSamplerParameterIuivEXT GLES2SamplerParameterIuivEXT
GL_APICALL void GL_APIENTRY GLES2GetSamplerParameterIivEXT(GLuint, GLenum, GLint *);
#define glGetSamplerParameterIivEXT GLES2GetSamplerParameterIivEXT
GL_APICALL void GL_APIENTRY GLES2GetSamplerParameterIuivEXT(GLuint, GLenum, GLuint *);
#define glGetSamplerParameterIuivEXT GLES2GetSamplerParameterIuivEXT
#endif
/* GL_EXT_separate_shader_objects */
#ifndef GL_EXT_separate_shader_objects
#define GL_EXT_separate_shader_objects 1
@ -1960,6 +2043,11 @@ GL_APICALL void GL_APIENTRY GLES2GetBufferPointervOES(GLenum, GLenum, void **);
#define GL_OES_stencil4 1
#endif
/* GL_OES_texture_stencil8 */
#ifndef GL_OES_texture_stencil8
#define GL_OES_texture_stencil8 1
#endif
#ifdef __cplusplus
}
#endif

22
src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp vendored

@ -174,6 +174,26 @@ void flextGLInit() {
/* GL_EXT_sRGB_write_control */
/* GL_EXT_draw_buffers_indexed */
flextglEnableiEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint)>(loader.load("glEnableiEXT"));
flextglDisableiEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint)>(loader.load("glDisableiEXT"));
flextglBlendEquationiEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum)>(loader.load("glBlendEquationiEXT"));
flextglBlendEquationSeparateiEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLenum)>(loader.load("glBlendEquationSeparateiEXT"));
flextglBlendFunciEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLenum)>(loader.load("glBlendFunciEXT"));
flextglBlendFuncSeparateiEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLenum, GLenum, GLenum)>(loader.load("glBlendFuncSeparateiEXT"));
flextglColorMaskiEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)>(loader.load("glColorMaskiEXT"));
flextglIsEnablediEXT = reinterpret_cast<GLboolean(APIENTRY*)(GLenum, GLuint)>(loader.load("glIsEnablediEXT"));
/* GL_EXT_texture_border_clamp */
flextglTexParameterIivEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, const GLint *)>(loader.load("glTexParameterIivEXT"));
flextglTexParameterIuivEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, const GLuint *)>(loader.load("glTexParameterIuivEXT"));
flextglGetTexParameterIivEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, GLint *)>(loader.load("glGetTexParameterIivEXT"));
flextglGetTexParameterIuivEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, GLuint *)>(loader.load("glGetTexParameterIuivEXT"));
flextglSamplerParameterIivEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, const GLint *)>(loader.load("glSamplerParameterIivEXT"));
flextglSamplerParameterIuivEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, const GLuint *)>(loader.load("glSamplerParameterIuivEXT"));
flextglGetSamplerParameterIivEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLint *)>(loader.load("glGetSamplerParameterIivEXT"));
flextglGetSamplerParameterIuivEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLuint *)>(loader.load("glGetSamplerParameterIuivEXT"));
/* GL_EXT_separate_shader_objects */
flextglUseShaderProgramEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint)>(loader.load("glUseShaderProgramEXT"));
flextglActiveProgramEXT = reinterpret_cast<void(APIENTRY*)(GLuint)>(loader.load("glActiveProgramEXT"));
@ -305,4 +325,6 @@ void flextGLInit() {
/* GL_OES_stencil1 */
/* GL_OES_stencil4 */
/* GL_OES_texture_stencil8 */
}

81
src/MagnumExternal/OpenGL/GLES3/extensions.txt vendored

@ -2,35 +2,52 @@
version 3.1 es
extension APPLE_texture_format_BGRA8888 optional
extension EXT_texture_filter_anisotropic optional
extension EXT_texture_format_BGRA8888 optional
extension EXT_read_format_bgra optional
extension EXT_multi_draw_arrays optional
extension EXT_debug_label optional
extension EXT_debug_marker optional
extension EXT_disjoint_timer_query optional
extension EXT_texture_sRGB_decode optional
extension EXT_sRGB_write_control optional
extension EXT_shader_integer_mix optional
extension EXT_separate_shader_objects optional
extension EXT_multisampled_render_to_texture optional
extension EXT_robustness optional
extension KHR_texture_compression_astc_ldr optional
extension KHR_texture_compression_astc_hdr optional
extension KHR_debug optional
extension KHR_blend_equation_advanced optional
extension KHR_blend_equation_advanced_coherent optional
extension KHR_robustness optional
extension KHR_robust_buffer_access_behavior optional
extension KHR_context_flush_control optional
extension NV_read_buffer_front optional
extension NV_read_depth optional
extension NV_read_stencil optional
extension NV_read_depth_stencil optional
extension NV_texture_border_clamp optional
extension NV_polygon_mode optional
extension OES_depth32 optional
extension OES_mapbuffer optional
extension OES_stencil1 optional
extension OES_stencil4 optional
extension ANDROID_extension_pack_es31a optional
extension APPLE_texture_format_BGRA8888 optional
extension EXT_texture_filter_anisotropic optional
extension EXT_texture_format_BGRA8888 optional
extension EXT_read_format_bgra optional
extension EXT_multi_draw_arrays optional
extension EXT_debug_label optional
extension EXT_debug_marker optional
extension EXT_disjoint_timer_query optional
extension EXT_texture_sRGB_decode optional
extension EXT_sRGB_write_control optional
extension EXT_shader_integer_mix optional
extension EXT_copy_image optional
extension EXT_draw_buffers_indexed optional
extension EXT_geometry_shader optional
extension EXT_gpu_shader5 optional
extension EXT_shader_io_blocks optional
extension EXT_tessellation_shader optional
extension EXT_texture_border_clamp optional
extension EXT_texture_buffer optional
extension EXT_texture_cube_map_array optional
extension EXT_primitive_bounding_box optional
extension EXT_separate_shader_objects optional
extension EXT_multisampled_render_to_texture optional
extension EXT_robustness optional
extension KHR_texture_compression_astc_ldr optional
extension KHR_texture_compression_astc_hdr optional
extension KHR_debug optional
extension KHR_blend_equation_advanced optional
extension KHR_blend_equation_advanced_coherent optional
extension KHR_robustness optional
extension KHR_robust_buffer_access_behavior optional
extension KHR_context_flush_control optional
extension NV_read_buffer_front optional
extension NV_read_depth optional
extension NV_read_stencil optional
extension NV_read_depth_stencil optional
extension NV_texture_border_clamp optional
extension NV_polygon_mode optional
extension OES_depth32 optional
extension OES_mapbuffer optional
extension OES_stencil1 optional
extension OES_stencil4 optional
extension OES_sample_shading optional
extension OES_sample_variables optional
extension OES_shader_image_atomic optional
extension OES_shader_multisample_interpolation optional
extension OES_texture_stencil8 optional
extension OES_texture_storage_multisample_2d_array optional

42
src/MagnumExternal/OpenGL/GLES3/flextGL.cpp vendored

@ -100,6 +100,42 @@ FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectuivEXT)(GLuint, GLenum, GLuin
FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjecti64vEXT)(GLuint, GLenum, GLint64 *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenum, GLuint64 *) = nullptr;
/* GL_EXT_copy_image */
FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubDataEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei) = nullptr;
/* GL_EXT_draw_buffers_indexed */
FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = nullptr;
FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint) = nullptr;
/* GL_EXT_geometry_shader */
FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureEXT)(GLenum, GLenum, GLuint, GLint) = nullptr;
/* GL_EXT_tessellation_shader */
FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteriEXT)(GLenum, GLint) = nullptr;
/* GL_EXT_texture_border_clamp */
FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *) = nullptr;
/* GL_EXT_texture_buffer */
FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferEXT)(GLenum, GLenum, GLuint) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRangeEXT)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr) = nullptr;
/* GL_EXT_primitive_bounding_box */
FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBoxEXT)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat) = nullptr;
/* GL_EXT_separate_shader_objects */
FLEXTGL_EXPORT void(APIENTRY *flextglUseShaderProgramEXT)(GLenum, GLuint) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglActiveProgramEXT)(GLuint) = nullptr;
@ -206,6 +242,12 @@ FLEXTGL_EXPORT void *(APIENTRY *flextglMapBufferOES)(GLenum, GLenum) = nullptr;
FLEXTGL_EXPORT GLboolean(APIENTRY *flextglUnmapBufferOES)(GLenum) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum, void **) = nullptr;
/* GL_OES_sample_shading */
FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShadingOES)(GLfloat) = nullptr;
/* GL_OES_texture_storage_multisample_2d_array */
FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisampleOES)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean) = nullptr;
#ifdef __cplusplus
}
#endif

278
src/MagnumExternal/OpenGL/GLES3/flextGL.h vendored

@ -947,6 +947,161 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
/* GL_EXT_draw_buffers_indexed */
#define GL_BLEND_EQUATION_RGB 0x8009
#define GL_BLEND_EQUATION_ALPHA 0x883D
#define GL_BLEND_SRC_RGB 0x80C9
#define GL_BLEND_SRC_ALPHA 0x80CB
#define GL_BLEND_DST_RGB 0x80C8
#define GL_BLEND_DST_ALPHA 0x80CA
#define GL_COLOR_WRITEMASK 0x0C23
#define GL_BLEND 0x0BE2
#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_ZERO 0
#define GL_ONE 1
#define GL_SRC_COLOR 0x0300
#define GL_ONE_MINUS_SRC_COLOR 0x0301
#define GL_DST_COLOR 0x0306
#define GL_ONE_MINUS_DST_COLOR 0x0307
#define GL_SRC_ALPHA 0x0302
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
#define GL_DST_ALPHA 0x0304
#define GL_ONE_MINUS_DST_ALPHA 0x0305
#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_SRC_ALPHA_SATURATE 0x0308
/* GL_EXT_geometry_shader */
#define GL_GEOMETRY_SHADER_EXT 0x8DD9
#define GL_GEOMETRY_SHADER_BIT_EXT 0x00000004
#define GL_GEOMETRY_LINKED_VERTICES_OUT_EXT 0x8916
#define GL_GEOMETRY_LINKED_INPUT_TYPE_EXT 0x8917
#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT 0x8918
#define GL_GEOMETRY_SHADER_INVOCATIONS_EXT 0x887F
#define GL_LAYER_PROVOKING_VERTEX_EXT 0x825E
#define GL_LINES_ADJACENCY_EXT 0x000A
#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B
#define GL_TRIANGLES_ADJACENCY_EXT 0x000C
#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D
#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF
#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT 0x8A2C
#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8A32
#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT 0x9123
#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT 0x9124
#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0
#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT 0x8E5A
#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29
#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT 0x92CF
#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT 0x92D5
#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT 0x90CD
#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT 0x90D7
#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D
#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E
#define GL_UNDEFINED_VERTEX_EXT 0x8260
#define GL_PRIMITIVES_GENERATED_EXT 0x8C87
#define GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT 0x9312
#define GL_MAX_FRAMEBUFFER_LAYERS_EXT 0x9317
#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7
#define GL_REFERENCED_BY_GEOMETRY_SHADER_EXT 0x9309
/* GL_EXT_tessellation_shader */
#define GL_PATCHES_EXT 0x000E
#define GL_PATCH_VERTICES_EXT 0x8E72
#define GL_TESS_CONTROL_OUTPUT_VERTICES_EXT 0x8E75
#define GL_TESS_GEN_MODE_EXT 0x8E76
#define GL_TESS_GEN_SPACING_EXT 0x8E77
#define GL_TESS_GEN_VERTEX_ORDER_EXT 0x8E78
#define GL_TESS_GEN_POINT_MODE_EXT 0x8E79
#define GL_TRIANGLES 0x0004
#define GL_ISOLINES_EXT 0x8E7A
#define GL_QUADS_EXT 0x0007
#define GL_EQUAL 0x0202
#define GL_FRACTIONAL_ODD_EXT 0x8E7B
#define GL_FRACTIONAL_EVEN_EXT 0x8E7C
#define GL_CCW 0x0901
#define GL_CW 0x0900
#define GL_MAX_PATCH_VERTICES_EXT 0x8E7D
#define GL_MAX_TESS_GEN_LEVEL_EXT 0x8E7E
#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT 0x8E7F
#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT 0x8E80
#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT 0x8E81
#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT 0x8E82
#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT 0x8E83
#define GL_MAX_TESS_PATCH_COMPONENTS_EXT 0x8E84
#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT 0x8E85
#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT 0x8E86
#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT 0x8E89
#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT 0x8E8A
#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT 0x886C
#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT 0x886D
#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT 0x8E1E
#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT 0x8E1F
#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT 0x92CD
#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT 0x92CE
#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT 0x92D3
#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT 0x92D4
#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT 0x90CB
#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT 0x90CC
#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT 0x90D8
#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT 0x90D9
#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221
#define GL_IS_PER_PATCH_EXT 0x92E7
#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT 0x9307
#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT 0x9308
#define GL_TESS_CONTROL_SHADER_EXT 0x8E88
#define GL_TESS_EVALUATION_SHADER_EXT 0x8E87
#define GL_TESS_CONTROL_SHADER_BIT_EXT 0x00000008
#define GL_TESS_EVALUATION_SHADER_BIT_EXT 0x00000010
/* GL_EXT_texture_border_clamp */
#define GL_TEXTURE_BORDER_COLOR_EXT 0x1004
#define GL_CLAMP_TO_BORDER_EXT 0x812D
/* GL_EXT_texture_buffer */
#define GL_TEXTURE_BUFFER_EXT 0x8C2A
#define GL_TEXTURE_BUFFER_BINDING_EXT 0x8C2A
#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D
#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT 0x919F
#define GL_SAMPLER_BUFFER_EXT 0x8DC2
#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0
#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8
#define GL_IMAGE_BUFFER_EXT 0x9051
#define GL_INT_IMAGE_BUFFER_EXT 0x905C
#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067
#define GL_TEXTURE_BUFFER_OFFSET_EXT 0x919D
#define GL_TEXTURE_BUFFER_SIZE_EXT 0x919E
/* GL_EXT_texture_cube_map_array */
#define GL_TEXTURE_CUBE_MAP_ARRAY_EXT 0x9009
#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT 0x900A
#define GL_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900C
#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT 0x900D
#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900E
#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900F
#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054
#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F
#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A
/* GL_EXT_primitive_bounding_box */
#define GL_PRIMITIVE_BOUNDING_BOX_EXT 0x92BE
/* GL_EXT_separate_shader_objects */
#define GL_ACTIVE_PROGRAM_EXT 0x8259
@ -1206,6 +1361,30 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_STENCIL_INDEX4_OES 0x8D47
/* GL_OES_sample_shading */
#define GL_SAMPLE_SHADING_OES 0x8C36
#define GL_MIN_SAMPLE_SHADING_VALUE_OES 0x8C37
/* GL_OES_shader_multisample_interpolation */
#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5B
#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5C
#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES 0x8E5D
/* GL_OES_texture_stencil8 */
#define GL_STENCIL_INDEX_OES 0x1901
#define GL_STENCIL_INDEX8_OES 0x8D48
/* GL_OES_texture_storage_multisample_2d_array */
#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES 0x9102
#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES 0x9105
#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910B
#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910C
#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910D
/* Function prototypes */
/* GL_ES_VERSION_2_0 */
@ -1599,6 +1778,9 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexAttribBinding)(GLuint, GLuint);
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglVertexBindingDivisor)(GLuint, GLuint);
#define glVertexBindingDivisor flextglVertexBindingDivisor
/* GL_ANDROID_extension_pack_es31a */
/* GL_APPLE_texture_format_BGRA8888 */
@ -1668,6 +1850,80 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetQueryObjectui64vEXT)(GLuint, GLenu
/* GL_EXT_shader_integer_mix */
/* GL_EXT_copy_image */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglCopyImageSubDataEXT)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
#define glCopyImageSubDataEXT flextglCopyImageSubDataEXT
/* GL_EXT_draw_buffers_indexed */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglEnableiEXT)(GLenum, GLuint);
#define glEnableiEXT flextglEnableiEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglDisableiEXT)(GLenum, GLuint);
#define glDisableiEXT flextglDisableiEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationiEXT)(GLuint, GLenum);
#define glBlendEquationiEXT flextglBlendEquationiEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendEquationSeparateiEXT)(GLuint, GLenum, GLenum);
#define glBlendEquationSeparateiEXT flextglBlendEquationSeparateiEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFunciEXT)(GLuint, GLenum, GLenum);
#define glBlendFunciEXT flextglBlendFunciEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendFuncSeparateiEXT)(GLuint, GLenum, GLenum, GLenum, GLenum);
#define glBlendFuncSeparateiEXT flextglBlendFuncSeparateiEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglColorMaskiEXT)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
#define glColorMaskiEXT flextglColorMaskiEXT
GLAPI FLEXTGL_EXPORT GLboolean(APIENTRY *flextglIsEnablediEXT)(GLenum, GLuint);
#define glIsEnablediEXT flextglIsEnablediEXT
/* GL_EXT_geometry_shader */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglFramebufferTextureEXT)(GLenum, GLenum, GLuint, GLint);
#define glFramebufferTextureEXT flextglFramebufferTextureEXT
/* GL_EXT_gpu_shader5 */
/* GL_EXT_shader_io_blocks */
/* GL_EXT_tessellation_shader */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPatchParameteriEXT)(GLenum, GLint);
#define glPatchParameteriEXT flextglPatchParameteriEXT
/* GL_EXT_texture_border_clamp */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIivEXT)(GLenum, GLenum, const GLint *);
#define glTexParameterIivEXT flextglTexParameterIivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexParameterIuivEXT)(GLenum, GLenum, const GLuint *);
#define glTexParameterIuivEXT flextglTexParameterIuivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIivEXT)(GLenum, GLenum, GLint *);
#define glGetTexParameterIivEXT flextglGetTexParameterIivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetTexParameterIuivEXT)(GLenum, GLenum, GLuint *);
#define glGetTexParameterIuivEXT flextglGetTexParameterIuivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIivEXT)(GLuint, GLenum, const GLint *);
#define glSamplerParameterIivEXT flextglSamplerParameterIivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglSamplerParameterIuivEXT)(GLuint, GLenum, const GLuint *);
#define glSamplerParameterIuivEXT flextglSamplerParameterIuivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIivEXT)(GLuint, GLenum, GLint *);
#define glGetSamplerParameterIivEXT flextglGetSamplerParameterIivEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetSamplerParameterIuivEXT)(GLuint, GLenum, GLuint *);
#define glGetSamplerParameterIuivEXT flextglGetSamplerParameterIuivEXT
/* GL_EXT_texture_buffer */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferEXT)(GLenum, GLenum, GLuint);
#define glTexBufferEXT flextglTexBufferEXT
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexBufferRangeEXT)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr);
#define glTexBufferRangeEXT flextglTexBufferRangeEXT
/* GL_EXT_texture_cube_map_array */
/* GL_EXT_primitive_bounding_box */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPrimitiveBoundingBoxEXT)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
#define glPrimitiveBoundingBoxEXT flextglPrimitiveBoundingBoxEXT
/* GL_EXT_separate_shader_objects */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglUseShaderProgramEXT)(GLenum, GLuint);
@ -1911,6 +2167,28 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetBufferPointervOES)(GLenum, GLenum,
/* GL_OES_stencil4 */
/* GL_OES_sample_shading */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglMinSampleShadingOES)(GLfloat);
#define glMinSampleShadingOES flextglMinSampleShadingOES
/* GL_OES_sample_variables */
/* GL_OES_shader_image_atomic */
/* GL_OES_shader_multisample_interpolation */
/* GL_OES_texture_stencil8 */
/* GL_OES_texture_storage_multisample_2d_array */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglTexStorage3DMultisampleOES)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
#define glTexStorage3DMultisampleOES flextglTexStorage3DMultisampleOES
#ifdef __cplusplus
}
#endif

58
src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp vendored

@ -78,6 +78,8 @@ void flextGLInit() {
flextglVertexAttribBinding = reinterpret_cast<void(APIENTRY*)(GLuint, GLuint)>(loader.load("glVertexAttribBinding"));
flextglVertexBindingDivisor = reinterpret_cast<void(APIENTRY*)(GLuint, GLuint)>(loader.load("glVertexBindingDivisor"));
/* GL_ANDROID_extension_pack_es31a */
/* GL_APPLE_texture_format_BGRA8888 */
/* GL_EXT_texture_filter_anisotropic */
@ -118,6 +120,48 @@ void flextGLInit() {
/* GL_EXT_shader_integer_mix */
/* GL_EXT_copy_image */
flextglCopyImageSubDataEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei)>(loader.load("glCopyImageSubDataEXT"));
/* GL_EXT_draw_buffers_indexed */
flextglEnableiEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint)>(loader.load("glEnableiEXT"));
flextglDisableiEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint)>(loader.load("glDisableiEXT"));
flextglBlendEquationiEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum)>(loader.load("glBlendEquationiEXT"));
flextglBlendEquationSeparateiEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLenum)>(loader.load("glBlendEquationSeparateiEXT"));
flextglBlendFunciEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLenum)>(loader.load("glBlendFunciEXT"));
flextglBlendFuncSeparateiEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLenum, GLenum, GLenum)>(loader.load("glBlendFuncSeparateiEXT"));
flextglColorMaskiEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)>(loader.load("glColorMaskiEXT"));
flextglIsEnablediEXT = reinterpret_cast<GLboolean(APIENTRY*)(GLenum, GLuint)>(loader.load("glIsEnablediEXT"));
/* GL_EXT_geometry_shader */
flextglFramebufferTextureEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, GLuint, GLint)>(loader.load("glFramebufferTextureEXT"));
/* GL_EXT_gpu_shader5 */
/* GL_EXT_shader_io_blocks */
/* GL_EXT_tessellation_shader */
flextglPatchParameteriEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLint)>(loader.load("glPatchParameteriEXT"));
/* GL_EXT_texture_border_clamp */
flextglTexParameterIivEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, const GLint *)>(loader.load("glTexParameterIivEXT"));
flextglTexParameterIuivEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, const GLuint *)>(loader.load("glTexParameterIuivEXT"));
flextglGetTexParameterIivEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, GLint *)>(loader.load("glGetTexParameterIivEXT"));
flextglGetTexParameterIuivEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, GLuint *)>(loader.load("glGetTexParameterIuivEXT"));
flextglSamplerParameterIivEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, const GLint *)>(loader.load("glSamplerParameterIivEXT"));
flextglSamplerParameterIuivEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, const GLuint *)>(loader.load("glSamplerParameterIuivEXT"));
flextglGetSamplerParameterIivEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLint *)>(loader.load("glGetSamplerParameterIivEXT"));
flextglGetSamplerParameterIuivEXT = reinterpret_cast<void(APIENTRY*)(GLuint, GLenum, GLuint *)>(loader.load("glGetSamplerParameterIuivEXT"));
/* GL_EXT_texture_buffer */
flextglTexBufferEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, GLuint)>(loader.load("glTexBufferEXT"));
flextglTexBufferRangeEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr)>(loader.load("glTexBufferRangeEXT"));
/* GL_EXT_texture_cube_map_array */
/* GL_EXT_primitive_bounding_box */
flextglPrimitiveBoundingBoxEXT = reinterpret_cast<void(APIENTRY*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)>(loader.load("glPrimitiveBoundingBoxEXT"));
/* GL_EXT_separate_shader_objects */
flextglUseShaderProgramEXT = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint)>(loader.load("glUseShaderProgramEXT"));
flextglActiveProgramEXT = reinterpret_cast<void(APIENTRY*)(GLuint)>(loader.load("glActiveProgramEXT"));
@ -249,4 +293,18 @@ void flextGLInit() {
/* GL_OES_stencil1 */
/* GL_OES_stencil4 */
/* GL_OES_sample_shading */
flextglMinSampleShadingOES = reinterpret_cast<void(APIENTRY*)(GLfloat)>(loader.load("glMinSampleShadingOES"));
/* GL_OES_sample_variables */
/* GL_OES_shader_image_atomic */
/* GL_OES_shader_multisample_interpolation */
/* GL_OES_texture_stencil8 */
/* GL_OES_texture_storage_multisample_2d_array */
flextglTexStorage3DMultisampleOES = reinterpret_cast<void(APIENTRY*)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean)>(loader.load("glTexStorage3DMultisampleOES"));
}

Loading…
Cancel
Save