tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Fence9.h (1122B)


      1 //
      2 // Copyright 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 // Fence9.h: Defines the rx::FenceNV9 class which implements rx::FenceNVImpl.
      8 
      9 #ifndef LIBANGLE_RENDERER_D3D_D3D9_FENCE9_H_
     10 #define LIBANGLE_RENDERER_D3D_D3D9_FENCE9_H_
     11 
     12 #include "libANGLE/renderer/FenceNVImpl.h"
     13 #include "libANGLE/renderer/SyncImpl.h"
     14 
     15 namespace rx
     16 {
     17 class Context9;
     18 class Renderer9;
     19 
     20 class FenceNV9 : public FenceNVImpl
     21 {
     22  public:
     23    explicit FenceNV9(Renderer9 *renderer);
     24    ~FenceNV9() override;
     25 
     26    void onDestroy(const gl::Context *context) override {}
     27    angle::Result set(const gl::Context *context, GLenum condition) override;
     28    angle::Result test(const gl::Context *context, GLboolean *outFinished) override;
     29    angle::Result finish(const gl::Context *context) override;
     30 
     31  private:
     32    angle::Result testHelper(Context9 *context9, bool flushCommandBuffer, GLboolean *outFinished);
     33 
     34    Renderer9 *mRenderer;
     35    IDirect3DQuery9 *mQuery;
     36 };
     37 }  // namespace rx
     38 
     39 #endif  // LIBANGLE_RENDERER_D3D_D3D9_FENCE9_H_