diff options
Diffstat (limited to 'gfx/angle/checkout/src/libANGLE/renderer/SemaphoreImpl.h')
-rw-r--r-- | gfx/angle/checkout/src/libANGLE/renderer/SemaphoreImpl.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gfx/angle/checkout/src/libANGLE/renderer/SemaphoreImpl.h b/gfx/angle/checkout/src/libANGLE/renderer/SemaphoreImpl.h new file mode 100644 index 0000000000..059ea157b7 --- /dev/null +++ b/gfx/angle/checkout/src/libANGLE/renderer/SemaphoreImpl.h @@ -0,0 +1,46 @@ +// +// Copyright 2019 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// SemaphoreImpl.h: Implements the rx::SemaphoreImpl class [EXT_external_objects] + +#ifndef LIBANGLE_RENDERER_SEMAPHOREIMPL_H_ +#define LIBANGLE_RENDERER_SEMAPHOREIMPL_H_ + +#include "angle_gl.h" +#include "common/PackedEnums.h" +#include "common/angleutils.h" +#include "libANGLE/Error.h" +#include "libANGLE/angletypes.h" + +namespace gl +{ +class Context; +class Semaphore; +} // namespace gl + +namespace rx +{ + +class SemaphoreImpl : angle::NonCopyable +{ + public: + virtual ~SemaphoreImpl() {} + + virtual void onDestroy(const gl::Context *context) = 0; + + virtual angle::Result importFd(gl::Context *context, gl::HandleType handleType, GLint fd) = 0; + + virtual angle::Result wait(gl::Context *context, + const gl::BufferBarrierVector &bufferBarriers, + const gl::TextureBarrierVector &textureBarriers) = 0; + + virtual angle::Result signal(gl::Context *context, + const gl::BufferBarrierVector &bufferBarriers, + const gl::TextureBarrierVector &textureBarriers) = 0; +}; + +} // namespace rx + +#endif // LIBANGLE_RENDERER_SEMAPHOREIMPL_H_ |