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.
7 // QueryImpl.h: Defines the abstract rx::QueryImpl class.
9 #ifndef LIBGLESV2_RENDERER_QUERYIMPL_H_
10 #define LIBGLESV2_RENDERER_QUERYIMPL_H_
12 #include "libGLESv2/Error.h"
14 #include "common/angleutils.h"
16 #include <GLES2/gl2.h>
24 explicit QueryImpl(GLenum type) { mType = type; }
25 virtual ~QueryImpl() { }
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;
32 GLenum getType() const { return mType; }
35 DISALLOW_COPY_AND_ASSIGN(QueryImpl);
42 #endif // LIBGLESV2_RENDERER_QUERYIMPL_H_