tor-browser

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

SemaphoreImpl.h (1537B)


      1 //
      2 // Copyright 2019 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 // SemaphoreImpl.h: Implements the rx::SemaphoreImpl class [EXT_external_objects]
      7 
      8 #ifndef LIBANGLE_RENDERER_SEMAPHOREIMPL_H_
      9 #define LIBANGLE_RENDERER_SEMAPHOREIMPL_H_
     10 
     11 #include "angle_gl.h"
     12 #include "common/PackedEnums.h"
     13 #include "common/angleutils.h"
     14 #include "libANGLE/Error.h"
     15 #include "libANGLE/angletypes.h"
     16 
     17 namespace gl
     18 {
     19 class Context;
     20 class Semaphore;
     21 }  // namespace gl
     22 
     23 namespace rx
     24 {
     25 
     26 class SemaphoreImpl : angle::NonCopyable
     27 {
     28  public:
     29    virtual ~SemaphoreImpl() {}
     30 
     31    virtual void onDestroy(const gl::Context *context) = 0;
     32 
     33    virtual angle::Result importFd(gl::Context *context, gl::HandleType handleType, GLint fd) = 0;
     34 
     35    virtual angle::Result importZirconHandle(gl::Context *context,
     36                                             gl::HandleType handleType,
     37                                             GLuint handle) = 0;
     38 
     39    virtual angle::Result wait(gl::Context *context,
     40                               const gl::BufferBarrierVector &bufferBarriers,
     41                               const gl::TextureBarrierVector &textureBarriers) = 0;
     42 
     43    virtual angle::Result signal(gl::Context *context,
     44                                 const gl::BufferBarrierVector &bufferBarriers,
     45                                 const gl::TextureBarrierVector &textureBarriers) = 0;
     46 };
     47 
     48 }  // namespace rx
     49 
     50 #endif  // LIBANGLE_RENDERER_SEMAPHOREIMPL_H_