Browse Source

Added KHR_blend_equation_advanced{,_coherent} extensions.

pull/107/head
Vladimír Vondruš 11 years ago
parent
commit
0dba2601e3
  1. 1
      doc/opengl-mapping.dox
  2. 4
      doc/opengl-support.dox
  3. 6
      src/Magnum/Context.cpp
  4. 4
      src/Magnum/Extensions.h
  5. 2
      src/MagnumExternal/OpenGL/GL/extensions.txt
  6. 3
      src/MagnumExternal/OpenGL/GL/flextGL.cpp
  7. 30
      src/MagnumExternal/OpenGL/GL/flextGL.h
  8. 5
      src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp
  9. 2
      src/MagnumExternal/OpenGL/GLES2/extensions.txt
  10. 3
      src/MagnumExternal/OpenGL/GLES2/flextGL.cpp
  11. 30
      src/MagnumExternal/OpenGL/GLES2/flextGL.h
  12. 34
      src/MagnumExternal/OpenGL/GLES2/flextGLNaCl.h
  13. 5
      src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp
  14. 2
      src/MagnumExternal/OpenGL/GLES3/extensions.txt
  15. 3
      src/MagnumExternal/OpenGL/GLES3/flextGL.cpp
  16. 30
      src/MagnumExternal/OpenGL/GLES3/flextGL.h
  17. 5
      src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp

1
doc/opengl-mapping.dox

@ -68,6 +68,7 @@ OpenGL function | Matching API
@fn_gl{BindTransformFeedback} | not needed, handled internally in @ref TransformFeedback
@fn_gl{BindVertexArray} | not needed, handled internally in @ref Mesh
@fn_gl{BindVertexBuffer}, \n `glVertexArrayVertexBuffer()`, \n @fn_gl_extension{VertexArrayBindVertexBuffer,EXT,direct_state_access} \n @fn_gl{BindVertexBuffers}, \n `glVertexArrayVertexBuffers()` | |
@fn_gl_extension{BlendBarrier,KHR,blend_equation_advanced} | |
@fn_gl{BlendColor} | @ref Renderer::setBlendColor()
@fn_gl{BlendEquation}, \n @fn_gl{BlendEquationSeparate} | @ref Renderer::setBlendEquation()
@fn_gl{BlendFunc}, \n @fn_gl{BlendFuncSeparate} | @ref Renderer::setBlendFunction()

4
doc/opengl-support.dox

@ -248,6 +248,8 @@ Extension | Status
@extension{ARB,pipeline_statistics_query} | |
@extension{ARB,sparse_buffer} | |
@extension{ARB,transform_feedback_overflow_query} | |
@extension{KHR,blend_equation_advanced} | |
@extension3{KHR,blend_equation_advanced_coherent,blend_equation_advanced} | |
@subsection opengl-support-extensions-vendor Vendor OpenGL extensions
@ -360,6 +362,8 @@ Extension | Status
@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
@es_extension2{KHR,blend_equation_advanced,blend_equation_advanced} | |
@es_extension2{KHR,blend_equation_advanced_coherent,blend_equation_advanced} | |
@es_extension{KHR,robustness} | |
@es_extension{KHR,robust_buffer_access_behavior} | done (nothing to do)
@es_extension{KHR,context_flush_control} | |

6
src/Magnum/Context.cpp

