Browse Source

Clarified required OpenGL versions for queries.

Query depends on 3.0/EXT_transform_feedback (also PRIMITIVES_GENERATED,
even if it wasn't in the specs), only part of SampleQuery requires
3.0/NV_conditional_render, the rest is in 2.1 already.
pull/279/head
Vladimír Vondruš 14 years ago
parent
commit
5c5da2b2f3
  1. 22
      src/Query.h

22
src/Query.h

@ -101,6 +101,7 @@ if(!q.resultAvailable()) {
GLuint primitiveCount = q.result<GLuint>(); GLuint primitiveCount = q.result<GLuint>();
@endcode @endcode
@requires_gl @requires_gl
@requires_gl30 Extension @extension{EXT,transform_feedback}
*/ */
class MAGNUM_EXPORT Query: public AbstractQuery { class MAGNUM_EXPORT Query: public AbstractQuery {
public: public:
@ -109,8 +110,6 @@ class MAGNUM_EXPORT Query: public AbstractQuery {
/** /**
* Count of primitives generated from vertex shader or geometry * Count of primitives generated from vertex shader or geometry
* shader. * shader.
*
* @requires_gl31 (no extension providing this functionality)
*/ */
PrimitivesGenerated = GL_PRIMITIVES_GENERATED, PrimitivesGenerated = GL_PRIMITIVES_GENERATED,
@ -182,7 +181,6 @@ q.beginConditionalRender(SampleQuery::ConditionalRenderMode::Wait);
q.endConditionalRender(); q.endConditionalRender();
@endcode @endcode
@requires_gl @requires_gl
@requires_gl30 Extension @extension{NV,conditional_render}
*/ */
class MAGNUM_EXPORT SampleQuery: public AbstractQuery { class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
public: public:
@ -199,7 +197,11 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
AnySamplesPassed = GL_ANY_SAMPLES_PASSED AnySamplesPassed = GL_ANY_SAMPLES_PASSED
}; };
/** @brief Conditional render mode */ /**
* @brief Conditional render mode
*
* @requires_gl30 Extension @extension{NV,conditional_render}
*/
enum class ConditionalRenderMode: GLenum { enum class ConditionalRenderMode: GLenum {
/** /**
* If query result is not yet available, waits for it and * If query result is not yet available, waits for it and
@ -236,12 +238,20 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery {
/** @copydoc Query::end() */ /** @copydoc Query::end() */
void end(); void end();
/** @brief Begin conditional rendering based on result value */ /**
* @brief Begin conditional rendering based on result value
*
* @requires_gl30 Extension @extension{NV,conditional_render}
*/
inline void beginConditionalRender(ConditionalRenderMode mode) { inline void beginConditionalRender(ConditionalRenderMode mode) {
glBeginConditionalRender(query, static_cast<GLenum>(mode)); glBeginConditionalRender(query, static_cast<GLenum>(mode));
} }
/** @brief End conditional render */ /**
* @brief End conditional render
*
* @requires_gl30 Extension @extension{NV,conditional_render}
*/
inline void endConditionalRender() { inline void endConditionalRender() {
glEndConditionalRender(); glEndConditionalRender();
} }

Loading…
Cancel
Save