• 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 "common/angleutils.h"
13 
14 namespace rx
15 {
16 
17 class QueryImpl
18 {
19   public:
QueryImpl(GLenum type)20     explicit QueryImpl(GLenum type) : mType(type), mStatus(GL_FALSE), mResult(0) { }
~QueryImpl()21     virtual ~QueryImpl() { }
22 
23     virtual void begin() = 0;
24     virtual void end() = 0;
25     virtual GLuint getResult() = 0;
26     virtual GLboolean isResultAvailable() = 0;
27 
getType()28     GLenum getType() const { return mType; }
29 
30   protected:
31     GLuint mResult;
32     GLboolean mStatus;
33 
34   private:
35     DISALLOW_COPY_AND_ASSIGN(QueryImpl);
36 
37     GLenum mType;
38 };
39 
40 }
41 
42 #endif // LIBGLESV2_RENDERER_QUERYIMPL_H_
43