From 549b1466fc867193c0ddf6569bb3f5f81dd7ab98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 20 Mar 2013 11:00:14 +0100 Subject: [PATCH] Support for ES2 extension ANGLE_depth_texture. --- src/AbstractImage.h | 2 ++ src/AbstractTexture.h | 18 +++++++++++------- src/Context.cpp | 1 + src/Extensions.h | 1 + 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/AbstractImage.h b/src/AbstractImage.h index 17f9cacb8..ff6964bc9 100644 --- a/src/AbstractImage.h +++ b/src/AbstractImage.h @@ -223,6 +223,8 @@ class MAGNUM_EXPORT AbstractImage { /** * Depth component. + * @requires_gles30 For texture data only, extension + * @es_extension{ANGLE,depth_texture}. * @requires_es_extension For framebuffer reading only, extension * @es_extension2{NV,read_depth,GL_NV_read_depth_stencil}. */ diff --git a/src/AbstractTexture.h b/src/AbstractTexture.h index 54a58b2ec..c20a4fc99 100644 --- a/src/AbstractTexture.h +++ b/src/AbstractTexture.h @@ -893,7 +893,8 @@ class MAGNUM_EXPORT AbstractTexture { * Depth component, size implementation-dependent. * @deprecated Prefer to use exactly specified version of this * format, e.g. @ref Magnum::AbstractTexture::InternalFormat "InternalFormat::DepthComponent16". - * @requires_gles30 %Extension @es_extension{OES,depth_texture} + * @requires_gles30 %Extension @es_extension{OES,depth_texture} or + * @es_extension{ANGLE,depth_texture} */ DepthComponent = GL_DEPTH_COMPONENT, @@ -911,8 +912,9 @@ class MAGNUM_EXPORT AbstractTexture { /** * Depth component, 16bit. - * @requires_gles30 %Extension @es_extension{OES,required_internalformat} - * and @es_extension{OES,depth_texture} + * @requires_gles30 %Extension (@es_extension{OES,required_internalformat} + * and @es_extension{OES,depth_texture}) or (@es_extension{EXT,texture_storage} + * and @es_extension{ANGLE,depth_texture}) */ DepthComponent16 = GL_DEPTH_COMPONENT16, @@ -929,8 +931,9 @@ class MAGNUM_EXPORT AbstractTexture { /** * Depth component, 32bit. - * @requires_es_extension %Extension @es_extension{OES,required_internalformat}, - * @es_extension{OES,depth_texture} and @es_extension{OES,depth32} + * @requires_es_extension %Extension (@es_extension{OES,required_internalformat}, + * @es_extension{OES,depth_texture} and @es_extension{OES,depth32}) + * or (@es_extension{EXT,texture_storage} and @es_extension{ANGLE,depth_texture}) */ #ifndef MAGNUM_TARGET_GLES2 DepthComponent32 = GL_DEPTH_COMPONENT32, @@ -951,8 +954,9 @@ class MAGNUM_EXPORT AbstractTexture { /** * 24bit depth and 8bit stencil component. * @requires_gl30 %Extension @extension{EXT,packed_depth_stencil} - * @requires_gles30 %Extension @es_extension{OES,required_internalformat} - * and @es_extension{OES,packed_depth_stencil} + * @requires_gles30 %Extension @es_extension{OES,packed_depth_stencil} + * and (@es_extension{OES,required_internalformat} or + * (@es_extension{EXT,texture_storage} and @es_extension{ANGLE,depth_texture})) */ #ifdef MAGNUM_TARGET_GLES2 Depth24Stencil8 = GL_DEPTH24_STENCIL8_OES diff --git a/src/Context.cpp b/src/Context.cpp index 9d511f0e1..62201b919 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -219,6 +219,7 @@ const std::vector& Extension::extensions(Version version) { _extension(GL,OES,texture_3D)}; static const std::vector extensionsES300{ _extension(GL,ANGLE,framebuffer_blit), + _extension(GL,ANGLE,depth_texture), // done _extension(GL,APPLE,framebuffer_multisample), _extension(GL,ARM,rgba8), _extension(GL,EXT,texture_type_2_10_10_10_REV), diff --git a/src/Extensions.h b/src/Extensions.h index 476f18101..1f3480957 100644 --- a/src/Extensions.h +++ b/src/Extensions.h @@ -183,6 +183,7 @@ namespace GL { #line 1 namespace ANGLE { _extension(GL,ANGLE,framebuffer_blit, GLES200, GLES300) // #83 + _extension(GL,ANGLE,depth_texture, GLES200, GLES300) // #138 } namespace APPLE { _extension(GL,APPLE,framebuffer_multisample, GLES200, GLES300) // #78 _extension(GL,APPLE,texture_format_BGRA8888, GLES200, None) // #79