~mmach/netext73/webkit2gtk

« back to all changes in this revision

Viewing changes to Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/SemaphoreVk.h

  • Committer: mmach
  • Date: 2023-06-16 17:21:37 UTC
  • Revision ID: netbit73@gmail.com-20230616172137-2rqx6yr96ga9g3kp
1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2019 The ANGLE Project Authors. All rights reserved.
 
2
// Use of this source code is governed by a BSD-style license that can be
 
3
// found in the LICENSE file.
 
4
//
 
5
// SemaphoreVk.h: Defines the class interface for SemaphoreVk,
 
6
// implementing SemaphoreImpl.
 
7
 
 
8
#ifndef LIBANGLE_RENDERER_VULKAN_SEMAPHOREVK_H_
 
9
#define LIBANGLE_RENDERER_VULKAN_SEMAPHOREVK_H_
 
10
 
 
11
#include "libANGLE/renderer/SemaphoreImpl.h"
 
12
#include "libANGLE/renderer/vulkan/vk_helpers.h"
 
13
#include "libANGLE/renderer/vulkan/vk_wrapper.h"
 
14
 
 
15
namespace rx
 
16
{
 
17
 
 
18
class SemaphoreVk : public SemaphoreImpl
 
19
{
 
20
  public:
 
21
    SemaphoreVk();
 
22
    ~SemaphoreVk() override;
 
23
 
 
24
    void onDestroy(const gl::Context *context) override;
 
25
 
 
26
    angle::Result importFd(gl::Context *context, gl::HandleType handleType, GLint fd) override;
 
27
 
 
28
    angle::Result wait(gl::Context *context,
 
29
                       const gl::BufferBarrierVector &bufferBarriers,
 
30
                       const gl::TextureBarrierVector &textureBarriers) override;
 
31
 
 
32
    angle::Result signal(gl::Context *context,
 
33
                         const gl::BufferBarrierVector &bufferBarriers,
 
34
                         const gl::TextureBarrierVector &textureBarriers) override;
 
35
 
 
36
  private:
 
37
    angle::Result importOpaqueFd(gl::Context *context, GLint fd);
 
38
 
 
39
    vk::Semaphore mSemaphore;
 
40
};
 
41
 
 
42
}  // namespace rx
 
43
 
 
44
#endif  // LIBANGLE_RENDERER_VULKAN_SEMAPHOREVK_H_