From cb44f06359291bd0fd33f1caecaf621f9fc7e23d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 6 Jul 2015 22:27:42 +0200 Subject: [PATCH] Added NV_shader_noperspective_interpolation ES3 extension. --- doc/opengl-support.dox | 1 + src/Magnum/Context.cpp | 3 +++ src/Magnum/Extensions.h | 3 +++ src/MagnumExternal/OpenGL/GLES3/extensions.txt | 1 + src/MagnumExternal/OpenGL/GLES3/flextGL.h | 3 +++ src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp | 2 ++ 6 files changed, 13 insertions(+) diff --git a/doc/opengl-support.dox b/doc/opengl-support.dox index ce0d37d0d..b29a8ff8b 100644 --- a/doc/opengl-support.dox +++ b/doc/opengl-support.dox @@ -383,6 +383,7 @@ Extension | Status @es_extension2{NV,read_stencil,NV_read_depth_stencil} | done @es_extension{NV,read_depth_stencil} | done @es_extension{NV,texture_border_clamp} | done +@es_extension{NV,shader_noperspective_interpolation} | done (shading language only) @es_extension{NV,polygon_mode} | done @es_extension{OES,depth32} | done @es_extension{OES,mapbuffer} | done diff --git a/src/Magnum/Context.cpp b/src/Magnum/Context.cpp index 623899d91..faf86988f 100644 --- a/src/Magnum/Context.cpp +++ b/src/Magnum/Context.cpp @@ -291,6 +291,9 @@ const std::vector& Extension::extensions(Version version) { _extension(GL,NV,read_stencil), _extension(GL,NV,read_depth_stencil), _extension(GL,NV,texture_border_clamp), + #ifndef MAGNUM_TARGET_GLES2 + _extension(GL,NV,shader_noperspective_interpolation), + #endif _extension(GL,NV,polygon_mode), _extension(GL,OES,depth32), _extension(GL,OES,mapbuffer), diff --git a/src/Magnum/Extensions.h b/src/Magnum/Extensions.h index 68e3c66a3..3272c8db7 100644 --- a/src/Magnum/Extensions.h +++ b/src/Magnum/Extensions.h @@ -379,6 +379,9 @@ namespace GL { _extension(GL,NV,shadow_samplers_cube, GLES200, GLES300) // #147 #endif _extension(GL,NV,texture_border_clamp, GLES200, None) // #149 + #ifndef MAGNUM_TARGET_GLES2 + _extension(GL,NV,shader_noperspective_interpolation, GLES300, None) // #201 + #endif _extension(GL,NV,polygon_mode, GLES200, None) // #238 } namespace OES { #ifdef MAGNUM_TARGET_GLES2 diff --git a/src/MagnumExternal/OpenGL/GLES3/extensions.txt b/src/MagnumExternal/OpenGL/GLES3/extensions.txt index df54f0889..ad8213b31 100644 --- a/src/MagnumExternal/OpenGL/GLES3/extensions.txt +++ b/src/MagnumExternal/OpenGL/GLES3/extensions.txt @@ -40,6 +40,7 @@ extension NV_read_depth optional extension NV_read_stencil optional extension NV_read_depth_stencil optional extension NV_texture_border_clamp optional +extension NV_shader_noperspective_interpolation optional extension NV_polygon_mode optional extension OES_depth32 optional extension OES_mapbuffer optional diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGL.h b/src/MagnumExternal/OpenGL/GLES3/flextGL.h index 60d76a445..156da6524 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGL.h +++ b/src/MagnumExternal/OpenGL/GLES3/flextGL.h @@ -2144,6 +2144,9 @@ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglGetnUniformuivKHR)(GLuint, GLint, GLs /* GL_NV_texture_border_clamp */ +/* GL_NV_shader_noperspective_interpolation */ + + /* GL_NV_polygon_mode */ GLAPI FLEXTGL_EXPORT void(APIENTRY *flextglPolygonModeNV)(GLenum, GLenum); diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp index 5e214aa1f..4b68c03d4 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLPlatform.cpp @@ -280,6 +280,8 @@ void flextGLInit() { /* GL_NV_texture_border_clamp */ + /* GL_NV_shader_noperspective_interpolation */ + /* GL_NV_polygon_mode */ flextglPolygonModeNV = reinterpret_cast(loader.load("glPolygonModeNV"));