Browse Source

GL: recognize KHR_parallel_shader_compile on GL, GLES and WebGL.

pull/578/head
Vladimír Vondruš 4 years ago
parent
commit
74f1778759
  1. 7
      doc/changelog.dox
  2. 1
      doc/opengl-mapping.dox
  3. 3
      doc/opengl-support.dox
  4. 3
      src/Magnum/GL/Context.cpp
  5. 6
      src/Magnum/GL/Extensions.h
  6. 1
      src/MagnumExternal/OpenGL/GL/extensions.txt
  7. 3
      src/MagnumExternal/OpenGL/GL/flextGL.cpp
  8. 13
      src/MagnumExternal/OpenGL/GL/flextGL.h
  9. 3
      src/MagnumExternal/OpenGL/GL/flextGLPlatform.cpp
  10. 6
      src/MagnumExternal/OpenGL/GLES2/Emscripten/extensions.txt
  11. 1
      src/MagnumExternal/OpenGL/GLES2/extensions.txt
  12. 13
      src/MagnumExternal/OpenGL/GLES2/flextGL.h
  13. 5
      src/MagnumExternal/OpenGL/GLES2/flextGLEmscripten.h
  14. 3
      src/MagnumExternal/OpenGL/GLES2/flextGLPlatform.cpp
  15. 6
      src/MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp
  16. 3
      src/MagnumExternal/OpenGL/GLES2/flextGLPlatformWindowsDesktop.cpp
  17. 13
      src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.h
  18. 6
      src/MagnumExternal/OpenGL/GLES3/Emscripten/extensions.txt
  19. 1
      src/MagnumExternal/OpenGL/GLES3/extensions.txt
  20. 13
      src/MagnumExternal/OpenGL/GLES3/flextGL.h
  21. 5
      src/MagnumExternal/OpenGL/GLES3/flextGLEmscripten.h
  22. 3
      src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp
  23. 6
      src/MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp
  24. 3
      src/MagnumExternal/OpenGL/GLES3/flextGLPlatformWindowsDesktop.cpp
  25. 13
      src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.h

7
doc/changelog.dox

@ -108,8 +108,11 @@ See also:
resulted in a new @cpp "firefox-deprecated-debug-renderer-info" @ce
workaround being added, see @ref opengl-workarounds for more info.
- Recognizing @webgl_extension{EXT,float_blend} and
@webgl_extension{WEBGL,debug_shaders} extensions, no implementation done
yet
@webgl_extension{WEBGL,debug_shaders} WebGL extensions, no implementation
done yet
- Recognizing @gl_extension{KHR,parallel_shader_compile} GL, GLES and
@webgl_extension{KHR,parallel_shader_compile} WebGL extensions, no
implementation done yet
- Recognizing ANGLE GLES and WebGL base vertex, base instance and multi-draw
extensions and using them in @ref GL::AbstractShaderProgram::draw(Mesh&)
and @ref GL::AbstractShaderProgram::draw(Containers::ArrayView<const Containers::Reference<MeshView>>):

1
doc/opengl-mapping.dox

@ -290,6 +290,7 @@ OpenGL function | Matching API
@fn_gl_extension{MakeTextureHandleResident,ARB,bindless_texture} | |
@fn_gl_extension{MakeTextureHandleNonResident,ARB,bindless_texture} | |
@fn_gl{MapBuffer}, \n `glMapNamedBuffer()`, \n @fn_gl{MapBufferRange}, \n `glMapNamedBufferRange()`, \n @fn_gl{UnmapBuffer}, \n `glUnmapNamedBuffer()` | @ref GL::Buffer::map(), @ref GL::Buffer::unmap()
@fn_gl_extension{MaxShaderCompilerThreads,KHR,parallel_shader_compile} | |
@fn_gl{MemoryBarrier}, \n `glMemoryBarrierByRegion()` | @ref GL::Renderer::setMemoryBarrier(), \n @ref GL::Renderer::setMemoryBarrierByRegion()
@fn_gl{MinSampleShading} | @ref GL::Renderer::setMinSampleShading()
@fn_gl{MultiDrawArrays}, \n @fn_gl{MultiDrawElements}, \n @fn_gl{MultiDrawElementsBaseVertex} | @ref GL::AbstractShaderProgram::draw(Containers::ArrayView<const Containers::Reference<MeshView>>)

