Browse Source

GL: recognize NV_geometry_shader_passthrough.

pull/168/head
Vladimír Vondruš 3 years ago
parent
commit
5f287df332
  1. 1
      doc/changelog.dox
  2. 2
      doc/opengl-support.dox
  3. 4
      src/Magnum/GL/Context.cpp
  4. 14
      src/Magnum/GL/Extensions.h

1
doc/changelog.dox

@ -160,6 +160,7 @@ See also:
@ref GL::TextureFormat values available also on OpenGL ES 2.0 and WebGL. @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, The values were already present in WebGL 2.0 builds by accident before,
without documenting corresponding extension requirements. without documenting corresponding extension requirements.
- Recognizing the @gl_extension{NV,geometry_shader_passthrough} extension
- Added a @ref GL::AbstractTexture::target() getter to simplify interaction - Added a @ref GL::AbstractTexture::target() getter to simplify interaction
with raw GL code with raw GL code
- Exposed @gl_extension{ARB,buffer_storage} as - Exposed @gl_extension{ARB,buffer_storage} as

2
doc/opengl-support.dox

@ -323,6 +323,7 @@ Extension | Status
@gl_extension{EXT,texture_sRGB_R8} | done @gl_extension{EXT,texture_sRGB_R8} | done
@gl_extension{EXT,texture_sRGB_RG8} | done @gl_extension{EXT,texture_sRGB_RG8} | done
@gl_extension{GREMEDY,string_marker} | 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,sample_locations} | |
@gl_extension{NV,fragment_shader_barycentric} | done (shading language only) @gl_extension{NV,fragment_shader_barycentric} | done (shading language only)
@gl_extension{OVR,multiview} | | @gl_extension{OVR,multiview} | |
@ -497,6 +498,7 @@ Extension | Status
@gl_extension{NV,read_depth_stencil} | done @gl_extension{NV,read_depth_stencil} | done
@gl_extension{NV,texture_border_clamp} | done @gl_extension{NV,texture_border_clamp} | done
@gl_extension{NV,shader_noperspective_interpolation} | done (shading language only) @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,sample_locations} | |
@gl_extension{NV,polygon_mode} | done @gl_extension{NV,polygon_mode} | done
@gl_extension{OES,depth32} | done @gl_extension{OES,depth32} | done

4
src/Magnum/GL/Context.cpp

@ -112,6 +112,7 @@ constexpr Extension ExtensionList[]{
Extensions::KHR::texture_compression_astc_sliced_3d{}, Extensions::KHR::texture_compression_astc_sliced_3d{},
Extensions::NV::depth_buffer_float{}, Extensions::NV::depth_buffer_float{},
Extensions::NV::fragment_shader_barycentric{}, Extensions::NV::fragment_shader_barycentric{},
Extensions::NV::geometry_shader_passthrough{},
Extensions::NV::sample_locations{}, Extensions::NV::sample_locations{},
Extensions::OVR::multiview{}, Extensions::OVR::multiview{},
Extensions::OVR::multiview2{} Extensions::OVR::multiview2{}
@ -415,6 +416,9 @@ constexpr Extension ExtensionList[]{
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
Extensions::NV::fragment_shader_barycentric{}, Extensions::NV::fragment_shader_barycentric{},
#endif #endif
#ifndef MAGNUM_TARGET_GLES2
Extensions::NV::geometry_shader_passthrough{},
#endif
Extensions::NV::polygon_mode{}, Extensions::NV::polygon_mode{},
Extensions::NV::read_buffer_front{}, Extensions::NV::read_buffer_front{},
Extensions::NV::read_depth{}, Extensions::NV::read_depth{},

14
src/Magnum/GL/Extensions.h

@ -264,8 +264,9 @@ namespace AMD {
_extension(176,NV,depth_buffer_float, GL210, None) // #334 _extension(176,NV,depth_buffer_float, GL210, None) // #334
_extension(177,NV,conditional_render, GL210, GL300) // #346 _extension(177,NV,conditional_render, GL210, GL300) // #346
/* NV_draw_texture not supported */ // #430 /* NV_draw_texture not supported */ // #430
_extension(178,NV,sample_locations, GL210, None) // #472 _extension(178,NV,geometry_shader_passthrough, GL330, None) // #470
_extension(179,NV,fragment_shader_barycentric, GL450, None) // #526 _extension(179,NV,sample_locations, GL210, None) // #472
_extension(180,NV,fragment_shader_barycentric, GL450, None) // #526
} namespace OVR { } namespace OVR {
_extension(185,OVR,multiview, GL300, None) // #478 _extension(185,OVR,multiview, GL300, None) // #478
_extension(186,OVR,multiview2, GL300, None) // #479 _extension(186,OVR,multiview2, GL300, None) // #479
@ -532,10 +533,13 @@ namespace ANDROID {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
_extension(115,NV,shader_noperspective_interpolation, GLES300, None) // #201 _extension(115,NV,shader_noperspective_interpolation, GLES300, None) // #201
#endif #endif
_extension(116,NV,sample_locations, GLES200, None) // #235
_extension(117,NV,polygon_mode, GLES200, None) // #238
#ifndef MAGNUM_TARGET_GLES2 #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 #endif
} namespace OES { } namespace OES {
#ifdef MAGNUM_TARGET_GLES2 #ifdef MAGNUM_TARGET_GLES2

Loading…
Cancel
Save