KWin
Loading...
Searching...
No Matches
src
x11syncmanager.h
Go to the documentation of this file.
1
/*
2
SPDX-FileCopyrightText: 2014 Fredrik Höglund <fredrik@kde.org>
3
4
SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#pragma once
8
9
#include "
opengl/glutils.h
"
10
11
#include <xcb/sync.h>
12
#include <xcb/xcb.h>
13
14
namespace
KWin
15
{
16
21
class
X11SyncObject
22
{
23
public
:
24
enum
State
{
25
Ready
,
26
TriggerSent
,
27
Waiting
,
28
Done
,
29
Resetting
,
30
};
31
32
X11SyncObject
();
33
~X11SyncObject
();
34
35
State
state
()
const
36
{
37
return
m_state;
38
}
39
40
void
trigger
();
41
void
wait
();
42
bool
finish
();
43
void
reset
();
44
void
finishResetting
();
45
46
private
:
47
State
m_state;
48
GLsync m_sync;
49
xcb_sync_fence_t m_fence;
50
xcb_get_input_focus_cookie_t m_reset_cookie;
51
};
52
57
class
X11SyncManager
58
{
59
public
:
60
enum
{
61
MaxFences
= 4,
62
};
63
64
static
X11SyncManager
*
create
();
65
~X11SyncManager
();
66
67
bool
endFrame
();
68
69
void
triggerFence
();
70
void
insertWait
();
71
72
private
:
73
X11SyncManager
();
74
75
X11SyncObject
*m_currentFence =
nullptr
;
76
QList<X11SyncObject *> m_fences;
77
int
m_next = 0;
78
};
79
80
}
// namespace KWin
KWin::X11SyncManager
Definition
x11syncmanager.h:58
KWin::X11SyncManager::triggerFence
void triggerFence()
Definition
x11syncmanager.cpp:218
KWin::X11SyncManager::endFrame
bool endFrame()
Definition
x11syncmanager.cpp:181
KWin::X11SyncManager::MaxFences
@ MaxFences
Definition
x11syncmanager.h:61
KWin::X11SyncManager::~X11SyncManager
~X11SyncManager()
Definition
x11syncmanager.cpp:175
KWin::X11SyncManager::insertWait
void insertWait()
Definition
x11syncmanager.cpp:225
KWin::X11SyncManager::create
static X11SyncManager * create()
Definition
x11syncmanager.cpp:140
KWin::X11SyncObject
Definition
x11syncmanager.h:22
KWin::X11SyncObject::reset
void reset()
Definition
x11syncmanager.cpp:115
KWin::X11SyncObject::~X11SyncObject
~X11SyncObject()
Definition
x11syncmanager.cpp:34
KWin::X11SyncObject::X11SyncObject
X11SyncObject()
Definition
x11syncmanager.cpp:22
KWin::X11SyncObject::State
State
Definition
x11syncmanager.h:24
KWin::X11SyncObject::Done
@ Done
Definition
x11syncmanager.h:28
KWin::X11SyncObject::Ready
@ Ready
Definition
x11syncmanager.h:25
KWin::X11SyncObject::TriggerSent
@ TriggerSent
Definition
x11syncmanager.h:26
KWin::X11SyncObject::Waiting
@ Waiting
Definition
x11syncmanager.h:27
KWin::X11SyncObject::Resetting
@ Resetting
Definition
x11syncmanager.h:29
KWin::X11SyncObject::finishResetting
void finishResetting()
Definition
x11syncmanager.cpp:133
KWin::X11SyncObject::state
State state() const
Definition
x11syncmanager.h:35
KWin::X11SyncObject::trigger
void trigger()
Definition
x11syncmanager.cpp:56
KWin::X11SyncObject::wait
void wait()
Definition
x11syncmanager.cpp:69
KWin::X11SyncObject::finish
bool finish()
Definition
x11syncmanager.cpp:79
glutils.h
KWin
Definition
activation_test.cpp:20
Generated on Sat Feb 17 2024 01:42:10 for KWin by
1.10.0