Browse Source

Implemented KHR_no_error.

pull/183/head^2
Vladimír Vondruš 10 years ago
parent
commit
d2f8821ce7
  1. 4
      doc/opengl-support.dox
  2. 1
      src/Magnum/Context.cpp
  3. 7
      src/Magnum/Context.h
  4. 2
      src/Magnum/Platform/GlfwApplication.h
  5. 11
      src/Magnum/Platform/magnum-info.cpp
  6. 1
      src/MagnumExternal/OpenGL/GL/extensions.txt
  7. 4
      src/MagnumExternal/OpenGL/GL/flextGL.h
  8. 1
      src/MagnumExternal/OpenGL/GLES2/extensions.txt
  9. 4
      src/MagnumExternal/OpenGL/GLES2/flextGL.h
  10. 1
      src/MagnumExternal/OpenGL/GLES3/extensions.txt
  11. 4
      src/MagnumExternal/OpenGL/GLES3/flextGL.h

4
doc/opengl-support.dox

@ -248,7 +248,7 @@ Extension | Status
@extension{ARB,transform_feedback_overflow_query} | | @extension{ARB,transform_feedback_overflow_query} | |
@extension{KHR,blend_equation_advanced} | done @extension{KHR,blend_equation_advanced} | done
@extension3{KHR,blend_equation_advanced_coherent,blend_equation_advanced} | done @extension3{KHR,blend_equation_advanced_coherent,blend_equation_advanced} | done
@extension{KHR,no_error} | | @extension{KHR,no_error} | done
@subsection opengl-support-extensions-vendor Vendor OpenGL extensions @subsection opengl-support-extensions-vendor Vendor OpenGL extensions
@ -384,7 +384,7 @@ Extension | Status
@es_extension{KHR,robustness} | | @es_extension{KHR,robustness} | |
@es_extension{KHR,robust_buffer_access_behavior} | done (nothing to do) @es_extension{KHR,robust_buffer_access_behavior} | done (nothing to do)
@es_extension{KHR,context_flush_control} | | @es_extension{KHR,context_flush_control} | |
@es_extension2{KHR,no_error,no_error} | | @es_extension2{KHR,no_error,no_error} | done
@es_extension2{NV,read_buffer_front,NV_read_buffer} | done @es_extension2{NV,read_buffer_front,NV_read_buffer} | done
@es_extension2{NV,read_depth,NV_read_depth_stencil} | done @es_extension2{NV,read_depth,NV_read_depth_stencil} | done
@es_extension2{NV,read_stencil,NV_read_depth_stencil} | done @es_extension2{NV,read_stencil,NV_read_depth_stencil} | done

1
src/Magnum/Context.cpp

@ -812,6 +812,7 @@ Debug& operator<<(Debug& debug, const Context::Flag value) {
switch(value) { switch(value) {
#define _c(value) case Context::Flag::value: return debug << "Context::Flag::" #value; #define _c(value) case Context::Flag::value: return debug << "Context::Flag::" #value;
_c(Debug) _c(Debug)
_c(NoError)
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
_c(RobustAccess) _c(RobustAccess)
#endif #endif

7
src/Magnum/Context.h

@ -136,6 +136,13 @@ class MAGNUM_EXPORT Context {
Debug = GL_CONTEXT_FLAG_DEBUG_BIT_KHR, Debug = GL_CONTEXT_FLAG_DEBUG_BIT_KHR,
#endif #endif
/**
* Context without error reporting
* @requires_extension Extension @extension{KHR,no_error}
* @requires_es_extension Extension @es_extension2{KHR,no_error,no_error}
*/
NoError = GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR,
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
/** /**
* Context with robust access * Context with robust access

2
src/Magnum/Platform/GlfwApplication.h

@ -290,7 +290,7 @@ class GlfwApplication::Configuration {
/** /**
* @brief Context flag * @brief Context flag
* *
* @see @ref Flags, @ref setFlags() * @see @ref Flags, @ref setFlags(), @ref Context::Flag
*/ */
enum class Flag: Int { enum class Flag: Int {
#ifdef GLFW_CONTEXT_NO_ERROR #ifdef GLFW_CONTEXT_NO_ERROR

11
src/Magnum/Platform/magnum-info.cpp

@ -269,11 +269,12 @@ MagnumInfo::MagnumInfo(const Arguments& arguments): Platform::WindowlessApplicat
Context& c = Context::current(); Context& c = Context::current();
Debug() << "Context flags:"; Debug() << "Context flags:";
#ifndef MAGNUM_TARGET_GLES for(const auto flag: {Context::Flag::Debug,
for(const auto flag: {Context::Flag::Debug, Context::Flag::RobustAccess}) Context::Flag::NoError,
#else #ifndef MAGNUM_TARGET_GLES
for(const auto flag: {Context::Flag::Debug}) Context::Flag::RobustAccess
#endif #endif
})
if(c.flags() & flag) Debug() << " " << flag; if(c.flags() & flag) Debug() << " " << flag;
Debug() << "Supported GLSL versions:"; Debug() << "Supported GLSL versions:";

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

@ -33,3 +33,4 @@ extension KHR_texture_compression_astc_ldr optional
extension KHR_texture_compression_astc_hdr optional extension KHR_texture_compression_astc_hdr optional
extension KHR_blend_equation_advanced optional extension KHR_blend_equation_advanced optional
extension KHR_blend_equation_advanced_coherent optional extension KHR_blend_equation_advanced_coherent optional
extension KHR_no_error optional

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

@ -1749,6 +1749,10 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285 #define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285
/* GL_KHR_no_error */
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* Function prototypes */ /* Function prototypes */
/* GL_ARB_bindless_texture */ /* GL_ARB_bindless_texture */

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

@ -74,6 +74,7 @@ extension KHR_blend_equation_advanced_coherent optional
extension KHR_robustness optional extension KHR_robustness optional
extension KHR_robust_buffer_access_behavior optional extension KHR_robust_buffer_access_behavior optional
extension KHR_context_flush_control optional extension KHR_context_flush_control optional
extension KHR_no_error optional
extension NV_read_buffer_front optional extension NV_read_buffer_front optional
extension NV_read_depth optional extension NV_read_depth optional
extension NV_read_stencil optional extension NV_read_stencil optional

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

@ -981,6 +981,10 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x82FC #define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x82FC
#define GL_NONE 0 #define GL_NONE 0
/* GL_KHR_no_error */
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* GL_NV_texture_border_clamp */ /* GL_NV_texture_border_clamp */
#define GL_TEXTURE_BORDER_COLOR_NV 0x1004 #define GL_TEXTURE_BORDER_COLOR_NV 0x1004

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

@ -36,6 +36,7 @@ extension KHR_blend_equation_advanced_coherent optional
extension KHR_robustness optional extension KHR_robustness optional
extension KHR_robust_buffer_access_behavior optional extension KHR_robust_buffer_access_behavior optional
extension KHR_context_flush_control optional extension KHR_context_flush_control optional
extension KHR_no_error optional
extension NV_read_buffer_front optional extension NV_read_buffer_front optional
extension NV_read_depth optional extension NV_read_depth optional
extension NV_read_stencil optional extension NV_read_stencil optional

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

@ -1280,6 +1280,10 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x82FC #define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x82FC
#define GL_NONE 0 #define GL_NONE 0
/* GL_KHR_no_error */
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* GL_NV_texture_border_clamp */ /* GL_NV_texture_border_clamp */
#define GL_TEXTURE_BORDER_COLOR_NV 0x1004 #define GL_TEXTURE_BORDER_COLOR_NV 0x1004

Loading…
Cancel
Save