Browse Source

Pixel storage support, part 3: EXT_unpack_subimage and NV_pack_subimage.

ES 2.0 extensions to match ES3/desktop functionality. The enums from
NV_pack_subimage are not available in gl.xml from Khronos, I would need
to use hardcoded value.
pull/107/head
Vladimír Vondruš 11 years ago
parent
commit
6110ba0922
  1. 2
      doc/opengl-support.dox
  2. 2
      src/Magnum/Context.cpp
  3. 2
      src/Magnum/Extensions.h
  4. 2
      src/MagnumExternal/OpenGL/GLES2/extensions.txt
  5. 6
      src/MagnumExternal/OpenGL/GLES2/flextGL.h
  6. 11
      src/MagnumExternal/OpenGL/GLES2/flextGLNaCl.h

2
doc/opengl-support.dox

@ -301,6 +301,7 @@ Extension | Status
@es_extension{EXT,discard_framebuffer} | done
@es_extension2{EXT,blend_minmax,blend_minmax} | done
@es_extension{EXT,shader_texture_lod} | done (shading language only)
@es_extension{EXT,unpack_subimage} | |
@es_extension{EXT,occlusion_query_boolean} | done
@es_extension{EXT,shadow_samplers} | done
@es_extension{EXT,texture_rg} | done
@ -313,6 +314,7 @@ Extension | Status
@es_extension{NV,draw_buffers} | done
@es_extension{NV,fbo_color_attachments} | done
@es_extension{NV,read_buffer} | done
@es_extension{NV,pack_subimage} | |
@es_extension{NV,draw_instanced} | done
@es_extension{NV,framebuffer_blit} | done
@es_extension{NV,framebuffer_multisample} | done

2
src/Magnum/Context.cpp

@ -326,6 +326,7 @@ const std::vector<Extension>& Extension::extensions(Version version) {
_extension(GL,EXT,discard_framebuffer),
_extension(GL,EXT,blend_minmax),
_extension(GL,EXT,shader_texture_lod),
_extension(GL,EXT,unpack_subimage),
_extension(GL,EXT,occlusion_query_boolean),
_extension(GL,EXT,shadow_samplers),
_extension(GL,EXT,texture_rg),
@ -338,6 +339,7 @@ const std::vector<Extension>& Extension::extensions(Version version) {
_extension(GL,NV,draw_buffers),
_extension(GL,NV,fbo_color_attachments),
_extension(GL,NV,read_buffer),
_extension(GL,NV,pack_subimage),
_extension(GL,NV,draw_instanced),
_extension(GL,NV,framebuffer_blit),
_extension(GL,NV,framebuffer_multisample),

2
src/Magnum/Extensions.h

@ -308,6 +308,7 @@ namespace GL {
_extension(GL,EXT,multi_draw_arrays, GLES200, None) // #67
#ifdef MAGNUM_TARGET_GLES2
_extension(GL,EXT,shader_texture_lod, GLES200, GLES300) // #77
_extension(GL,EXT,unpack_subimage, GLES200, GLES300) // #90
#endif
_extension(GL,EXT,debug_label, GLES200, None) // #98
_extension(GL,EXT,debug_marker, GLES200, None) // #99
@ -374,6 +375,7 @@ namespace GL {
_extension(GL,NV,read_stencil, GLES200, None) // #94
_extension(GL,NV,read_depth_stencil, GLES200, None) // #94
#ifdef MAGNUM_TARGET_GLES2
_extension(GL,NV,pack_subimage, GLES200, GLES300) // #132
_extension(GL,NV,draw_instanced, GLES200, GLES300) // #141
_extension(GL,NV,framebuffer_blit, GLES200, GLES300) // #142
_extension(GL,NV,framebuffer_multisample, GLES200, GLES300) // #143

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

@ -13,6 +13,7 @@ extension EXT_texture_type_2_10_10_10_REV optional
extension EXT_discard_framebuffer optional
extension EXT_blend_minmax optional
extension EXT_shader_texture_lod optional
extension EXT_unpack_subimage optional
extension EXT_occlusion_query_boolean optional
extension EXT_shadow_samplers optional
extension EXT_texture_rg optional
@ -25,6 +26,7 @@ extension EXT_draw_instanced optional
extension NV_draw_buffers optional
extension NV_fbo_color_attachments optional
extension NV_read_buffer optional
extension NV_pack_subimage optional
extension NV_draw_instanced optional
extension NV_framebuffer_blit optional
extension NV_framebuffer_multisample optional

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

@ -443,6 +443,12 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_MIN_EXT 0x8007
#define GL_MAX_EXT 0x8008
/* GL_EXT_unpack_subimage */
#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2
#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3
#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4
/* GL_EXT_occlusion_query_boolean */
#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F

11
src/MagnumExternal/OpenGL/GLES2/flextGLNaCl.h vendored

@ -418,6 +418,12 @@ typedef khronos_ssize_t GLsizeiptr;
#define GL_MIN_EXT 0x8007
#define GL_MAX_EXT 0x8008
/* GL_EXT_unpack_subimage */
#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2
#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3
#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4
/* GL_EXT_occlusion_query_boolean */
#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
@ -1667,6 +1673,11 @@ GL_APICALL void GL_APIENTRY GLES2TextureStorage3DEXT(GLuint, GLenum, GLsizei, GL
#define GL_EXT_texture_type_2_10_10_10_REV 1
#endif
/* GL_EXT_unpack_subimage */
#ifndef GL_EXT_unpack_subimage
#define GL_EXT_unpack_subimage 1
#endif
/* GL_KHR_blend_equation_advanced */
#ifndef GL_KHR_blend_equation_advanced
#define GL_KHR_blend_equation_advanced 1

Loading…
Cancel
Save