Home | History | Annotate | Download | only in renderer
      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