• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright (c) 2013 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 // QueryImpl.h: Defines the abstract rx::QueryImpl class.
8 
9 #ifndef LIBGLESV2_RENDERER_QUERYIMPL_H_
10 #define LIBGLESV2_RENDERER_QUERYIMPL_H_
11 
12 #include "libGLESv2/Error.h"
13 
14 #include "common/angleutils.h"
15 
16 #include <GLES2/gl2.h>
17 
18 namespace rx
19 {
20 
21 class QueryImpl
22 {
23   public:
QueryImpl(GLenum type)24     explicit QueryImpl(GLenum type) { mType = type; }
~QueryImpl()25     virtual ~QueryImpl() { }
26 
27     virtual gl::Error begin() = 0;
28     virtual gl::Error end() = 0;
29     virtual gl::Error getResult(GLuint *params) = 0;
30     virtual gl::Error isResultAvailable(GLuint *available) = 0;
31 
getType()32     GLenum getType() const { return mType;  }
33 
34   private:
35     DISALLOW_COPY_AND_ASSIGN(QueryImpl);
36 
37     GLenum mType;
38 };
39 
40 }
41 
42 #endif // LIBGLESV2_RENDERER_QUERYIMPL_H_
43