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{KHR,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
@ -384,7 +384,7 @@ Extension | Status
@es_extension{KHR,robustness} | |
@es_extension{KHR,robust_buffer_access_behavior} | done (nothing to do)
@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_depth,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) {
#define _c(value) case Context::Flag::value: return debug << "Context::Flag::" #value;
_c(Debug)
_c(NoError)
#ifndef MAGNUM_TARGET_GLES
_c(RobustAccess)
#endif

7
src/Magnum/Context.h

@ -136,6 +136,13 @@ class MAGNUM_EXPORT Context {
Debug = GL_CONTEXT_FLAG_DEBUG_BIT_KHR,
#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
/**
* Context with robust access

2
src/Magnum/Platform/GlfwApplication.h

@ -290,7 +290,7 @@ class GlfwApplication::Configuration {
/**
* @brief Context flag
*
* @see @ref Flags, @ref setFlags()
* @see @ref Flags, @ref setFlags(), @ref Context::Flag
*/
enum class Flag: Int {
#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();
Debug() << "Context flags:";
#ifndef MAGNUM_TARGET_GLES
for(const auto flag: {Context::Flag::Debug, Context::Flag::RobustAccess})
#else
for(const auto flag: {Context::Flag::Debug})
#endif
for(const auto flag: {Context::Flag::Debug,
Context::Flag::NoError,
#ifndef MAGNUM_TARGET_GLES
Context::Flag::RobustAccess
#endif
})
if(c.flags() & flag) Debug() << " " << flag;
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_blend_equation_advanced 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
/* GL_KHR_no_error */
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* Function prototypes */
/* 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_robust_buffer_access_behavior optional
extension KHR_context_flush_control optional
extension KHR_no_error optional
extension NV_read_buffer_front optional
extension NV_read_depth 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_NONE 0
/* GL_KHR_no_error */
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* GL_NV_texture_border_clamp */
#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_robust_buffer_access_behavior optional
extension KHR_context_flush_control optional
extension KHR_no_error optional
extension NV_read_buffer_front optional
extension NV_read_depth 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_NONE 0
/* GL_KHR_no_error */
#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008
/* GL_NV_texture_border_clamp */
#define GL_TEXTURE_BORDER_COLOR_NV 0x1004

Loading…
Cancel
Save