blob: 50c7621776409adf143c196498e61a8aace3f089 [file] [log] [blame]
shannon.woods@transgaming.combe58aa02013-02-28 23:03:55 +00001//
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// Fence11.h: Defines the rx::Fence11 class which implements rx::FenceImpl.
8
9#ifndef LIBGLESV2_RENDERER_Fence11_H_
10#define LIBGLESV2_RENDERER_Fence11_H_
11
12#include "libGLESv2/renderer/FenceImpl.h"
shannon.woods@transgaming.com486d9e92013-02-28 23:15:41 +000013
shannon.woods@transgaming.combe58aa02013-02-28 23:03:55 +000014namespace rx
15{
shannon.woods@transgaming.com486d9e92013-02-28 23:15:41 +000016class Renderer11;
shannon.woods@transgaming.combe58aa02013-02-28 23:03:55 +000017
18class Fence11 : public FenceImpl
19{
20 public:
21 explicit Fence11(rx::Renderer11 *renderer);
22 virtual ~Fence11();
23
Jamie Madill09752362013-07-26 11:54:57 -040024 bool isSet() const;
25 void set();
26 bool test(bool flushCommandBuffer);
Jamie Madillcd055f82013-07-26 11:55:15 -040027 bool hasError() const;
shannon.woods@transgaming.combe58aa02013-02-28 23:03:55 +000028
29 private:
30 DISALLOW_COPY_AND_ASSIGN(Fence11);
31
32 rx::Renderer11 *mRenderer;
33 ID3D11Query *mQuery;
34};
35
36}
37
38#endif // LIBGLESV2_RENDERER_FENCE11_H_