KWin
Loading...
Searching...
No Matches
mock_gl.cpp
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: 2016 Martin Gräßlin <mgraesslin@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#include "mock_gl.h"
10#include <epoxy/gl.h>
11
12MockGL *s_gl = nullptr;
13
14static const GLubyte *mock_glGetString(GLenum name)
15{
16 if (!s_gl) {
17 return nullptr;
18 }
19 switch (name) {
20 case GL_VENDOR:
21 return (const GLubyte *)s_gl->getString.vendor.constData();
22 case GL_RENDERER:
23 return (const GLubyte *)s_gl->getString.renderer.constData();
24 case GL_VERSION:
25 return (const GLubyte *)s_gl->getString.version.constData();
26 case GL_EXTENSIONS:
27 return (const GLubyte *)s_gl->getString.extensionsString.constData();
28 case GL_SHADING_LANGUAGE_VERSION:
29 return (const GLubyte *)s_gl->getString.shadingLanguageVersion.constData();
30 default:
31 return nullptr;
32 }
33}
34
35static const GLubyte *mock_glGetStringi(GLenum name, GLuint index)
36{
37 if (!s_gl) {
38 return nullptr;
39 }
40 if (name == GL_EXTENSIONS && index < uint(s_gl->getString.extensions.count())) {
41 return (const GLubyte *)s_gl->getString.extensions.at(index).constData();
42 }
43 return nullptr;
44}
45
46static void mock_glGetIntegerv(GLenum pname, GLint *data)
47{
48 if (pname == GL_NUM_EXTENSIONS) {
49 if (data && s_gl) {
50 *data = s_gl->getString.extensions.count();
51 }
52 }
53}
54
55PFNGLGETSTRINGPROC epoxy_glGetString = mock_glGetString;
56PFNGLGETSTRINGIPROC epoxy_glGetStringi = mock_glGetStringi;
57PFNGLGETINTEGERVPROC epoxy_glGetIntegerv = mock_glGetIntegerv;
PFNGLGETSTRINGPROC epoxy_glGetString
Definition mock_gl.cpp:55
PFNGLGETINTEGERVPROC epoxy_glGetIntegerv
Definition mock_gl.cpp:57
MockGL * s_gl
Definition mock_gl.cpp:12
PFNGLGETSTRINGIPROC epoxy_glGetStringi
Definition mock_gl.cpp:56
QByteArray version
Definition mock_gl.h:21
QByteArray extensionsString
Definition mock_gl.h:23
struct MockGL::@0 getString
QByteArray renderer
Definition mock_gl.h:20
QList< QByteArray > extensions
Definition mock_gl.h:22
QByteArray vendor
Definition mock_gl.h:19
QByteArray shadingLanguageVersion
Definition mock_gl.h:24