diff --git a/doc/changelog.dox b/doc/changelog.dox index 9dfed540a..e5a426603 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -160,6 +160,7 @@ See also: @ref GL::TextureFormat values available also on OpenGL ES 2.0 and WebGL. The values were already present in WebGL 2.0 builds by accident before, without documenting corresponding extension requirements. +- Recognizing the @gl_extension{NV,geometry_shader_passthrough} extension - Added a @ref GL::AbstractTexture::target() getter to simplify interaction with raw GL code - Exposed @gl_extension{ARB,buffer_storage} as diff --git a/doc/opengl-support.dox b/doc/opengl-support.dox index a8f2d6c0e..0be9a73e3 100644 --- a/doc/opengl-support.dox +++ b/doc/opengl-support.dox @@ -323,6 +323,7 @@ Extension | Status @gl_extension{EXT,texture_sRGB_R8} | done @gl_extension{EXT,texture_sRGB_RG8} | done @gl_extension{GREMEDY,string_marker} | done +@gl_extension{NV,geometry_shader_passthrough} | done (shading language only) @gl_extension{NV,sample_locations} | | @gl_extension{NV,fragment_shader_barycentric} | done (shading language only) @gl_extension{OVR,multiview} | | @@ -497,6 +498,7 @@ Extension | Status @gl_extension{NV,read_depth_stencil} | done @gl_extension{NV,texture_border_clamp} | done @gl_extension{NV,shader_noperspective_interpolation} | done (shading language only) +@gl_extension{NV,geometry_shader_passthrough} | done (shading language only) @gl_extension{NV,sample_locations} | | @gl_extension{NV,polygon_mode} | done @gl_extension{OES,depth32} | done diff --git a/src/Magnum/GL/Context.cpp b/src/Magnum/GL/Context.cpp index 8c0b2640e..396373858 100644 --- a/src/Magnum/GL/Context.cpp +++ b/src/Magnum/GL/Context.cpp @@ -112,6 +112,7 @@ constexpr Extension ExtensionList[]{ Extensions::KHR::texture_compression_astc_sliced_3d{}, Extensions::NV::depth_buffer_float{}, Extensions::NV::fragment_shader_barycentric{}, + Extensions::NV::geometry_shader_passthrough{}, Extensions::NV::sample_locations{}, Extensions::OVR::multiview{}, Extensions::OVR::multiview2{} @@ -415,6 +416,9 @@ constexpr Extension ExtensionList[]{ #ifndef MAGNUM_TARGET_GLES2 Extensions::NV::fragment_shader_barycentric{}, #endif + #ifndef MAGNUM_TARGET_GLES2 + Extensions::NV::geometry_shader_passthrough{}, + #endif Extensions::NV::polygon_mode{}, Extensions::NV::read_buffer_front{}, Extensions::NV::read_depth{}, diff --git a/src/Magnum/GL/Extensions.h b/src/Magnum/GL/Extensions.h index 71214e5f5..8ba00ec71 100644 --- a/src/Magnum/GL/Extensions.h +++ b/src/Magnum/GL/Extensions.h @@ -264,8 +264,9 @@ namespace AMD { _extension(176,NV,depth_buffer_float, GL210, None) // #334 _extension(177,NV,conditional_render, GL210, GL300) // #346 /* NV_draw_texture not supported */ // #430 - _extension(178,NV,sample_locations, GL210, None) // #472 - _extension(179,NV,fragment_shader_barycentric, GL450, None) // #526 + _extension(178,NV,geometry_shader_passthrough, GL330, None) // #470 + _extension(179,NV,sample_locations, GL210, None) // #472 + _extension(180,NV,fragment_shader_barycentric, GL450, None) // #526 } namespace OVR { _extension(185,OVR,multiview, GL300, None) // #478 _extension(186,OVR,multiview2, GL300, None) // #479 @@ -532,10 +533,13 @@ namespace ANDROID { #ifndef MAGNUM_TARGET_GLES2 _extension(115,NV,shader_noperspective_interpolation, GLES300, None) // #201 #endif - _extension(116,NV,sample_locations, GLES200, None) // #235 - _extension(117,NV,polygon_mode, GLES200, None) // #238 #ifndef MAGNUM_TARGET_GLES2 - _extension(118,NV,fragment_shader_barycentric, GLES320, None) // #316 + _extension(116,NV,geometry_shader_passthrough, GLES300, None) // #233 + #endif + _extension(117,NV,sample_locations, GLES200, None) // #235 + _extension(118,NV,polygon_mode, GLES200, None) // #238 + #ifndef MAGNUM_TARGET_GLES2 + _extension(119,NV,fragment_shader_barycentric, GLES320, None) // #316 #endif } namespace OES { #ifdef MAGNUM_TARGET_GLES2