3
doc/opengl-support.dox

@ -297,6 +297,7 @@ Extension | Status
@gl_extension{KHR,blend_equation_advanced} | done
@gl_extension2{KHR,blend_equation_advanced_coherent,KHR_blend_equation_advanced} | done
@gl_extension{KHR,texture_compression_astc_sliced_3d} | done (nothing to do)
@gl_extension{KHR,parallel_shader_compile} | |
@subsection opengl-support-extensions-vendor Vendor OpenGL extensions
@ -489,6 +490,7 @@ Extension | Status
@gl_extension{KHR,context_flush_control} | |
@gl_extension{KHR,no_error} | done
@gl_extension{KHR,texture_compression_astc_sliced_3d} | done (nothing to do)
@gl_extension{KHR,parallel_shader_compile} | |
@gl_extension2{NV,read_buffer_front,NV_read_buffer} | done
@gl_extension2{NV,read_depth,NV_read_depth_stencil} | done
@gl_extension2{NV,read_stencil,NV_read_depth_stencil} | done
@ -564,6 +566,7 @@ Extension | Status
@webgl_extension{EXT,clip_cull_distance} | done
@webgl_extension{EXT,texture_norm16} | done
@webgl_extension{EXT,draw_buffers_indexed} | done
@webgl_extension{KHR,parallel_shader_compile} | |
@webgl_extension{OES,texture_float_linear} | done
@webgl_extension{OVR,multiview2} | |
@webgl_extension{WEBGL,lose_context} | |

3
src/Magnum/GL/Context.cpp

