KWin
Loading...
Searching...
No Matches
gltexture_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: 2006-2007 Rivo Laks <rivolaks@hot.ee>
6 SPDX-FileCopyrightText: 2010, 2011 Martin Gräßlin <mgraesslin@kde.org>
7 SPDX-FileCopyrightText: 2011 Philipp Knechtges <philipp-dev@knechtges.com>
8
9 SPDX-License-Identifier: GPL-2.0-or-later
10*/
11
12#pragma once
13
14#include "opengl/glutils.h"
15
16#include <QImage>
17#include <QMatrix4x4>
18#include <QSharedData>
19#include <QSize>
20#include <epoxy/gl.h>
21
22namespace KWin
23{
24// forward declarations
25class GLVertexBuffer;
26
27class KWIN_EXPORT GLTexturePrivate
28 : public QSharedData
29{
30public:
32 virtual ~GLTexturePrivate();
33
34 void updateMatrix();
35
36 GLuint m_texture;
37 GLenum m_target;
39 GLenum m_filter;
40 GLenum m_wrapMode;
41 QSize m_size;
42 QSizeF m_scale; // to un-normalize GL_TEXTURE_2D
43 QMatrix4x4 m_matrix[2];
51
52 int m_unnormalizeActive; // 0 - no, otherwise refcount
53 int m_normalizeActive; // 0 - no, otherwise refcount
54 std::unique_ptr<GLVertexBuffer> m_vbo;
58
59 static void initStatic();
60
62 static bool s_supportsARGB32;
63 static bool s_supportsUnpack;
68 static GLuint s_fbo;
69
70private:
71 friend void KWin::cleanupGL();
72 static void cleanup();
73 Q_DISABLE_COPY(GLTexturePrivate)
74};
75
76} // namespace
static bool s_supportsTexture16Bit
Definition gltexture_p.h:67
static bool s_supportsTextureFormatRG
Definition gltexture_p.h:66
std::unique_ptr< GLVertexBuffer > m_vbo
Definition gltexture_p.h:54
static bool s_supportsARGB32
Definition gltexture_p.h:62
static bool s_supportsTextureSwizzle
Definition gltexture_p.h:65
static bool s_supportsTextureStorage
Definition gltexture_p.h:64
static bool s_supportsFramebufferObjects
Definition gltexture_p.h:61
OutputTransform m_cachedContentTransform
Definition gltexture_p.h:57
static bool s_supportsUnpack
Definition gltexture_p.h:63
OutputTransform m_textureToBufferTransform
Definition gltexture_p.h:44
static GLuint s_fbo
Definition gltexture_p.h:68
void KWIN_EXPORT cleanupGL()
Definition glutils.cpp:122