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// Query11.h: Defines the rx::Query11 class which implements rx::QueryImpl.
8
9#ifndef LIBGLESV2_RENDERER_QUERY11_H_
10#define LIBGLESV2_RENDERER_QUERY11_H_
11
12#include "libGLESv2/renderer/QueryImpl.h"
13
14namespace rx
15{
16class Renderer11;
17
18class Query11 : public QueryImpl
19{
20  public:
21    Query11(rx::Renderer11 *renderer, GLenum type);
22    virtual ~Query11();
23
24    virtual gl::Error begin();
25    virtual gl::Error end();
26    virtual gl::Error getResult(GLuint *params);
27    virtual gl::Error isResultAvailable(GLuint *available);
28
29  private:
30    DISALLOW_COPY_AND_ASSIGN(Query11);
31
32    gl::Error testQuery();
33
34    GLuint mResult;
35
36    bool mQueryFinished;
37
38    rx::Renderer11 *mRenderer;
39    ID3D11Query *mQuery;
40};
41
42}
43
44#endif // LIBGLESV2_RENDERER_QUERY11_H_
45