tor-browser

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

Semaphore.cpp (1628B)


      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 // Semaphore.h: Implements the gl::Semaphore class [EXT_external_objects]
      7 
      8 #include "libANGLE/Semaphore.h"
      9 
     10 #include "common/angleutils.h"
     11 #include "libANGLE/renderer/GLImplFactory.h"
     12 #include "libANGLE/renderer/SemaphoreImpl.h"
     13 
     14 namespace gl
     15 {
     16 
     17 Semaphore::Semaphore(rx::GLImplFactory *factory, SemaphoreID id)
     18    : RefCountObject(factory->generateSerial(), id), mImplementation(factory->createSemaphore())
     19 {}
     20 
     21 Semaphore::~Semaphore() {}
     22 
     23 void Semaphore::onDestroy(const Context *context)
     24 {
     25    mImplementation->onDestroy(context);
     26 }
     27 
     28 angle::Result Semaphore::importFd(Context *context, HandleType handleType, GLint fd)
     29 {
     30    return mImplementation->importFd(context, handleType, fd);
     31 }
     32 
     33 angle::Result Semaphore::importZirconHandle(Context *context, HandleType handleType, GLuint handle)
     34 {
     35    return mImplementation->importZirconHandle(context, handleType, handle);
     36 }
     37 
     38 angle::Result Semaphore::wait(Context *context,
     39                              const BufferBarrierVector &bufferBarriers,
     40                              const TextureBarrierVector &textureBarriers)
     41 {
     42    return mImplementation->wait(context, bufferBarriers, textureBarriers);
     43 }
     44 
     45 angle::Result Semaphore::signal(Context *context,
     46                                const BufferBarrierVector &bufferBarriers,
     47                                const TextureBarrierVector &textureBarriers)
     48 {
     49    return mImplementation->signal(context, bufferBarriers, textureBarriers);
     50 }
     51 
     52 }  // namespace gl