1/****************************************************************************
2**
3** Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB).
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the QtGui module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU Lesser General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU Lesser
19** General Public License version 3 as published by the Free Software
20** Foundation and appearing in the file LICENSE.LGPL3 included in the
21** packaging of this file. Please review the following information to
22** ensure the GNU Lesser General Public License version 3 requirements
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24**
25** GNU General Public License Usage
26** Alternatively, this file may be used under the terms of the GNU
27** General Public License version 2.0 or (at your option) the GNU General
28** Public license version 3 or any later version approved by the KDE Free
29** Qt Foundation. The licenses are as published by the Free Software
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31** included in the packaging of this file. Please review the following
32** information to ensure the GNU General Public License requirements will
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34** https://www.gnu.org/licenses/gpl-3.0.html.
35**
36** $QT_END_LICENSE$
37**
38****************************************************************************/
39
40#ifndef QSHADERLANGUAGE_P_H
41#define QSHADERLANGUAGE_P_H
42
43//
44// W A R N I N G
45// -------------
46//
47// This file is not part of the Qt API. It exists purely as an
48// implementation detail. This header file may change from version to
49// version without notice, or even be removed.
50//
51// We mean it.
52//
53
54#include <QtGui/private/qtguiglobal_p.h>
55
56#include <QtCore/qmetatype.h>
57
58QT_BEGIN_NAMESPACE
59
60namespace QShaderLanguage
61{
62 Q_NAMESPACE_EXPORT(Q_GUI_EXPORT)
63
64 enum StorageQualifier : char {
65 Const = 1,
66 Input,
67 BuiltIn,
68 Output,
69 Uniform
70 };
71 Q_ENUM_NS(StorageQualifier)
72
73 enum VariableType : int {
74 Bool = 1,
75 Int,
76 Uint,
77 Float,
78 Double,
79 Vec2,
80 Vec3,
81 Vec4,
82 DVec2,
83 DVec3,
84 DVec4,
85 BVec2,
86 BVec3,
87 BVec4,
88 IVec2,
89 IVec3,
90 IVec4,
91 UVec2,
92 UVec3,
93 UVec4,
94 Mat2,
95 Mat3,
96 Mat4,
97 Mat2x2,
98 Mat2x3,
99 Mat2x4,
100 Mat3x2,
101 Mat3x3,
102 Mat3x4,
103 Mat4x2,
104 Mat4x3,
105 Mat4x4,
106 DMat2,
107 DMat3,
108 DMat4,
109 DMat2x2,
110 DMat2x3,
111 DMat2x4,
112 DMat3x2,
113 DMat3x3,
114 DMat3x4,
115 DMat4x2,
116 DMat4x3,
117 DMat4x4,
118 Sampler1D,
119 Sampler2D,
120 Sampler3D,
121 SamplerCube,
122 Sampler2DRect,
123 Sampler2DMs,
124 SamplerBuffer,
125 Sampler1DArray,
126 Sampler2DArray,
127 Sampler2DMsArray,
128 SamplerCubeArray,
129 Sampler1DShadow,
130 Sampler2DShadow,
131 Sampler2DRectShadow,
132 Sampler1DArrayShadow,
133 Sampler2DArrayShadow,
134 SamplerCubeShadow,
135 SamplerCubeArrayShadow,
136 ISampler1D,
137 ISampler2D,
138 ISampler3D,
139 ISamplerCube,
140 ISampler2DRect,
141 ISampler2DMs,
142 ISamplerBuffer,
143 ISampler1DArray,
144 ISampler2DArray,
145 ISampler2DMsArray,
146 ISamplerCubeArray,
147 USampler1D,
148 USampler2D,
149 USampler3D,
150 USamplerCube,
151 USampler2DRect,
152 USampler2DMs,
153 USamplerBuffer,
154 USampler1DArray,
155 USampler2DArray,
156 USampler2DMsArray,
157 USamplerCubeArray
158 };
159 Q_ENUM_NS(VariableType)
160}
161
162QT_END_NAMESPACE
163
164#endif // QSHADERLANGUAGE_P_H
165

source code of qtbase/src/gui/util/qshaderlanguage_p.h