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

Loading…
Cancel
Save