@ -88,7 +88,9 @@ const std::vector<Extension>& Extension::extensions(Version version) {
_extension(GL,EXT,debug_marker),
_extension(GL,GREMEDY,string_marker),
_extension(GL,KHR,texture_compression_astc_ldr),
_extension(GL,KHR,texture_compression_astc_hdr)};
_extension(GL,KHR,texture_compression_astc_hdr),
_extension(GL,KHR,blend_equation_advanced),
_extension(GL,KHR,blend_equation_advanced_coherent)};
static const std::vector<Extension> extensions300{
_extension(GL,ARB,map_buffer_range),
_extension(GL,ARB,color_buffer_float),
@ -259,6 +261,8 @@ const std::vector<Extension>& Extension::extensions(Version version) {
_extension(GL,KHR,texture_compression_astc_ldr),
_extension(GL,KHR,texture_compression_astc_hdr),
_extension(GL,KHR,debug),
_extension(GL,KHR,blend_equation_advanced),
_extension(GL,KHR,blend_equation_advanced_coherent),
_extension(GL,KHR,robustness),
_extension(GL,KHR,robust_buffer_access_behavior),
_extension(GL,KHR,context_flush_control),

4
src/Magnum/Extensions.h

@ -222,6 +222,8 @@ namespace GL {
_extension(GL,KHR,debug, GL210, GL430) // #119
_extension(GL,KHR,context_flush_control, GL210, GL450) // #168
_extension(GL,KHR,robustness, GL320, GL450) // #170
_extension(GL,KHR,blend_equation_advanced, GL210, None) // #174
_extension(GL,KHR,blend_equation_advanced_coherent, GL210, None) // #174
} namespace NV {
_extension(GL,NV,primitive_restart, GL210, GL310) // #285
_extension(GL,NV,depth_buffer_float, GL210, GL300) // #334
@ -335,6 +337,8 @@ namespace GL {
_extension(GL,KHR,texture_compression_astc_ldr, GLES200, None) // #117
_extension(GL,KHR,texture_compression_astc_hdr, GLES200, None) // #117
_extension(GL,KHR,debug, GLES200, None) // #118
_extension(GL,KHR,blend_equation_advanced, GLES200, None) // #168
_extension(GL,KHR,blend_equation_advanced_coherent, GLES200, None) // #168
_extension(GL,KHR,robustness, GLES200, None) // #170
_extension(GL,KHR,robust_buffer_access_behavior, GLES200, None) // #189
_extension(GL,KHR,context_flush_control, GLES200, None) // #191

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

@ -30,3 +30,5 @@ extension EXT_debug_marker optional
extension GREMEDY_string_marker optional
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

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

@ -952,6 +952,9 @@ FLEXTGL_EXPORT void(APIENTRY *flextglPopGroupMarkerEXT)(void) = nullptr;
/* GL_GREMEDY_string_marker */
FLEXTGL_EXPORT void(APIENTRY *flextglStringMarkerGREMEDY)(GLsizei, const void *) = nullptr;
/* GL_KHR_blend_equation_advanced */
FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void) = nullptr;
#ifdef __cplusplus
}
#endif

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

@ -1720,6 +1720,28 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
/* GL_KHR_blend_equation_advanced */
#define GL_MULTIPLY_KHR 0x9294
#define GL_SCREEN_KHR 0x9295
#define GL_OVERLAY_KHR 0x9296
#define GL_DARKEN_KHR 0x9297
#define GL_LIGHTEN_KHR 0x9298
#define GL_COLORDODGE_KHR 0x9299
#define GL_COLORBURN_KHR 0x929A
#define GL_HARDLIGHT_KHR 0x929B
#define GL_SOFTLIGHT_KHR 0x929C
#define GL_DIFFERENCE_KHR 0x929E
#define GL_EXCLUSION_KHR 0x92A0
#define GL_HSL_HUE_KHR 0x92AD
#define GL_HSL_SATURATION_KHR 0x92AE
#define GL_HSL_COLOR_KHR 0x92AF
#define GL_HSL_LUMINOSITY_KHR 0x92B0
/* GL_KHR_blend_equation_advanced_coherent */
#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
/* Function prototypes */
/* GL_VERSION_1_0 */
@ -3704,6 +3726,14 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglStringMarkerGREMEDY)(GLsizei, const v
/* GL_KHR_texture_compression_astc_hdr */
/* GL_KHR_blend_equation_advanced */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void);
#define glBlendBarrierKHR flextglBlendBarrierKHR
/* GL_KHR_blend_equation_advanced_coherent */
#ifdef __cplusplus
}
#endif

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

@ -985,4 +985,9 @@ void flextGLInit() {
/* GL_KHR_texture_compression_astc_ldr */
/* GL_KHR_texture_compression_astc_hdr */
/* GL_KHR_blend_equation_advanced */
flextglBlendBarrierKHR = reinterpret_cast<void(APIENTRY*)(void)>(loader.load("glBlendBarrierKHR"));
/* GL_KHR_blend_equation_advanced_coherent */
}

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

