tor-browser

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

SyncImpl.h (1374B)


      1 //
      2 // Copyright 2015 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 // SyncImpl.h: Defines the rx::SyncImpl class.
      8 
      9 #ifndef LIBANGLE_RENDERER_FENCESYNCIMPL_H_
     10 #define LIBANGLE_RENDERER_FENCESYNCIMPL_H_
     11 
     12 #include "libANGLE/Error.h"
     13 
     14 #include "common/angleutils.h"
     15 
     16 #include "angle_gl.h"
     17 
     18 namespace gl
     19 {
     20 class Context;
     21 }  // namespace gl
     22 
     23 namespace rx
     24 {
     25 class SyncImpl : angle::NonCopyable
     26 {
     27  public:
     28    SyncImpl() {}
     29    virtual ~SyncImpl() {}
     30 
     31    virtual void onDestroy(const gl::Context *context) {}
     32 
     33    virtual angle::Result set(const gl::Context *context, GLenum condition, GLbitfield flags) = 0;
     34    virtual angle::Result clientWait(const gl::Context *context,
     35                                     GLbitfield flags,
     36                                     GLuint64 timeout,
     37                                     GLenum *outResult)                                       = 0;
     38    virtual angle::Result serverWait(const gl::Context *context,
     39                                     GLbitfield flags,
     40                                     GLuint64 timeout)                                        = 0;
     41    virtual angle::Result getStatus(const gl::Context *context, GLint *outResult)             = 0;
     42 };
     43 }  // namespace rx
     44 
     45 #endif  // LIBANGLE_RENDERER_FENCESYNCIMPL_H_