@ -104,6 +104,7 @@ constexpr Extension ExtensionList[]{
Extensions::GREMEDY::string_marker{},
Extensions::KHR::blend_equation_advanced{},
Extensions::KHR::blend_equation_advanced_coherent{},
Extensions::KHR::parallel_shader_compile{},
Extensions::KHR::texture_compression_astc_hdr{},
Extensions::KHR::texture_compression_astc_ldr{},
Extensions::KHR::texture_compression_astc_sliced_3d{},
@ -290,6 +291,7 @@ constexpr Extension ExtensionList[]{
#ifndef MAGNUM_TARGET_GLES2
Extensions::EXT::texture_norm16{},
#endif
Extensions::KHR::parallel_shader_compile{},
Extensions::OES::texture_float_linear{},
#ifndef MAGNUM_TARGET_GLES2
Extensions::OVR::multiview2{},
@ -394,6 +396,7 @@ constexpr Extension ExtensionList[]{
Extensions::KHR::blend_equation_advanced_coherent{},
Extensions::KHR::context_flush_control{},
Extensions::KHR::no_error{},
Extensions::KHR::parallel_shader_compile{},
Extensions::KHR::texture_compression_astc_hdr{},
Extensions::KHR::texture_compression_astc_sliced_3d{},
#ifndef MAGNUM_TARGET_GLES2

6
src/Magnum/GL/Extensions.h

@ -256,8 +256,9 @@ namespace AMD {
_extension(167,KHR,blend_equation_advanced_coherent, GL210, None) // #174
_extension(168,KHR,no_error, GL210, GL460) // #175
_extension(169,KHR,texture_compression_astc_sliced_3d, GL210, None) // #189
_extension(170,KHR,parallel_shader_compile, GL210, None) // #192
} namespace MAGNUM {
_extension(170,MAGNUM,shader_vertex_id, GL300, GL300)
_extension(171,MAGNUM,shader_vertex_id, GL300, GL300)
} namespace NV {
_extension(175,NV,primitive_restart, GL210, GL310) // #285
_extension(176,NV,depth_buffer_float, GL210, GL300) // #334
@ -305,6 +306,8 @@ namespace ANGLE {
#ifndef MAGNUM_TARGET_GLES2
_extension(16,EXT,draw_buffers_indexed, GLES300, None) // #45
#endif
} namespace KHR {
_extension(17,KHR,parallel_shader_compile, GLES200, None) // #37
} namespace OES {
#ifdef MAGNUM_TARGET_GLES2
_extension(20,OES,texture_float, GLES200, GLES300) // #1
@ -488,6 +491,7 @@ namespace ANDROID {
_extension( 87,KHR,context_flush_control, GLES200, None) // #191
_extension( 88,KHR,no_error, GLES200, None) // #243
_extension( 89,KHR,texture_compression_astc_sliced_3d, GLES200, None) // #249
_extension( 90,KHR,parallel_shader_compile, GLES200, None) // #288
} namespace NV {
#ifdef MAGNUM_TARGET_GLES2
_extension(100,NV,draw_buffers, GLES200, GLES300) // #91

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

@ -41,6 +41,7 @@ extension KHR_texture_compression_astc_ldr optional
extension KHR_blend_equation_advanced optional
extension KHR_blend_equation_advanced_coherent optional
# extension KHR_texture_compression_astc_sliced_3d optional
extension KHR_parallel_shader_compile optional
extension NV_sample_locations optional
extension NV_fragment_shader_barycentric optional
extension OVR_multiview optional

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

@ -222,6 +222,9 @@ FlextGL flextGL{
/* GL_KHR_blend_equation_advanced */
nullptr,
/* GL_KHR_parallel_shader_compile */
nullptr,
/* GL_NV_sample_locations */
nullptr,
nullptr,

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

@ -1773,6 +1773,11 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
/* GL_KHR_parallel_shader_compile */
#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0
#define GL_COMPLETION_STATUS_KHR 0x91B1
/* GL_NV_sample_locations */
#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D
@ -1876,6 +1881,10 @@ struct FlextGL {
void(APIENTRY *BlendBarrierKHR)(void);
/* GL_KHR_parallel_shader_compile */
void(APIENTRY *MaxShaderCompilerThreadsKHR)(GLuint);
/* GL_NV_sample_locations */
void(APIENTRY *FramebufferSampleLocationsfvNV)(GLenum, GLuint, GLsizei, const GLfloat *);
@ -2680,6 +2689,10 @@ extern FLEXTGL_EXPORT FlextGL flextGL;
#define glBlendBarrierKHR flextGL.BlendBarrierKHR
/* GL_KHR_parallel_shader_compile */
#define glMaxShaderCompilerThreadsKHR flextGL.MaxShaderCompilerThreadsKHR
/* GL_NV_sample_locations */
#define glFramebufferSampleLocationsfvNV flextGL.FramebufferSampleLocationsfvNV

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

@ -186,6 +186,9 @@ void flextGLInit(Magnum::GL::Context& context) {
/* GL_KHR_blend_equation_advanced */
flextGL.BlendBarrierKHR = reinterpret_cast<void(APIENTRY*)(void)>(loader.load("glBlendBarrierKHR"));
/* GL_KHR_parallel_shader_compile */
flextGL.MaxShaderCompilerThreadsKHR = reinterpret_cast<void(APIENTRY*)(GLuint)>(loader.load("glMaxShaderCompilerThreadsKHR"));
/* GL_NV_sample_locations */
flextGL.FramebufferSampleLocationsfvNV = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint, GLsizei, const GLfloat *)>(loader.load("glFramebufferSampleLocationsfvNV"));
flextGL.NamedFramebufferSampleLocationsfvNV = reinterpret_cast<void(APIENTRY*)(GLuint, GLuint, GLsizei, const GLfloat *)>(loader.load("glNamedFramebufferSampleLocationsfvNV"));

6
src/MagnumExternal/OpenGL/GLES2/Emscripten/extensions.txt vendored

@ -40,6 +40,10 @@ extension KHR_texture_compression_astc_ldr optional
# barrier
extension KHR_blend_equation_advanced optional
# KHR_parallel_shader_compile includes just GL_COMPLETION_STATUS_KHR and not
# the max threads setting
extension KHR_parallel_shader_compile optional
# From the gl_angle_ext file, base for WEBGL_multi_draw
extension ANGLE_multi_draw optional
# Base for WEBGL_{multi_,}draw_instanced_base_vertex_base_instance
@ -52,6 +56,8 @@ extension ANGLE_base_vertex_base_instance optional
begin functions blacklist
# Not present in WEBGL_blend_equation_advanced_coherent
BlendBarrierKHR
# Not present in WebGL variant of KHR_parallel_shader_compile
MaxShaderCompilerThreadsKHR
end functions blacklist
# kate: hl python

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

@ -99,6 +99,7 @@ extension KHR_blend_equation_advanced_coherent optional
extension KHR_context_flush_control optional
extension KHR_no_error optional
# extension KHR_texture_compression_astc_sliced_3d optional
extension KHR_parallel_shader_compile optional
extension NV_read_buffer_front optional
extension NV_read_depth optional
extension NV_read_stencil optional

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

@ -1019,6 +1019,11 @@ typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLen
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* GL_KHR_parallel_shader_compile */
#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0
#define GL_COMPLETION_STATUS_KHR 0x91B1
/* GL_NV_texture_border_clamp */
#define GL_TEXTURE_BORDER_COLOR_NV 0x1004
@ -1393,6 +1398,10 @@ struct FlextGL {
void(APIENTRY *PopDebugGroupKHR)(void);
void(APIENTRY *PushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *);
/* GL_KHR_parallel_shader_compile */
void(APIENTRY *MaxShaderCompilerThreadsKHR)(GLuint);
/* GL_KHR_robustness */
GLenum(APIENTRY *GetGraphicsResetStatusKHR)(void);
@ -1643,6 +1652,10 @@ extern FLEXTGL_EXPORT FlextGL flextGL;
#define glPopDebugGroupKHR flextGL.PopDebugGroupKHR
#define glPushDebugGroupKHR flextGL.PushDebugGroupKHR
/* GL_KHR_parallel_shader_compile */
#define glMaxShaderCompilerThreadsKHR flextGL.MaxShaderCompilerThreadsKHR
/* GL_KHR_robustness */
#define glGetGraphicsResetStatusKHR flextGL.GetGraphicsResetStatusKHR

5
src/MagnumExternal/OpenGL/GLES2/flextGLEmscripten.h vendored

@ -576,6 +576,11 @@ typedef khronos_uint64_t GLuint64;
#define GL_HSL_COLOR_KHR 0x92AF
#define GL_HSL_LUMINOSITY_KHR 0x92B0
/* GL_KHR_parallel_shader_compile */
#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0
#define GL_COMPLETION_STATUS_KHR 0x91B1
/* Function prototypes */
/* GL_ANGLE_base_vertex_base_instance */

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

@ -187,6 +187,9 @@ void flextGLInit(Magnum::GL::Context&) {
flextGL.PopDebugGroupKHR = reinterpret_cast<void(APIENTRY*)(void)>(loader.load("glPopDebugGroupKHR"));
flextGL.PushDebugGroupKHR = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint, GLsizei, const GLchar *)>(loader.load("glPushDebugGroupKHR"));
/* GL_KHR_parallel_shader_compile */
flextGL.MaxShaderCompilerThreadsKHR = reinterpret_cast<void(APIENTRY*)(GLuint)>(loader.load("glMaxShaderCompilerThreadsKHR"));
/* GL_KHR_robustness */
flextGL.GetGraphicsResetStatusKHR = reinterpret_cast<GLenum(APIENTRY*)(void)>(loader.load("glGetGraphicsResetStatusKHR"));
flextGL.GetnUniformfvKHR = reinterpret_cast<void(APIENTRY*)(GLuint, GLint, GLsizei, GLfloat *)>(loader.load("glGetnUniformfvKHR"));

6
src/MagnumExternal/OpenGL/GLES2/flextGLPlatformIOS.cpp vendored

@ -131,6 +131,7 @@
#undef glObjectPtrLabelKHR
#undef glPopDebugGroupKHR
#undef glPushDebugGroupKHR
#undef glMaxShaderCompilerThreadsKHR
#undef glGetGraphicsResetStatusKHR
#undef glGetnUniformfvKHR
#undef glGetnUniformivKHR
@ -372,6 +373,11 @@ void flextGLInit(Magnum::GL::Context&) {
flextGL.PushDebugGroupKHR = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint, GLsizei, const GLchar *)>(glPushDebugGroupKHR);
#endif
/* GL_KHR_parallel_shader_compile */
#if GL_KHR_parallel_shader_compile
flextGL.MaxShaderCompilerThreadsKHR = reinterpret_cast<void(APIENTRY*)(GLuint)>(glMaxShaderCompilerThreadsKHR);
#endif
/* GL_KHR_robustness */
#if GL_KHR_robustness
flextGL.GetGraphicsResetStatusKHR = reinterpret_cast<GLenum(APIENTRY*)(void)>(glGetGraphicsResetStatusKHR);

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

@ -286,6 +286,9 @@ void flextGLInit(Magnum::GL::Context&) {
flextGL.PopDebugGroupKHR = reinterpret_cast<void(APIENTRY*)(void)>(loader.load("glPopDebugGroupKHR"));
flextGL.PushDebugGroupKHR = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint, GLsizei, const GLchar *)>(loader.load("glPushDebugGroupKHR"));
/* GL_KHR_parallel_shader_compile */
flextGL.MaxShaderCompilerThreadsKHR = reinterpret_cast<void(APIENTRY*)(GLuint)>(loader.load("glMaxShaderCompilerThreadsKHR"));
/* GL_KHR_robustness */
flextGL.GetGraphicsResetStatusKHR = reinterpret_cast<GLenum(APIENTRY*)(void)>(loader.load("glGetGraphicsResetStatusKHR"));
flextGL.GetnUniformfvKHR = reinterpret_cast<void(APIENTRY*)(GLuint, GLint, GLsizei, GLfloat *)>(loader.load("glGetnUniformfvKHR"));

13
src/MagnumExternal/OpenGL/GLES2/flextGLWindowsDesktop.h vendored

@ -1015,6 +1015,11 @@ typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLen
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* GL_KHR_parallel_shader_compile */
#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0
#define GL_COMPLETION_STATUS_KHR 0x91B1
/* GL_NV_texture_border_clamp */
#define GL_TEXTURE_BORDER_COLOR_NV 0x1004
@ -1393,6 +1398,10 @@ struct FlextGL {
void(APIENTRY *PopDebugGroupKHR)(void);
void(APIENTRY *PushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *);
/* GL_KHR_parallel_shader_compile */
void(APIENTRY *MaxShaderCompilerThreadsKHR)(GLuint);
/* GL_KHR_robustness */
GLenum(APIENTRY *GetGraphicsResetStatusKHR)(void);
@ -1743,6 +1752,10 @@ extern FLEXTGL_EXPORT FlextGL flextGL;
#define glPopDebugGroupKHR flextGL.PopDebugGroupKHR
#define glPushDebugGroupKHR flextGL.PushDebugGroupKHR
/* GL_KHR_parallel_shader_compile */
#define glMaxShaderCompilerThreadsKHR flextGL.MaxShaderCompilerThreadsKHR
/* GL_KHR_robustness */
#define glGetGraphicsResetStatusKHR flextGL.GetGraphicsResetStatusKHR

6
src/MagnumExternal/OpenGL/GLES3/Emscripten/extensions.txt vendored

@ -29,6 +29,10 @@ extension KHR_texture_compression_astc_ldr optional
# barrier
extension KHR_blend_equation_advanced optional
# KHR_parallel_shader_compile includes just GL_COMPLETION_STATUS_KHR and not
# the max threads setting
extension KHR_parallel_shader_compile optional
# From the gl_angle_ext file, base for WEBGL_multi_draw etc
extension ANGLE_multi_draw optional
extension ANGLE_base_vertex_base_instance optional
@ -41,6 +45,8 @@ extension MAGNUM_what_webgl_has_but_es_not optional
begin functions blacklist
# Not present in WEBGL_blend_equation_advanced_coherent
BlendBarrierKHR
# Not present in WebGL variant of KHR_parallel_shader_compile
MaxShaderCompilerThreadsKHR
end functions blacklist
# kate: hl python

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

@ -73,6 +73,7 @@ extension KHR_blend_equation_advanced_coherent optional
extension KHR_context_flush_control optional
extension KHR_no_error optional
# extension KHR_texture_compression_astc_sliced_3d optional
extension KHR_parallel_shader_compile optional
extension NV_read_buffer_front optional
extension NV_read_depth optional
extension NV_read_stencil optional

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

@ -1634,6 +1634,11 @@ typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLen
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* GL_KHR_parallel_shader_compile */
#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0
#define GL_COMPLETION_STATUS_KHR 0x91B1
/* GL_NV_texture_border_clamp */
#define GL_TEXTURE_BORDER_COLOR_NV 0x1004
@ -2238,6 +2243,10 @@ struct FlextGL {
void(APIENTRY *PopDebugGroupKHR)(void);
void(APIENTRY *PushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *);
/* GL_KHR_parallel_shader_compile */
void(APIENTRY *MaxShaderCompilerThreadsKHR)(GLuint);
/* GL_KHR_robustness */
GLenum(APIENTRY *GetGraphicsResetStatusKHR)(void);
@ -2577,6 +2586,10 @@ extern FLEXTGL_EXPORT FlextGL flextGL;
#define glPopDebugGroupKHR flextGL.PopDebugGroupKHR
#define glPushDebugGroupKHR flextGL.PushDebugGroupKHR
/* GL_KHR_parallel_shader_compile */
#define glMaxShaderCompilerThreadsKHR flextGL.MaxShaderCompilerThreadsKHR
/* GL_KHR_robustness */
#define glGetGraphicsResetStatusKHR flextGL.GetGraphicsResetStatusKHR

5
src/MagnumExternal/OpenGL/GLES3/flextGLEmscripten.h vendored

@ -879,6 +879,11 @@ typedef struct __GLsync *GLsync;
#define GL_HSL_COLOR_KHR 0x92AF
#define GL_HSL_LUMINOSITY_KHR 0x92B0
/* GL_KHR_parallel_shader_compile */
#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0
#define GL_COMPLETION_STATUS_KHR 0x91B1
/* Function prototypes */
/* GL_ANGLE_base_vertex_base_instance */

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

@ -305,6 +305,9 @@ void flextGLInit(Magnum::GL::Context&) {
flextGL.PopDebugGroupKHR = reinterpret_cast<void(APIENTRY*)(void)>(loader.load("glPopDebugGroupKHR"));
flextGL.PushDebugGroupKHR = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint, GLsizei, const GLchar *)>(loader.load("glPushDebugGroupKHR"));
/* GL_KHR_parallel_shader_compile */
flextGL.MaxShaderCompilerThreadsKHR = reinterpret_cast<void(APIENTRY*)(GLuint)>(loader.load("glMaxShaderCompilerThreadsKHR"));
/* GL_KHR_robustness */
flextGL.GetGraphicsResetStatusKHR = reinterpret_cast<GLenum(APIENTRY*)(void)>(loader.load("glGetGraphicsResetStatusKHR"));
flextGL.GetnUniformfvKHR = reinterpret_cast<void(APIENTRY*)(GLuint, GLint, GLsizei, GLfloat *)>(loader.load("glGetnUniformfvKHR"));

6
src/MagnumExternal/OpenGL/GLES3/flextGLPlatformIOS.cpp vendored

@ -141,6 +141,7 @@
#undef glObjectPtrLabelKHR
#undef glPopDebugGroupKHR
#undef glPushDebugGroupKHR
#undef glMaxShaderCompilerThreadsKHR
#undef glGetGraphicsResetStatusKHR
#undef glGetnUniformfvKHR
#undef glGetnUniformivKHR
@ -361,6 +362,11 @@ void flextGLInit(Magnum::GL::Context&) {
flextGL.PushDebugGroupKHR = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint, GLsizei, const GLchar *)>(glPushDebugGroupKHR);
#endif
/* GL_KHR_parallel_shader_compile */
#if GL_KHR_parallel_shader_compile
flextGL.MaxShaderCompilerThreadsKHR = reinterpret_cast<void(APIENTRY*)(GLuint)>(glMaxShaderCompilerThreadsKHR);
#endif
/* GL_KHR_robustness */
#if GL_KHR_robustness
flextGL.GetGraphicsResetStatusKHR = reinterpret_cast<GLenum(APIENTRY*)(void)>(glGetGraphicsResetStatusKHR);

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

@ -507,6 +507,9 @@ void flextGLInit(Magnum::GL::Context&) {
flextGL.PopDebugGroupKHR = reinterpret_cast<void(APIENTRY*)(void)>(loader.load("glPopDebugGroupKHR"));
flextGL.PushDebugGroupKHR = reinterpret_cast<void(APIENTRY*)(GLenum, GLuint, GLsizei, const GLchar *)>(loader.load("glPushDebugGroupKHR"));
/* GL_KHR_parallel_shader_compile */
flextGL.MaxShaderCompilerThreadsKHR = reinterpret_cast<void(APIENTRY*)(GLuint)>(loader.load("glMaxShaderCompilerThreadsKHR"));
/* GL_KHR_robustness */
flextGL.GetGraphicsResetStatusKHR = reinterpret_cast<GLenum(APIENTRY*)(void)>(loader.load("glGetGraphicsResetStatusKHR"));
flextGL.GetnUniformfvKHR = reinterpret_cast<void(APIENTRY*)(GLuint, GLint, GLsizei, GLfloat *)>(loader.load("glGetnUniformfvKHR"));

13
src/MagnumExternal/OpenGL/GLES3/flextGLWindowsDesktop.h vendored

@ -1627,6 +1627,11 @@ typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLen
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* GL_KHR_parallel_shader_compile */
#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0
#define GL_COMPLETION_STATUS_KHR 0x91B1
/* GL_NV_texture_border_clamp */
#define GL_TEXTURE_BORDER_COLOR_NV 0x1004
@ -2242,6 +2247,10 @@ struct FlextGL {
void(APIENTRY *PopDebugGroupKHR)(void);
void(APIENTRY *PushDebugGroupKHR)(GLenum, GLuint, GLsizei, const GLchar *);
/* GL_KHR_parallel_shader_compile */
void(APIENTRY *MaxShaderCompilerThreadsKHR)(GLuint);
/* GL_KHR_robustness */
GLenum(APIENTRY *GetGraphicsResetStatusKHR)(void);
@ -2785,6 +2794,10 @@ extern FLEXTGL_EXPORT FlextGL flextGL;
#define glPopDebugGroupKHR flextGL.PopDebugGroupKHR
#define glPushDebugGroupKHR flextGL.PushDebugGroupKHR
/* GL_KHR_parallel_shader_compile */
#define glMaxShaderCompilerThreadsKHR flextGL.MaxShaderCompilerThreadsKHR
/* GL_KHR_robustness */
#define glGetGraphicsResetStatusKHR flextGL.GetGraphicsResetStatusKHR

Loading…
Cancel
Save