Home | History | Annotate | Download | only in libGLESv2
      1 //
      2 // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
      3 // Use of this source code is governed by a BSD-style license that can be
      4 // found in the LICENSE file.
      5 //
      6 
      7 // Query.h: Defines the gl::Query class
      8 
      9 #ifndef LIBGLESV2_QUERY_H_
     10 #define LIBGLESV2_QUERY_H_
     11 
     12 #include <GLES3/gl3.h>
     13 #include <GLES2/gl2.h>
     14 
     15 #include "common/angleutils.h"
     16 #include "common/RefCountObject.h"
     17 
     18 namespace rx
     19 {
     20 class Renderer;
     21 class QueryImpl;
     22 }
     23 
     24 namespace gl
     25 {
     26 
     27 class Query : public RefCountObject
     28 {
     29   public:
     30     Query(rx::Renderer *renderer, GLenum type, GLuint id);
     31     virtual ~Query();
     32 
     33     void begin();
     34     void end();
     35 
     36     GLuint getResult();
     37     GLboolean isResultAvailable();
     38 
     39     GLenum getType() const;
     40     bool isStarted() const;
     41 
     42   private:
     43     DISALLOW_COPY_AND_ASSIGN(Query);
     44 
     45     rx::QueryImpl *mQuery;
     46 };
     47 
     48 }
     49 
     50 #endif   // LIBGLESV2_QUERY_H_
     51