Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / angle / src / libGLESv2 / renderer / QueryImpl.h
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:
24     explicit QueryImpl(GLenum type) { mType = type; }
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
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_