Browse Source

Use OpenGL ES 2.0 specific definitions for extension-only functionality.

If targetting explicitly OpenGL ES 2.0, only gl2.h is included (not
gl3.h).
pull/7/head
Vladimír Vondruš 14 years ago
parent
commit
93a5e7230f
  1. 10
      src/AbstractShaderProgram.h
  2. 4
      src/AbstractTexture.h
  3. 8
      src/Framebuffer.h
  4. 5
      src/Magnum.h
  5. 8
      src/Query.h

10
src/AbstractShaderProgram.h

@ -1058,7 +1058,11 @@ template<> struct Attribute<GLfloat> {
Short = GL_SHORT, Short = GL_SHORT,
UnsignedInt = GL_UNSIGNED_INT, UnsignedInt = GL_UNSIGNED_INT,
Int = GL_INT, Int = GL_INT,
#ifndef MAGNUM_TARGET_GLES2
HalfFloat = GL_HALF_FLOAT, HalfFloat = GL_HALF_FLOAT,
#else
HalfFloat = GL_HALF_FLOAT_OES,
#endif
Float = GL_FLOAT Float = GL_FLOAT
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
@ -1104,7 +1108,11 @@ template<> struct Attribute<Math::Vector<4, GLfloat>> {
Short = GL_SHORT, Short = GL_SHORT,
UnsignedInt = GL_UNSIGNED_INT, UnsignedInt = GL_UNSIGNED_INT,
Int = GL_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 Float = GL_FLOAT
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
, ,

4
src/AbstractTexture.h

@ -874,8 +874,12 @@ template<> struct MAGNUM_EXPORT AbstractTexture::DataHelper<2> {
}; };
template<> struct MAGNUM_EXPORT AbstractTexture::DataHelper<3> { template<> struct MAGNUM_EXPORT AbstractTexture::DataHelper<3> {
enum class Target: GLenum { enum class Target: GLenum {
#ifndef MAGNUM_TARGET_GLES2
Texture3D = GL_TEXTURE_3D, Texture3D = GL_TEXTURE_3D,
Texture2DArray = GL_TEXTURE_2D_ARRAY Texture2DArray = GL_TEXTURE_2D_ARRAY
#else
Texture3D = GL_TEXTURE_3D_OES
#endif
}; };
inline constexpr static Target target() { return Target::Texture3D; } inline constexpr static Target target() { return Target::Texture3D; }

8
src/Framebuffer.h

@ -710,7 +710,11 @@ class MAGNUM_EXPORT Framebuffer {
* @requires_gles30 %Extension @es_extension{APPLE,framebuffer_multisample} * @requires_gles30 %Extension @es_extension{APPLE,framebuffer_multisample}
* or @es_extension{ANGLE,framebuffer_blit} * or @es_extension{ANGLE,framebuffer_blit}
*/ */
#ifndef MAGNUM_TARGET_GLES2
Read = GL_READ_FRAMEBUFFER, Read = GL_READ_FRAMEBUFFER,
#else
Read = GL_READ_FRAMEBUFFER_APPLE,
#endif
/** /**
* For drawing only. * For drawing only.
@ -718,7 +722,11 @@ class MAGNUM_EXPORT Framebuffer {
* @requires_gles30 %Extension @es_extension{APPLE,framebuffer_multisample} * @requires_gles30 %Extension @es_extension{APPLE,framebuffer_multisample}
* or @es_extension{ANGLE,framebuffer_blit} * or @es_extension{ANGLE,framebuffer_blit}
*/ */
#ifndef MAGNUM_TARGET_GLES2
Draw = GL_DRAW_FRAMEBUFFER, Draw = GL_DRAW_FRAMEBUFFER,
#else
Draw = GL_DRAW_FRAMEBUFFER_APPLE,
#endif
ReadDraw = GL_FRAMEBUFFER /**< For both reading and drawing. */ ReadDraw = GL_FRAMEBUFFER /**< For both reading and drawing. */
}; };

5
src/Magnum.h

@ -25,7 +25,12 @@
#include <GL/glew.h> #include <GL/glew.h>
#include <GL/glcorearb.h> #include <GL/glcorearb.h>
#else #else
#ifndef MAGNUM_TARGET_GLES2
#include <GLES3/gl3.h> #include <GLES3/gl3.h>
#else
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#endif
#endif #endif
/** /**

8
src/Query.h

@ -229,7 +229,11 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
* Whether any samples passed from fragment shader * Whether any samples passed from fragment shader
* @requires_gl33 Extension @extension{ARB,occlusion_query2} * @requires_gl33 Extension @extension{ARB,occlusion_query2}
*/ */
#ifndef MAGNUM_TARGET_GLES2
AnySamplesPassed = GL_ANY_SAMPLES_PASSED, AnySamplesPassed = GL_ANY_SAMPLES_PASSED,
#else
AnySamplesPassed = GL_ANY_SAMPLES_PASSED_EXT,
#endif
/** /**
* Whether any samples passed from fragment shader (conservative) * 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. * test at the expense of some false positives.
* @requires_gl43 Extension @extension{ARB,ES3_compatibility} * @requires_gl43 Extension @extension{ARB,ES3_compatibility}
*/ */
#ifndef MAGNUM_TARGET_GLES2
AnySamplesPassedConservative = GL_ANY_SAMPLES_PASSED_CONSERVATIVE AnySamplesPassedConservative = GL_ANY_SAMPLES_PASSED_CONSERVATIVE
#else
AnySamplesPassedConservative = GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT
#endif
}; };
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES

Loading…
Cancel
Save