]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/query.h
Check the flat qualifier from the correct member
[libs/gl.git] / source / core / query.h
index aaa993e389f2c17070fe7956d31bdc7fa3bcaa81..8f9b17e8e398176032a0691d9566a5f94d802e51 100644 (file)
@@ -1,8 +1,7 @@
 #ifndef MSP_GL_QUERY_H_
 #define MSP_GL_QUERY_H_
 
-#include <vector>
-#include <msp/core/noncopyable.h>
+#include "query_backend.h"
 
 namespace Msp {
 namespace GL {
@@ -11,12 +10,18 @@ class Renderer;
 
 enum QueryType
 {
+       /** Query result indicates if any fragments passed the depth and stencil
+       tests. */
        OCCLUSION_QUERY
 };
 
-class QueryPool: public Msp::NonCopyable
+/**
+A collection of query objects, which can be used to gather feedback from the
+GPU.  Semantics of the queries depend on the query type.
+*/
+class QueryPool: public QueryPoolBackend
 {
-       friend class Commands;
+       friend QueryPoolBackend;
 
 public:
        class Activate
@@ -33,21 +38,17 @@ public:
 
 private:
        QueryType type;
-       unsigned gl_type;
-       std::vector<unsigned> queries;
+       unsigned size;
 
 public:
        QueryPool(QueryType type, unsigned);
-       ~QueryPool();
 
        void resize(unsigned);
-       unsigned get_size() const { return queries.size(); }
+       unsigned get_size() const { return size; }
 
-       unsigned get_result(unsigned) const;
+       using QueryPoolBackend::get_result;
 };
 
-unsigned get_gl_query_type(QueryType);
-
 } // namespace Msp
 } // namespace GL