@ -64,6 +64,8 @@ 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

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

@ -189,6 +189,9 @@ FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabelKHR)(const void *, GLsizei, c
FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **) = nullptr;
/* GL_KHR_blend_equation_advanced */
FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void) = nullptr;
/* GL_KHR_robustness */
FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatus)(void) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr;

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

@ -937,6 +937,28 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_STACK_UNDERFLOW_KHR 0x0504
#define GL_DISPLAY_LIST 0x82E7
/* GL_KHR_blend_equation_advanced */
#define GL_MULTIPLY_KHR 0x9294
#define GL_SCREEN_KHR 0x9295
#define GL_OVERLAY_KHR 0x9296
#define GL_DARKEN_KHR 0x9297
#define GL_LIGHTEN_KHR 0x9298
#define GL_COLORDODGE_KHR 0x9299
#define GL_COLORBURN_KHR 0x929A
#define GL_HARDLIGHT_KHR 0x929B
#define GL_SOFTLIGHT_KHR 0x929C
#define GL_DIFFERENCE_KHR 0x929E
#define GL_EXCLUSION_KHR 0x92A0
#define GL_HSL_HUE_KHR 0x92AD
#define GL_HSL_SATURATION_KHR 0x92AE
#define GL_HSL_COLOR_KHR 0x92AF
#define GL_HSL_LUMINOSITY_KHR 0x92B0
/* GL_KHR_blend_equation_advanced_coherent */
#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
/* GL_KHR_robustness */
#define GL_NO_ERROR 0
@ -1592,6 +1614,14 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, G
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **);
#define glGetPointervKHR flextglGetPointervKHR
/* GL_KHR_blend_equation_advanced */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void);
#define glBlendBarrierKHR flextglBlendBarrierKHR
/* GL_KHR_blend_equation_advanced_coherent */
/* GL_KHR_robustness */
GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatus)(void);

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

@ -912,6 +912,28 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_STACK_UNDERFLOW_KHR 0x0504
#define GL_DISPLAY_LIST 0x82E7
/* GL_KHR_blend_equation_advanced */
#define GL_MULTIPLY_KHR 0x9294
#define GL_SCREEN_KHR 0x9295
#define GL_OVERLAY_KHR 0x9296
#define GL_DARKEN_KHR 0x9297
#define GL_LIGHTEN_KHR 0x9298
#define GL_COLORDODGE_KHR 0x9299
#define GL_COLORBURN_KHR 0x929A
#define GL_HARDLIGHT_KHR 0x929B
#define GL_SOFTLIGHT_KHR 0x929C
#define GL_DIFFERENCE_KHR 0x929E
#define GL_EXCLUSION_KHR 0x92A0
#define GL_HSL_HUE_KHR 0x92AD
#define GL_HSL_SATURATION_KHR 0x92AE
#define GL_HSL_COLOR_KHR 0x92AF
#define GL_HSL_LUMINOSITY_KHR 0x92B0
/* GL_KHR_blend_equation_advanced_coherent */
#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
/* GL_KHR_robustness */
#define GL_NO_ERROR 0
@ -1833,6 +1855,18 @@ GL_APICALL void GL_APIENTRY GLES2GetPointervKHR(GLenum, void **);
#define glGetPointervKHR GLES2GetPointervKHR
#endif
/* GL_KHR_blend_equation_advanced */
#ifndef GL_KHR_blend_equation_advanced
#define GL_KHR_blend_equation_advanced 1
GL_APICALL void GL_APIENTRY GLES2BlendBarrierKHR(void);
#define glBlendBarrierKHR GLES2BlendBarrierKHR
#endif
/* GL_KHR_blend_equation_advanced_coherent */
#ifndef GL_KHR_blend_equation_advanced_coherent
#define GL_KHR_blend_equation_advanced_coherent 1
#endif
/* GL_KHR_robustness */
#ifndef GL_KHR_robustness
#define GL_KHR_robustness 1

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

