KWin
Loading...
Searching...
No Matches
src
backends
x11
standalone
x11_standalone_sgivideosyncvsyncmonitor.h
Go to the documentation of this file.
1
/*
2
SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4
SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#pragma once
8
9
#include "
utils/vsyncmonitor.h
"
10
11
#include <epoxy/glx.h>
12
#include <fixx11h.h>
13
14
#include <QThread>
15
16
namespace
KWin
17
{
18
23
class
SGIVideoSyncVsyncMonitorHelper
:
public
QObject
24
{
25
Q_OBJECT
26
27
public
:
28
explicit
SGIVideoSyncVsyncMonitorHelper
();
29
~SGIVideoSyncVsyncMonitorHelper
()
override
;
30
31
bool
isValid
()
const
;
32
33
public
Q_SLOTS:
34
void
poll
();
35
36
Q_SIGNALS:
37
void
errorOccurred
();
38
void
vblankOccurred
(std::chrono::nanoseconds timestamp);
39
40
private
:
41
::Display
*m_display =
nullptr
;
42
::Window
m_dummyWindow = 0;
43
GLXContext m_localContext = 0;
44
GLXDrawable m_drawable = 0;
45
};
46
55
class
SGIVideoSyncVsyncMonitor
:
public
VsyncMonitor
56
{
57
Q_OBJECT
58
59
public
:
60
static
std::unique_ptr<SGIVideoSyncVsyncMonitor>
create
();
61
~SGIVideoSyncVsyncMonitor
()
override
;
62
63
bool
isValid
()
const
;
64
65
public
Q_SLOTS:
66
void
arm
()
override
;
67
68
private
:
69
explicit
SGIVideoSyncVsyncMonitor
();
70
71
QThread m_thread;
72
SGIVideoSyncVsyncMonitorHelper
m_helper;
73
};
74
75
}
// namespace KWin
KWin::SGIVideoSyncVsyncMonitorHelper
Definition
x11_standalone_sgivideosyncvsyncmonitor.h:24
KWin::SGIVideoSyncVsyncMonitorHelper::vblankOccurred
void vblankOccurred(std::chrono::nanoseconds timestamp)
KWin::SGIVideoSyncVsyncMonitorHelper::poll
void poll()
Definition
x11_standalone_sgivideosyncvsyncmonitor.cpp:109
KWin::SGIVideoSyncVsyncMonitorHelper::~SGIVideoSyncVsyncMonitorHelper
~SGIVideoSyncVsyncMonitorHelper() override
Definition
x11_standalone_sgivideosyncvsyncmonitor.cpp:88
KWin::SGIVideoSyncVsyncMonitorHelper::isValid
bool isValid() const
Definition
x11_standalone_sgivideosyncvsyncmonitor.cpp:104
KWin::SGIVideoSyncVsyncMonitorHelper::SGIVideoSyncVsyncMonitorHelper
SGIVideoSyncVsyncMonitorHelper()
Definition
x11_standalone_sgivideosyncvsyncmonitor.cpp:32
KWin::SGIVideoSyncVsyncMonitorHelper::errorOccurred
void errorOccurred()
KWin::SGIVideoSyncVsyncMonitor
Definition
x11_standalone_sgivideosyncvsyncmonitor.h:56
KWin::SGIVideoSyncVsyncMonitor::~SGIVideoSyncVsyncMonitor
~SGIVideoSyncVsyncMonitor() override
Definition
x11_standalone_sgivideosyncvsyncmonitor.cpp:139
KWin::SGIVideoSyncVsyncMonitor::arm
void arm() override
Definition
x11_standalone_sgivideosyncvsyncmonitor.cpp:150
KWin::SGIVideoSyncVsyncMonitor::create
static std::unique_ptr< SGIVideoSyncVsyncMonitor > create()
Definition
x11_standalone_sgivideosyncvsyncmonitor.cpp:16
KWin::SGIVideoSyncVsyncMonitor::isValid
bool isValid() const
Definition
x11_standalone_sgivideosyncvsyncmonitor.cpp:145
KWin::VsyncMonitor
Definition
vsyncmonitor.h:22
Window
Definition
copy.cpp:16
KWin
Definition
activation_test.cpp:20
vsyncmonitor.h
Display
struct _XDisplay Display
Definition
x11_standalone_egl_backend.h:18
Generated on Sat Feb 17 2024 01:42:09 for KWin by
1.10.0