Browse Source

doc: explicitly mention that given extension is needed for ES2.

ES2 extensions which have equivalent in ES3 are not available there.
pull/51/head
Vladimír Vondruš 12 years ago
parent
commit
8f9036104d
  1. 12
      src/Magnum/AbstractFramebuffer.h
  2. 7
      src/Magnum/AbstractShaderProgram.h
  3. 15
      src/Magnum/Buffer.h
  4. 33
      src/Magnum/ColorFormat.h
  5. 14
      src/Magnum/DefaultFramebuffer.h
  6. 25
      src/Magnum/Framebuffer.h
  7. 1
      src/Magnum/Mesh.h
  8. 3
      src/Magnum/Query.h
  9. 2
      src/Magnum/Renderbuffer.h
  10. 14
      src/Magnum/RenderbufferFormat.h
  11. 3
      src/Magnum/Renderer.h
  12. 4
      src/Magnum/Sampler.h
  13. 5
      src/Magnum/Texture.h
  14. 24
      src/Magnum/TextureFormat.h

12
src/Magnum/AbstractFramebuffer.h

@ -62,7 +62,7 @@ typedef Containers::EnumSet<FramebufferClear, GLbitfield,
@see @ref AbstractFramebuffer, @ref FramebufferBlitMask
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@requires_gles30 %Extension @es_extension{ANGLE,framebuffer_blit} or
@es_extension{NV,framebuffer_blit}
@es_extension{NV,framebuffer_blit} in OpenGL ES 2.0
@todo Remove redundant `%Buffer`
*/
enum class FramebufferBlit: GLbitfield {
@ -77,7 +77,7 @@ enum class FramebufferBlit: GLbitfield {
@see @ref AbstractFramebuffer::blit()
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@requires_gles30 %Extension @es_extension{ANGLE,framebuffer_blit} or
@es_extension{NV,framebuffer_blit}
@es_extension{NV,framebuffer_blit} in OpenGL ES 2.0
*/
typedef Containers::EnumSet<FramebufferBlit, GLbitfield,
GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT> FramebufferBlitMask;
@ -88,7 +88,7 @@ typedef Containers::EnumSet<FramebufferBlit, GLbitfield,
@see @ref AbstractFramebuffer::blit()
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@requires_gles30 %Extension @es_extension{ANGLE,framebuffer_blit} or
@es_extension{NV,framebuffer_blit}
@es_extension{NV,framebuffer_blit} in OpenGL ES 2.0
*/
enum class FramebufferBlitFilter: GLenum {
Nearest = GL_NEAREST, /**< Nearest neighbor filtering */
@ -106,6 +106,7 @@ enum class FramebufferTarget: GLenum {
* For reading only.
* @requires_gles30 %Extension @es_extension{APPLE,framebuffer_multisample},
* @es_extension{ANGLE,framebuffer_blit} or @es_extension{NV,framebuffer_blit}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
Read = GL_READ_FRAMEBUFFER,
@ -117,6 +118,7 @@ enum class FramebufferTarget: GLenum {
* For drawing only.
* @requires_gles30 %Extension @es_extension{APPLE,framebuffer_multisample},
* @es_extension{ANGLE,framebuffer_blit} or @es_extension{NV,framebuffer_blit}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
Draw = GL_DRAW_FRAMEBUFFER,
@ -204,7 +206,7 @@ class MAGNUM_EXPORT AbstractFramebuffer {
* for blitting operation.
* @see @fn_gl{BlitFramebuffer}
* @requires_gles30 %Extension @es_extension{ANGLE,framebuffer_blit} or
* @es_extension{NV,framebuffer_blit}
* @es_extension{NV,framebuffer_blit} in OpenGL ES 2.0
* @todo NaCl exports `BlitFramebufferEXT` (although no such extension
* exists for ES)
*/
@ -223,7 +225,7 @@ class MAGNUM_EXPORT AbstractFramebuffer {
* @ref FramebufferBlitFilter::Nearest filtering is used by default.
* @see @fn_gl{BlitFramebuffer}
* @requires_gles30 %Extension @es_extension{ANGLE,framebuffer_blit} or
* @es_extension{NV,framebuffer_blit}
* @es_extension{NV,framebuffer_blit} in OpenGL ES 2.0
*/
static void blit(AbstractFramebuffer& source, AbstractFramebuffer& destination, const Range2Di& rectangle, FramebufferBlitMask mask) {
blit(source, destination, rectangle, rectangle, mask, FramebufferBlitFilter::Nearest);

7
src/Magnum/AbstractShaderProgram.h

@ -983,6 +983,7 @@ template<UnsignedInt location, class T> class AbstractShaderProgram::Attribute {
* Half float. Only for float attribute types.
* @requires_gl30 %Extension @extension{NV,half_float}
* @requires_gles30 %Extension @es_extension{OES,vertex_half_float}
* in OpenGL ES 2.0
*/
HalfFloat = GL_HALF_FLOAT,
@ -1005,7 +1006,8 @@ template<UnsignedInt location, class T> class AbstractShaderProgram::Attribute {
* float vector attribute type.
* @todo How about (incompatible) @es_extension{OES,vertex_type_10_10_10_2}?
* @requires_gl33 %Extension @extension{ARB,vertex_type_2_10_10_10_rev}
* @requires_gles30 (no extension providing this functionality)
* @requires_gles30 Packed attributes are not available in OpenGL
* ES 2.0
*/
UnsignedInt2101010Rev = GL_UNSIGNED_INT_2_10_10_10_REV,
@ -1013,7 +1015,8 @@ template<UnsignedInt location, class T> class AbstractShaderProgram::Attribute {
* Signed 2.10.10.10 packed integer. Only for four-component float
* vector attribute type.
* @requires_gl33 %Extension @extension{ARB,vertex_type_2_10_10_10_rev}
* @requires_gles30 (no extension providing this functionality)
* @requires_gles30 Packed attributes are not available in OpenGL
* ES 2.0
*/
Int2101010Rev = GL_INT_2_10_10_10_REV
#endif

15
src/Magnum/Buffer.h

@ -350,7 +350,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
*
* @see @ref MapFlags, @ref map(GLintptr, GLsizeiptr, MapFlags)
* @requires_gl30 %Extension @extension{ARB,map_buffer_range}
* @requires_gles30 %Extension @es_extension{EXT,map_buffer_range}
* @requires_gles30 %Extension @es_extension{EXT,map_buffer_range} in
* OpenGL ES 2.0
*/
enum class MapFlag: GLbitfield {
/** Map buffer for reading. */
@ -416,7 +417,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
*
* @see @ref map(GLintptr, GLsizeiptr, MapFlags)
* @requires_gl30 %Extension @extension{ARB,map_buffer_range}
* @requires_gles30 %Extension @es_extension{EXT,map_buffer_range}
* @requires_gles30 %Extension @es_extension{EXT,map_buffer_range} in
* OpenGL ES 2.0
*/
typedef Containers::EnumSet<MapFlag, GLbitfield> MapFlags;
@ -800,7 +802,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @ref map(MapAccess), @ref setTargetHint(), @fn_gl{BindBuffer}
* and @fn_gl{MapBufferRange} or @fn_gl_extension{MapNamedBufferRange,EXT,direct_state_access}
* @requires_gl30 %Extension @extension{ARB,map_buffer_range}
* @requires_gles30 %Extension @es_extension{EXT,map_buffer_range}
* @requires_gles30 %Extension @es_extension{EXT,map_buffer_range} in
* OpenGL ES 2.0
*/
void* map(GLintptr offset, GLsizeiptr length, MapFlags flags);
@ -820,7 +823,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* @see @ref setTargetHint(), @fn_gl{BindBuffer} and @fn_gl{FlushMappedBufferRange}
* or @fn_gl_extension{FlushMappedNamedBufferRange,EXT,direct_state_access}
* @requires_gl30 %Extension @extension{ARB,map_buffer_range}
* @requires_gles30 %Extension @es_extension{EXT,map_buffer_range}
* @requires_gles30 %Extension @es_extension{EXT,map_buffer_range} in
* OpenGL ES 2.0
*/
Buffer& flushMappedRange(GLintptr offset, GLsizeiptr length);
@ -836,7 +840,8 @@ class MAGNUM_EXPORT Buffer: public AbstractObject {
* is bound to hinted target before the operation.
* @see setTargetHint(), @fn_gl{BindBuffer} and @fn_gl{UnmapBuffer} or
* @fn_gl_extension{UnmapNamedBuffer,EXT,direct_state_access}
* @requires_gles30 %Extension @es_extension{OES,mapbuffer}
* @requires_gles30 %Extension @es_extension{OES,mapbuffer} in OpenGL
* ES 2.0
*/
bool unmap();

33
src/Magnum/ColorFormat.h

@ -55,8 +55,9 @@ See documentation of these values for possible limitations when using OpenGL ES
enum class ColorFormat: GLenum {
/**
* Floating-point red channel.
* @requires_gles30 For texture data only, extension @es_extension{EXT,texture_rg}.
* @requires_es_extension For framebuffer reading, extension @es_extension{EXT,texture_rg}.
* @requires_gles30 For texture data only, extension @es_extension{EXT,texture_rg}
* in OpenGL ES 2.0
* @requires_es_extension For framebuffer reading, extension @es_extension{EXT,texture_rg}
*/
#ifndef MAGNUM_TARGET_GLES2
Red = GL_RED,
@ -95,7 +96,8 @@ enum class ColorFormat: GLenum {
/**
* Floating-point red and green channel.
* @requires_gl30 %Extension @extension{ARB,texture_rg} and @extension{EXT,texture_integer}
* @requires_gles30 For texture data only, extension @es_extension{EXT,texture_rg}.
* @requires_gles30 For texture data only, extension @es_extension{EXT,texture_rg}
* in OpenGL ES 2.0
* @requires_es_extension For framebuffer reading, extension @es_extension{EXT,texture_rg}.
*/
#ifndef MAGNUM_TARGET_GLES2
@ -223,7 +225,8 @@ enum class ColorFormat: GLenum {
/**
* Depth component.
* @requires_gles30 For texture data only, extension @es_extension{ANGLE,depth_texture}.
* @requires_gles30 For texture data only, extension @es_extension{OES,depth_texture}
* or @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0
* @requires_es_extension For framebuffer reading only, extension
* @es_extension2{NV,read_depth,GL_NV_read_depth_stencil}.
*/
@ -246,9 +249,10 @@ enum class ColorFormat: GLenum {
/**
* Depth and stencil.
* @requires_gl30 %Extension @extension{ARB,framebuffer_object}
* @requires_gles30 For texture data only, extension @es_extension{OES,packed_depth_stencil}.
* @requires_gles30 For texture data only, extension @es_extension{OES,packed_depth_stencil}
* in OpenGL ES 2.0
* @requires_es_extension For framebuffer reading only, extension
* @es_extension2{NV,read_depth_stencil,GL_NV_read_depth_stencil}.
* @es_extension2{NV,read_depth_stencil,GL_NV_read_depth_stencil}
*/
#ifndef MAGNUM_TARGET_GLES2
DepthStencil = GL_DEPTH_STENCIL
@ -293,7 +297,7 @@ enum class ColorType: GLenum {
* Each component unsigned short.
* @requires_gl Can't be used for framebuffer reading in OpenGL ES.
* @requires_gles30 For texture data only, extension @es_extension{OES,depth_texture}
* or @es_extension{ANGLE,depth_texture}.
* or @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0
*/
UnsignedShort = GL_UNSIGNED_SHORT,
@ -312,7 +316,7 @@ enum class ColorType: GLenum {
* Each component unsigned int.
* @requires_gles30 Can't be used for framebuffer reading in OpenGL ES 2.0.
* @requires_gles30 For texture data only, extension @es_extension{OES,depth_texture}
* or @es_extension{ANGLE,depth_texture}.
* or @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0
*/
UnsignedInt = GL_UNSIGNED_INT,
@ -320,7 +324,7 @@ enum class ColorType: GLenum {
/**
* Each component signed int.
* @requires_gles30 Only @ref Magnum::ColorType::UnsignedInt "ColorType::UnsignedInt"
* is available in OpenGL ES 2.0.
* is available in OpenGL ES 2.0 in OpenGL ES 2.0
*/
Int = GL_INT,
#endif
@ -329,7 +333,8 @@ enum class ColorType: GLenum {
* Each component half float.
* @requires_gl30 %Extension @extension{NV,half_float} / @extension{ARB,half_float_pixel}
* @requires_gles30 For texture data only, extension
* @es_extension2{OES,texture_half_float,OES_texture_float}.
* @es_extension2{OES,texture_half_float,OES_texture_float} in OpenGL
* ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
HalfFloat = GL_HALF_FLOAT,
@ -339,7 +344,8 @@ enum class ColorType: GLenum {
/**
* Each component float.
* @requires_gles30 For texture data only, extension @es_extension{OES,texture_float}.
* @requires_gles30 For texture data only, extension @es_extension{OES,texture_float}
* in OpenGL ES 2.0
*/
Float = GL_FLOAT,
@ -434,7 +440,7 @@ enum class ColorType: GLenum {
* ABGR, unsigned int, each RGB component 10bit, alpha component 2bit.
* @requires_gles30 Can't be used for framebuffer reading in OpenGL ES 2.0.
* @requires_gles30 For texture data only, extension
* @es_extension{EXT,texture_type_2_10_10_10_REV}.
* @es_extension{EXT,texture_type_2_10_10_10_REV} in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
UnsignedInt2101010Rev = GL_UNSIGNED_INT_2_10_10_10_REV,
@ -463,7 +469,8 @@ enum class ColorType: GLenum {
/**
* Unsigned int, depth component 24bit, stencil index 8bit.
* @requires_gl30 %Extension @extension{ARB,framebuffer_object}
* @requires_gles30 For texture data only, extension @es_extension{OES,packed_depth_stencil}.
* @requires_gles30 For texture data only, extension @es_extension{OES,packed_depth_stencil}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
UnsignedInt248 = GL_UNSIGNED_INT_24_8,

14
src/Magnum/DefaultFramebuffer.h

@ -95,6 +95,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
/**
* The default framebuffer does not exist.
* @requires_gles30 %Extension @es_extension{OES,surfaceless_context}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
Undefined = GL_FRAMEBUFFER_UNDEFINED
@ -170,6 +171,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
*
* @see @ref mapForRead()
* @requires_gles30 %Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* in OpenGL ES 2.0
*/
enum class ReadAttachment: GLenum {
/** Don't read from any buffer */
@ -241,6 +243,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @see @ref invalidate()
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
* in OpenGL ES 2.0
*/
enum class InvalidationAttachment: GLenum {
#ifndef MAGNUM_TARGET_GLES
@ -374,6 +377,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @see mapForDraw(), @fn_gl{BindFramebuffer}, @fn_gl{ReadBuffer} or
* @fn_gl_extension{FramebufferReadBuffer,EXT,direct_state_access}
* @requires_gles30 %Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* in OpenGL ES 2.0
*/
DefaultFramebuffer& mapForRead(ReadAttachment attachment);
@ -388,8 +392,9 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}. Use
* @ref Magnum::DefaultFramebuffer::clear() "clear()" instead
* where the extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}.
* Use @ref Magnum::DefaultFramebuffer::clear() "clear()" instead
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
* in OpenGL ES 2.0. Use
* @ref Magnum::DefaultFramebuffer::clear() "clear()" instead
* where the extension is not supported.
*/
void invalidate(std::initializer_list<InvalidationAttachment> attachments);
@ -406,8 +411,9 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}. Use
* @ref Magnum::DefaultFramebuffer::clear() "clear()" instead
* where the extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}.
* Use @ref Magnum::DefaultFramebuffer::clear() "clear()" instead
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
* in OpenGL ES 2.0. Use
* @ref Magnum::DefaultFramebuffer::clear() "clear()" instead
* where the extension is not supported.
*/
void invalidate(std::initializer_list<InvalidationAttachment> attachments, const Range2Di& rectangle);

25
src/Magnum/Framebuffer.h

@ -121,7 +121,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @param id Color attachment ID
*
* @requires_gles30 %Extension @es_extension{NV,fbo_color_attachments}
* is required for @p id greater than 0.
* is required for @p id greater than 0 in OpenGL ES 2.0
*/
constexpr explicit ColorAttachment(UnsignedInt id): attachment(GL_COLOR_ATTACHMENT0 + id) {}
@ -204,6 +204,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @see @ref invalidate()
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
* in OpenGL ES 2.0
*/
class InvalidationAttachment {
public:
@ -268,7 +269,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @requires_gles30 %Extension @es_extension{ANGLE,framebuffer_multisample},
* @es_extension{APPLE,framebuffer_multisample},
* @es_extension{EXT,multisampled_render_to_texture} or
* @es_extension{NV,framebuffer_multisample}
* @es_extension{NV,framebuffer_multisample} in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
IncompleteMultisample = GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
@ -387,6 +388,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @fn_gl{BindFramebuffer}, @fn_gl{DrawBuffers} or
* @fn_gl_extension{FramebufferDrawBuffers,EXT,direct_state_access}
* @requires_gles30 %Extension @es_extension2{NV,draw_buffers,GL_NV_draw_buffers}
* in OpenGL ES 2.0
*/
Framebuffer& mapForDraw(std::initializer_list<std::pair<UnsignedInt, DrawAttachment>> attachments);
@ -406,6 +408,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @fn_gl_extension{FramebufferDrawBuffer,EXT,direct_state_access},
* @fn_gl{DrawBuffers} in OpenGL ES 3.0
* @requires_gles30 %Extension @es_extension2{NV,draw_buffers,GL_NV_draw_buffers}
* in OpenGL ES 2.0
*/
Framebuffer& mapForDraw(DrawAttachment attachment);
@ -420,6 +423,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @see @ref mapForDraw(), @fn_gl{BindFramebuffer}, @fn_gl{ReadBuffer}
* or @fn_gl_extension{FramebufferReadBuffer,EXT,direct_state_access}
* @requires_gles30 %Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
* in OpenGL ES 2.0
*/
Framebuffer& mapForRead(ColorAttachment attachment);
@ -434,9 +438,9 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}. Use
* @ref Magnum::Framebuffer::clear() "clear()" instead where the
* extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}.
* Use @ref Magnum::Framebuffer::clear() "clear()" instead where
* the extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
* in OpenGL ES 2.0. Use @ref Magnum::Framebuffer::clear() "clear()"
* instead where the extension is not supported.
*/
void invalidate(std::initializer_list<InvalidationAttachment> attachments);
@ -452,9 +456,9 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}. Use
* @ref Magnum::Framebuffer::clear() "clear()" instead where the
* extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}.
* Use @ref Magnum::Framebuffer::clear() "clear()" instead where
* the extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
* in OpenGL ES 2.0. Use @ref Magnum::Framebuffer::clear() "clear()"
* instead where the extension is not supported.
*/
void invalidate(std::initializer_list<InvalidationAttachment> attachments, const Range2Di& rectangle);
@ -552,7 +556,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @see @fn_gl{BindFramebuffer}, @fn_gl2{FramebufferTextureLayer,FramebufferTexture}
* or @fn_gl_extension{NamedFramebufferTextureLayer,EXT,direct_state_access},
* @fn_gles_extension{FramebufferTexture3D,OES,texture_3D} in OpenGL ES 2.0
* @requires_gles30 %Extension @es_extension{OES,texture_3D}
* @requires_gles30 %Extension @es_extension{OES,texture_3D} in OpenGL
* ES 2.0
*/
Framebuffer& attachTextureLayer(BufferAttachment attachment, Texture3D& texture, Int level, Int layer);
@ -567,7 +572,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
#ifndef MAGNUM_TARGET_GLES2
/** @overload
* @requires_gl30 %Extension @extension{EXT,texture_array}
* @requires_gles30 %Array textures are not available in OpenGL ES 2.0.
* @requires_gles30 %Array textures are not available in OpenGL ES 2.0
*/
Framebuffer& attachTextureLayer(BufferAttachment attachment, Texture2DArray& texture, Int level, Int layer);
#endif

1
src/Magnum/Mesh.h

@ -339,6 +339,7 @@ class MAGNUM_EXPORT Mesh: public AbstractObject {
/**
* Unsigned int
* @requires_gles30 %Extension @es_extension{OES,element_index_uint}
* in OpenGL ES 2.0
*/
UnsignedInt = GL_UNSIGNED_INT
};

3
src/Magnum/Query.h

@ -252,8 +252,9 @@ q.beginConditionalRender(SampleQuery::ConditionalRenderMode::Wait);
// render full version of the object only if the query returns nonzero result
q.endConditionalRender();
@endcode
@requires_gles30 %Extension @es_extension{EXT,occlusion_query_boolean}
@requires_gles30 %Extension @es_extension{EXT,occlusion_query_boolean} in
OpenGL ES 2.0
@see @ref PrimitiveQuery, @ref TimeQuery
*/
class SampleQuery: public AbstractQuery {

2
src/Magnum/Renderbuffer.h

@ -162,7 +162,7 @@ class MAGNUM_EXPORT Renderbuffer: public AbstractObject {
* @see @ref maxSize(), @ref maxSamples(), @fn_gl{BindRenderbuffer},
* @fn_gl{RenderbufferStorageMultisample} or @fn_gl_extension{NamedRenderbufferStorageMultisample,EXT,direct_state_access}
* @requires_gles30 %Extension @es_extension{ANGLE,framebuffer_multisample}
* or @es_extension{NV,framebuffer_multisample}
* or @es_extension{NV,framebuffer_multisample} in OpenGL ES 2.0
* @todo How about @es_extension{APPLE,framebuffer_multisample}?
* @todo NaCl has @fn_gl_extension{RenderbufferStorageMultisample,EXT,multisampled_render_to_texture}
*/

14
src/Magnum/RenderbufferFormat.h

@ -55,7 +55,8 @@ enum class RenderbufferFormat: GLenum {
/**
* Red component, normalized unsigned byte.
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gles30 %Extension @es_extension{EXT,texture_rg}
* @requires_gles30 %Extension @es_extension{EXT,texture_rg} in OpenGL ES
* 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
R8 = GL_R8,
@ -78,7 +79,8 @@ enum class RenderbufferFormat: GLenum {
/**
* Red and green component, each normalized unsigned byte.
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gles30 %Extension @es_extension{EXT,texture_rg}
* @requires_gles30 %Extension @es_extension{EXT,texture_rg} in OpenGL ES
* 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
RG8 = GL_RG8,
@ -99,6 +101,7 @@ enum class RenderbufferFormat: GLenum {
/**
* RGBA, each component normalized unsigned byte.
* @requires_gles30 %Extension @es_extension{ARM,rgba8} or @es_extension{OES,rgb8_rgba8}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
RGBA8 = GL_RGBA8,
@ -372,7 +375,7 @@ enum class RenderbufferFormat: GLenum {
/**
* sRGBA, each component normalized unsigned byte.
* @requires_gles30 %Extension @es_extension{EXT,sRGB}
* @requires_gles30 %Extension @es_extension{EXT,sRGB} in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
SRGB8Alpha8 = GL_SRGB8_ALPHA8,
@ -396,7 +399,7 @@ enum class RenderbufferFormat: GLenum {
/**
* Depth component, 24bit.
* @requires_gles30 %Extension @es_extension{OES,depth24}
* @requires_gles30 %Extension @es_extension{OES,depth24} in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
DepthComponent24 = GL_DEPTH_COMPONENT24,
@ -475,7 +478,8 @@ enum class RenderbufferFormat: GLenum {
/**
* 24bit depth and 8bit stencil component.
* @requires_gles30 %Extension @es_extension{OES,packed_depth_stencil}
* @requires_gles30 %Extension @es_extension{OES,packed_depth_stencil} in
* OpenGL ES 2.0
*/
#ifdef MAGNUM_TARGET_GLES2
Depth24Stencil8 = GL_DEPTH24_STENCIL8_OES

3
src/Magnum/Renderer.h

@ -233,6 +233,7 @@ class MAGNUM_EXPORT Renderer {
/**
* Accuracy of derivative calculation in fragment shader.
* @requires_gles30 %Extension @es_extension{OES,standard_derivatives}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
FragmentShaderDerivative = GL_FRAGMENT_SHADER_DERIVATIVE_HINT
@ -643,12 +644,14 @@ class MAGNUM_EXPORT Renderer {
/**
* `min(source, destination)`
* @requires_gles30 %Extension @es_extension2{EXT,blend_minmax,blend_minmax}
* in OpenGL ES 2.0
*/
Min = GL_MIN,
/**
* `max(source, destination)`
* @requires_gles30 %Extension @es_extension2{EXT,blend_minmax,blend_minmax}
* in OpenGL ES 2.0
*/
Max = GL_MAX
#endif

4
src/Magnum/Sampler.h

@ -57,7 +57,7 @@ class MAGNUM_EXPORT Sampler {
* for linear interpolation of textures with
* @ref Magnum::TextureFormat "TextureFormat::HalfFloat" /
* @ref Magnum::TextureFormat "TextureFormat::Float" in OpenGL
* ES 2.0.
* ES 2.0
*/
Linear = GL_LINEAR
};
@ -83,7 +83,7 @@ class MAGNUM_EXPORT Sampler {
* for linear interpolation of textures with
* @ref Magnum::TextureFormat "TextureFormat::HalfFloat" /
* @ref Magnum::TextureFormat "TextureFormat::Float" in OpenGL
* ES 2.0.
* ES 2.0
*/
Linear = GL_NEAREST_MIPMAP_LINEAR & ~GL_NEAREST
};

5
src/Magnum/Texture.h

@ -89,7 +89,8 @@ the texture is used via `sampler1D`/`sampler2D`/`sampler3D`,
See @ref AbstractShaderProgram documentation for more information about usage
in shaders.
@requires_gles30 %Extension @es_extension{OES,texture_3D} for 3D textures.
@requires_gles30 %Extension @es_extension{OES,texture_3D} for 3D textures in
OpenGL ES 2.0
@requires_gl 1D textures are not available in OpenGL ES, only 2D and 3D ones.
@see @ref Texture1D, @ref Texture2D, @ref Texture3D, @ref TextureArray,
@ -494,7 +495,7 @@ typedef Texture<2> Texture2D;
/**
@brief Three-dimensional texture
@requires_gles30 %Extension @es_extension{OES,texture_3D}
@requires_gles30 %Extension @es_extension{OES,texture_3D} in OpenGL ES 2.0
*/
typedef Texture<3> Texture3D;

24
src/Magnum/TextureFormat.h

@ -53,7 +53,8 @@ enum class TextureFormat: GLenum {
* @deprecated_gl Prefer to use the exactly specified version of this
* format, e.g. @ref Magnum::TextureFormat::R8 "TextureFormat::R8".
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gles30 %Extension @es_extension{EXT,texture_rg}
* @requires_gles30 %Extension @es_extension{EXT,texture_rg} in OpenGL ES
* 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
Red = GL_RED,
@ -78,7 +79,8 @@ enum class TextureFormat: GLenum {
* @deprecated_gl Prefer to use the exactly specified version of this
* format, e.g. @ref Magnum::TextureFormat::RG8 "TextureFormat::RG8".
* @requires_gl30 %Extension @extension{ARB,texture_rg}
* @requires_gles30 %Extension @es_extension{EXT,texture_rg}
* @requires_gles30 %Extension @es_extension{EXT,texture_rg} in OpenGL ES
* 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
RG = GL_RG,
@ -107,6 +109,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, each component normalized unsigned byte.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
RGB8 = GL_RGB8,
@ -125,6 +128,7 @@ enum class TextureFormat: GLenum {
/**
* RGBA, each component normalized unsigned byte.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
RGBA8 = GL_RGBA8,
@ -532,6 +536,7 @@ enum class TextureFormat: GLenum {
/**
* RGB, normalized unsigned, red and blue component 5bit, green 6bit.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* in OpenGL ES 2.0
*/
RGB565 = GL_RGB565,
@ -605,19 +610,21 @@ enum class TextureFormat: GLenum {
/**
* RGBA, normalized unsigned, each component 4bit.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* in OpenGL ES 2.0
*/
RGBA4 = GL_RGBA4,
/**
* RGBA, normalized unsigned, each RGB component 5bit, alpha 1bit.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* in OpenGL ES 2.0
*/
RGB5A1 = GL_RGB5_A1,
/**
* RGBA, normalized unsigned, each RGB component 10bit, alpha 2bit.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat}
* and @es_extension{EXT,texture_type_2_10_10_10_REV}
* and @es_extension{EXT,texture_type_2_10_10_10_REV} in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
RGB10A2 = GL_RGB10_A2,
@ -756,7 +763,7 @@ enum class TextureFormat: GLenum {
* @deprecated_gl Prefer to use the exactly specified version of this
* format, e.g. @ref Magnum::TextureFormat::DepthComponent16 "TextureFormat::DepthComponent16".
* @requires_gles30 %Extension @es_extension{OES,depth_texture} or
* @es_extension{ANGLE,depth_texture}
* @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0
*/
DepthComponent = GL_DEPTH_COMPONENT,
@ -764,14 +771,15 @@ enum class TextureFormat: GLenum {
* Depth component, 16bit. Not supported in 3D textures.
* @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})
* and @es_extension{ANGLE,depth_texture}) in OpenGL ES 2.0
*/
DepthComponent16 = GL_DEPTH_COMPONENT16,
/**
* Depth component, 24bit. Not supported in 3D textures.
* @requires_gles30 %Extension @es_extension{OES,required_internalformat},
* @es_extension{OES,depth_texture} and @es_extension{OES,depth24}
* @es_extension{OES,depth_texture} and @es_extension{OES,depth24} in
* OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
DepthComponent24 = GL_DEPTH_COMPONENT24,
@ -816,7 +824,8 @@ enum class TextureFormat: GLenum {
* @ref Texture::setStorage() "*Texture::setStorage()" calls.
* @deprecated_gl Prefer to use exactly specified version of this format,
* e.g. @ref Magnum::TextureFormat::Depth24Stencil8 "TextureFormat::Depth24Stencil8".
* @requires_gles30 %Extension @es_extension{OES,packed_depth_stencil}
* @requires_gles30 %Extension @es_extension{OES,packed_depth_stencil} or
* @es_extension{ANGLE,depth_texture} in OpenGL ES 2.0
*/
#ifndef MAGNUM_TARGET_GLES2
DepthStencil = GL_DEPTH_STENCIL,
@ -830,6 +839,7 @@ enum class TextureFormat: GLenum {
* @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}))
* in OpenGL ES 2.0
*/
#ifdef MAGNUM_TARGET_GLES2
Depth24Stencil8 = GL_DEPTH24_STENCIL8_OES

Loading…
Cancel
Save