KWin
Loading...
Searching...
No Matches
eglutils_p.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2021 Xaver Hugl <xaver.hugl@gmail.com>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#pragma once
10
11#include <QOpenGLContext>
12#include <QString>
13#include <epoxy/egl.h>
14
15static inline QString getEglErrorString(EGLint errorCode)
16{
17 switch (errorCode) {
18 case EGL_SUCCESS:
19 return QStringLiteral("EGL_SUCCESS");
20 case EGL_NOT_INITIALIZED:
21 return QStringLiteral("EGL_NOT_INITIALIZED");
22 case EGL_BAD_ACCESS:
23 return QStringLiteral("EGL_BAD_ACCESS");
24 case EGL_BAD_ALLOC:
25 return QStringLiteral("EGL_BAD_ALLOC");
26 case EGL_BAD_ATTRIBUTE:
27 return QStringLiteral("EGL_BAD_ATTRIBUTE");
28 case EGL_BAD_CONTEXT:
29 return QStringLiteral("EGL_BAD_CONTEXT");
30 case EGL_BAD_CONFIG:
31 return QStringLiteral("EGL_BAD_CONFIG");
32 case EGL_BAD_CURRENT_SURFACE:
33 return QStringLiteral("EGL_BAD_CURRENT_SURFACE");
34 case EGL_BAD_DISPLAY:
35 return QStringLiteral("EGL_BAD_DISPLAY");
36 case EGL_BAD_SURFACE:
37 return QStringLiteral("EGL_BAD_SURFACE");
38 case EGL_BAD_MATCH:
39 return QStringLiteral("EGL_BAD_MATCH");
40 case EGL_BAD_PARAMETER:
41 return QStringLiteral("EGL_BAD_PARAMETER");
42 case EGL_BAD_NATIVE_PIXMAP:
43 return QStringLiteral("EGL_BAD_NATIVE_PIXMAP");
44 case EGL_BAD_NATIVE_WINDOW:
45 return QStringLiteral("EGL_BAD_NATIVE_WINDOW");
46 case EGL_CONTEXT_LOST:
47 return QStringLiteral("EGL_CONTEXT_LOST");
48 default:
49 return QString::number(errorCode, 16);
50 }
51}
52
53static inline QString getEglErrorString()
54{
55 return getEglErrorString(eglGetError());
56}
57
58static inline bool isOpenGLES()
59{
60 if (qstrcmp(qgetenv("KWIN_COMPOSE"), "O2ES") == 0) {
61 return true;
62 }
63 return QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGLES;
64}