summaryrefslogtreecommitdiffstats
path: root/xbmc/utils/EGLFence.h
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2020-10-19 00:52:24 +0200
committermanuel <manuel@mausz.at>2020-10-19 00:52:24 +0200
commitbe933ef2241d79558f91796cc5b3a161f72ebf9c (patch)
treefe3ab2f130e20c99001f2d7a81d610c78c96a3f4 /xbmc/utils/EGLFence.h
parent5f8335c1e49ce108ef3481863833c98efa00411b (diff)
downloadkodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.tar.gz
kodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.tar.bz2
kodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.zip
sync with upstream
Diffstat (limited to 'xbmc/utils/EGLFence.h')
-rw-r--r--xbmc/utils/EGLFence.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/xbmc/utils/EGLFence.h b/xbmc/utils/EGLFence.h
new file mode 100644
index 0000000..1664772
--- /dev/null
+++ b/xbmc/utils/EGLFence.h
@@ -0,0 +1,43 @@
1/*
2 * Copyright (C) 2017-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
8
9#pragma once
10
11#include <EGL/egl.h>
12#include <EGL/eglext.h>
13
14namespace KODI
15{
16namespace UTILS
17{
18namespace EGL
19{
20
21class CEGLFence
22{
23public:
24 explicit CEGLFence(EGLDisplay display);
25 CEGLFence(CEGLFence const& other) = delete;
26 CEGLFence& operator=(CEGLFence const& other) = delete;
27
28 void CreateFence();
29 void DestroyFence();
30 bool IsSignaled();
31
32private:
33 EGLDisplay m_display{nullptr};
34 EGLSyncKHR m_fence{nullptr};
35
36 PFNEGLCREATESYNCKHRPROC m_eglCreateSyncKHR{nullptr};
37 PFNEGLDESTROYSYNCKHRPROC m_eglDestroySyncKHR{nullptr};
38 PFNEGLGETSYNCATTRIBKHRPROC m_eglGetSyncAttribKHR{nullptr};
39};
40
41}
42}
43}