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_ 43