diff --git a/src/AbstractShaderProgram.h b/src/AbstractShaderProgram.h index 504ef9d06..b768ea334 100644 --- a/src/AbstractShaderProgram.h +++ b/src/AbstractShaderProgram.h @@ -1058,7 +1058,11 @@ template<> struct Attribute { Short = GL_SHORT, UnsignedInt = GL_UNSIGNED_INT, Int = GL_INT, + #ifndef MAGNUM_TARGET_GLES2 HalfFloat = GL_HALF_FLOAT, + #else + HalfFloat = GL_HALF_FLOAT_OES, + #endif Float = GL_FLOAT #ifndef MAGNUM_TARGET_GLES @@ -1104,7 +1108,11 @@ template<> struct Attribute> { Short = GL_SHORT, UnsignedInt = GL_UNSIGNED_INT, Int = GL_INT, - Half = GL_HALF_FLOAT, + #ifndef MAGNUM_TARGET_GLES2 + HalfFloat = GL_HALF_FLOAT, + #else + HalfFloat = GL_HALF_FLOAT_OES, + #endif Float = GL_FLOAT #ifndef MAGNUM_TARGET_GLES , diff --git a/src/AbstractTexture.h b/src/AbstractTexture.h index f9581dd02..bcfe10cf5 100644 --- a/src/AbstractTexture.h +++ b/src/AbstractTexture.h @@ -874,8 +874,12 @@ template<> struct MAGNUM_EXPORT AbstractTexture::DataHelper<2> { }; template<> struct MAGNUM_EXPORT AbstractTexture::DataHelper<3> { enum class Target: GLenum { + #ifndef MAGNUM_TARGET_GLES2 Texture3D = GL_TEXTURE_3D, Texture2DArray = GL_TEXTURE_2D_ARRAY + #else + Texture3D = GL_TEXTURE_3D_OES + #endif }; inline constexpr static Target target() { return Target::Texture3D; } diff --git a/src/Framebuffer.h b/src/Framebuffer.h index 77b1a1746..e18fe083d 100644 --- a/src/Framebuffer.h +++ b/src/Framebuffer.h @@ -710,7 +710,11 @@ class MAGNUM_EXPORT Framebuffer { * @requires_gles30 %Extension @es_extension{APPLE,framebuffer_multisample} * or @es_extension{ANGLE,framebuffer_blit} */ + #ifndef MAGNUM_TARGET_GLES2 Read = GL_READ_FRAMEBUFFER, + #else + Read = GL_READ_FRAMEBUFFER_APPLE, + #endif /** * For drawing only. @@ -718,7 +722,11 @@ class MAGNUM_EXPORT Framebuffer { * @requires_gles30 %Extension @es_extension{APPLE,framebuffer_multisample} * or @es_extension{ANGLE,framebuffer_blit} */ + #ifndef MAGNUM_TARGET_GLES2 Draw = GL_DRAW_FRAMEBUFFER, + #else + Draw = GL_DRAW_FRAMEBUFFER_APPLE, + #endif ReadDraw = GL_FRAMEBUFFER /**< For both reading and drawing. */ }; diff --git a/src/Magnum.h b/src/Magnum.h index 9300082ee..4a442f629 100644 --- a/src/Magnum.h +++ b/src/Magnum.h @@ -25,7 +25,12 @@ #include #include #else +#ifndef MAGNUM_TARGET_GLES2 #include +#else +#include +#include +#endif #endif /** diff --git a/src/Query.h b/src/Query.h index 4816ba2a7..934f92e8d 100644 --- a/src/Query.h +++ b/src/Query.h @@ -229,7 +229,11 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery { * Whether any samples passed from fragment shader * @requires_gl33 Extension @extension{ARB,occlusion_query2} */ + #ifndef MAGNUM_TARGET_GLES2 AnySamplesPassed = GL_ANY_SAMPLES_PASSED, + #else + AnySamplesPassed = GL_ANY_SAMPLES_PASSED_EXT, + #endif /** * Whether any samples passed from fragment shader (conservative) @@ -238,7 +242,11 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery { * test at the expense of some false positives. * @requires_gl43 Extension @extension{ARB,ES3_compatibility} */ + #ifndef MAGNUM_TARGET_GLES2 AnySamplesPassedConservative = GL_ANY_SAMPLES_PASSED_CONSERVATIVE + #else + AnySamplesPassedConservative = GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT + #endif }; #ifndef MAGNUM_TARGET_GLES