@ -261,6 +261,11 @@ void flextGLInit() {
flextglGetObjectPtrLabelKHR = reinterpret_cast<void(APIENTRY*)(const void *, GLsizei, GLsizei *, GLchar *)>(loader.load("glGetObjectPtrLabelKHR"));
flextglGetPointervKHR = reinterpret_cast<void(APIENTRY*)(GLenum, void **)>(loader.load("glGetPointervKHR"));
/* GL_KHR_blend_equation_advanced */
flextglBlendBarrierKHR = reinterpret_cast<void(APIENTRY*)(void)>(loader.load("glBlendBarrierKHR"));
/* GL_KHR_blend_equation_advanced_coherent */
/* GL_KHR_robustness */
flextglGetGraphicsResetStatus = reinterpret_cast<GLenum(APIENTRY*)(void)>(loader.load("glGetGraphicsResetStatus"));
flextglReadnPixels = reinterpret_cast<void(APIENTRY*)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *)>(loader.load("glReadnPixels"));

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

@ -19,6 +19,8 @@ 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

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

@ -183,6 +183,9 @@ FLEXTGL_EXPORT void(APIENTRY *flextglObjectPtrLabelKHR)(const void *, GLsizei, c
FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, GLsizei, GLsizei *, GLchar *) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **) = nullptr;
/* GL_KHR_blend_equation_advanced */
FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void) = nullptr;
/* GL_KHR_robustness */
FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatus)(void) = nullptr;
FLEXTGL_EXPORT void(APIENTRY *flextglReadnPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *) = nullptr;

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

@ -1121,6 +1121,28 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_STACK_UNDERFLOW_KHR 0x0504
#define GL_DISPLAY_LIST 0x82E7
/* GL_KHR_blend_equation_advanced */
#define GL_MULTIPLY_KHR 0x9294
#define GL_SCREEN_KHR 0x9295
#define GL_OVERLAY_KHR 0x9296
#define GL_DARKEN_KHR 0x9297
#define GL_LIGHTEN_KHR 0x9298
#define GL_COLORDODGE_KHR 0x9299
#define GL_COLORBURN_KHR 0x929A
#define GL_HARDLIGHT_KHR 0x929B
#define GL_SOFTLIGHT_KHR 0x929C
#define GL_DIFFERENCE_KHR 0x929E
#define GL_EXCLUSION_KHR 0x92A0
#define GL_HSL_HUE_KHR 0x92AD
#define GL_HSL_SATURATION_KHR 0x92AE
#define GL_HSL_COLOR_KHR 0x92AF
#define GL_HSL_LUMINOSITY_KHR 0x92B0
/* GL_KHR_blend_equation_advanced_coherent */
#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
/* GL_KHR_robustness */
#define GL_NO_ERROR 0
@ -1814,6 +1836,14 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetObjectPtrLabelKHR)(const void *, G
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetPointervKHR)(GLenum, void **);
#define glGetPointervKHR flextglGetPointervKHR
/* GL_KHR_blend_equation_advanced */
GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglBlendBarrierKHR)(void);
#define glBlendBarrierKHR flextglBlendBarrierKHR
/* GL_KHR_blend_equation_advanced_coherent */
/* GL_KHR_robustness */
GLAPI FLEXTGL_EXPORT GLenum(APIENTRY *flextglGetGraphicsResetStatus)(void);

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

@ -205,6 +205,11 @@ void flextGLInit() {
flextglGetObjectPtrLabelKHR = reinterpret_cast<void(APIENTRY*)(const void *, GLsizei, GLsizei *, GLchar *)>(loader.load("glGetObjectPtrLabelKHR"));
flextglGetPointervKHR = reinterpret_cast<void(APIENTRY*)(GLenum, void **)>(loader.load("glGetPointervKHR"));
/* GL_KHR_blend_equation_advanced */
flextglBlendBarrierKHR = reinterpret_cast<void(APIENTRY*)(void)>(loader.load("glBlendBarrierKHR"));
/* GL_KHR_blend_equation_advanced_coherent */
/* GL_KHR_robustness */
flextglGetGraphicsResetStatus = reinterpret_cast<GLenum(APIENTRY*)(void)>(loader.load("glGetGraphicsResetStatus"));
flextglReadnPixels = reinterpret_cast<void(APIENTRY*)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void *)>(loader.load("glReadnPixels"));

Loading…
Cancel
Save