• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 ** Copyright (c) 2013 The Khronos Group Inc.
3 **
4 ** Permission is hereby granted, free of charge, to any person obtaining a
5 ** copy of this software and/or associated documentation files (the
6 ** "Materials"), to deal in the Materials without restriction, including
7 ** without limitation the rights to use, copy, modify, merge, publish,
8 ** distribute, sublicense, and/or sell copies of the Materials, and to
9 ** permit persons to whom the Materials are furnished to do so, subject to
10 ** the following conditions:
11 **
12 ** The above copyright notice and this permission notice shall be included
13 ** in all copies or substantial portions of the Materials.
14 **
15 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
22 */
23 
24 #pragma once
25 
26 #define GL_FLOAT                          0x1406
27 #define GL_FLOAT_VEC2                     0x8B50
28 #define GL_FLOAT_VEC3                     0x8B51
29 #define GL_FLOAT_VEC4                     0x8B52
30 
31 #define GL_DOUBLE                         0x140A
32 #define GL_DOUBLE_VEC2                    0x8FFC
33 #define GL_DOUBLE_VEC3                    0x8FFD
34 #define GL_DOUBLE_VEC4                    0x8FFE
35 
36 #define GL_INT                            0x1404
37 #define GL_INT_VEC2                       0x8B53
38 #define GL_INT_VEC3                       0x8B54
39 #define GL_INT_VEC4                       0x8B55
40 
41 #define GL_UNSIGNED_INT                   0x1405
42 #define GL_UNSIGNED_INT_VEC2              0x8DC6
43 #define GL_UNSIGNED_INT_VEC3              0x8DC7
44 #define GL_UNSIGNED_INT_VEC4              0x8DC8
45 
46 #define GL_INT64_ARB                      0x140E
47 #define GL_INT64_VEC2_ARB                 0x8FE9
48 #define GL_INT64_VEC3_ARB                 0x8FEA
49 #define GL_INT64_VEC4_ARB                 0x8FEB
50 
51 #define GL_UNSIGNED_INT64_ARB             0x140F
52 #define GL_UNSIGNED_INT64_VEC2_ARB        0x8FE5
53 #define GL_UNSIGNED_INT64_VEC3_ARB        0x8FE6
54 #define GL_UNSIGNED_INT64_VEC4_ARB        0x8FE7
55 
56 #define GL_BOOL                           0x8B56
57 #define GL_BOOL_VEC2                      0x8B57
58 #define GL_BOOL_VEC3                      0x8B58
59 #define GL_BOOL_VEC4                      0x8B59
60 
61 #define GL_FLOAT_MAT2                     0x8B5A
62 #define GL_FLOAT_MAT3                     0x8B5B
63 #define GL_FLOAT_MAT4                     0x8B5C
64 #define GL_FLOAT_MAT2x3                   0x8B65
65 #define GL_FLOAT_MAT2x4                   0x8B66
66 #define GL_FLOAT_MAT3x2                   0x8B67
67 #define GL_FLOAT_MAT3x4                   0x8B68
68 #define GL_FLOAT_MAT4x2                   0x8B69
69 #define GL_FLOAT_MAT4x3                   0x8B6A
70 
71 #define GL_DOUBLE_MAT2                    0x8F46
72 #define GL_DOUBLE_MAT3                    0x8F47
73 #define GL_DOUBLE_MAT4                    0x8F48
74 #define GL_DOUBLE_MAT2x3                  0x8F49
75 #define GL_DOUBLE_MAT2x4                  0x8F4A
76 #define GL_DOUBLE_MAT3x2                  0x8F4B
77 #define GL_DOUBLE_MAT3x4                  0x8F4C
78 #define GL_DOUBLE_MAT4x2                  0x8F4D
79 #define GL_DOUBLE_MAT4x3                  0x8F4E
80 
81 #ifdef AMD_EXTENSIONS
82 // Those constants are borrowed from extension NV_gpu_shader5
83 #define GL_FLOAT16_NV                     0x8FF8
84 #define GL_FLOAT16_VEC2_NV                0x8FF9
85 #define GL_FLOAT16_VEC3_NV                0x8FFA
86 #define GL_FLOAT16_VEC4_NV                0x8FFB
87 
88 #define GL_FLOAT16_MAT2_AMD               0x91C5
89 #define GL_FLOAT16_MAT3_AMD               0x91C6
90 #define GL_FLOAT16_MAT4_AMD               0x91C7
91 #define GL_FLOAT16_MAT2x3_AMD             0x91C8
92 #define GL_FLOAT16_MAT2x4_AMD             0x91C9
93 #define GL_FLOAT16_MAT3x2_AMD             0x91CA
94 #define GL_FLOAT16_MAT3x4_AMD             0x91CB
95 #define GL_FLOAT16_MAT4x2_AMD             0x91CC
96 #define GL_FLOAT16_MAT4x3_AMD             0x91CD
97 #endif
98 
99 #define GL_SAMPLER_1D                     0x8B5D
100 #define GL_SAMPLER_2D                     0x8B5E
101 #define GL_SAMPLER_3D                     0x8B5F
102 #define GL_SAMPLER_CUBE                   0x8B60
103 #define GL_SAMPLER_BUFFER                 0x8DC2
104 #define GL_SAMPLER_1D_ARRAY               0x8DC0
105 #define GL_SAMPLER_2D_ARRAY               0x8DC1
106 #define GL_SAMPLER_1D_ARRAY_SHADOW        0x8DC3
107 #define GL_SAMPLER_2D_ARRAY_SHADOW        0x8DC4
108 #define GL_SAMPLER_CUBE_SHADOW            0x8DC5
109 #define GL_SAMPLER_1D_SHADOW              0x8B61
110 #define GL_SAMPLER_2D_SHADOW              0x8B62
111 #define GL_SAMPLER_2D_RECT                0x8B63
112 #define GL_SAMPLER_2D_RECT_SHADOW         0x8B64
113 #define GL_SAMPLER_2D_MULTISAMPLE         0x9108
114 #define GL_SAMPLER_2D_MULTISAMPLE_ARRAY   0x910B
115 #define GL_SAMPLER_CUBE_MAP_ARRAY         0x900C
116 #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW  0x900D
117 #define GL_SAMPLER_CUBE_MAP_ARRAY_ARB     0x900C
118 #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D
119 
120 #ifdef AMD_EXTENSIONS
121 #define GL_FLOAT16_SAMPLER_1D_AMD                       0x91CE
122 #define GL_FLOAT16_SAMPLER_2D_AMD                       0x91CF
123 #define GL_FLOAT16_SAMPLER_3D_AMD                       0x91D0
124 #define GL_FLOAT16_SAMPLER_CUBE_AMD                     0x91D1
125 #define GL_FLOAT16_SAMPLER_2D_RECT_AMD                  0x91D2
126 #define GL_FLOAT16_SAMPLER_1D_ARRAY_AMD                 0x91D3
127 #define GL_FLOAT16_SAMPLER_2D_ARRAY_AMD                 0x91D4
128 #define GL_FLOAT16_SAMPLER_CUBE_MAP_ARRAY_AMD           0x91D5
129 #define GL_FLOAT16_SAMPLER_BUFFER_AMD                   0x91D6
130 #define GL_FLOAT16_SAMPLER_2D_MULTISAMPLE_AMD           0x91D7
131 #define GL_FLOAT16_SAMPLER_2D_MULTISAMPLE_ARRAY_AMD     0x91D8
132 
133 #define GL_FLOAT16_SAMPLER_1D_SHADOW_AMD                0x91D9
134 #define GL_FLOAT16_SAMPLER_2D_SHADOW_AMD                0x91DA
135 #define GL_FLOAT16_SAMPLER_2D_RECT_SHADOW_AMD           0x91DB
136 #define GL_FLOAT16_SAMPLER_1D_ARRAY_SHADOW_AMD          0x91DC
137 #define GL_FLOAT16_SAMPLER_2D_ARRAY_SHADOW_AMD          0x91DD
138 #define GL_FLOAT16_SAMPLER_CUBE_SHADOW_AMD              0x91DE
139 #define GL_FLOAT16_SAMPLER_CUBE_MAP_ARRAY_SHADOW_AMD    0x91DF
140 
141 #define GL_FLOAT16_IMAGE_1D_AMD                         0x91E0
142 #define GL_FLOAT16_IMAGE_2D_AMD                         0x91E1
143 #define GL_FLOAT16_IMAGE_3D_AMD                         0x91E2
144 #define GL_FLOAT16_IMAGE_2D_RECT_AMD                    0x91E3
145 #define GL_FLOAT16_IMAGE_CUBE_AMD                       0x91E4
146 #define GL_FLOAT16_IMAGE_1D_ARRAY_AMD                   0x91E5
147 #define GL_FLOAT16_IMAGE_2D_ARRAY_AMD                   0x91E6
148 #define GL_FLOAT16_IMAGE_CUBE_MAP_ARRAY_AMD             0x91E7
149 #define GL_FLOAT16_IMAGE_BUFFER_AMD                     0x91E8
150 #define GL_FLOAT16_IMAGE_2D_MULTISAMPLE_AMD             0x91E9
151 #define GL_FLOAT16_IMAGE_2D_MULTISAMPLE_ARRAY_AMD       0x91EA
152 #endif
153 
154 #define GL_INT_SAMPLER_1D                 0x8DC9
155 #define GL_INT_SAMPLER_2D                 0x8DCA
156 #define GL_INT_SAMPLER_3D                 0x8DCB
157 #define GL_INT_SAMPLER_CUBE               0x8DCC
158 #define GL_INT_SAMPLER_1D_ARRAY           0x8DCE
159 #define GL_INT_SAMPLER_2D_ARRAY           0x8DCF
160 #define GL_INT_SAMPLER_2D_RECT            0x8DCD
161 #define GL_INT_SAMPLER_BUFFER             0x8DD0
162 #define GL_INT_SAMPLER_2D_MULTISAMPLE     0x9109
163 #define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
164 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY     0x900E
165 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E
166 
167 #define GL_UNSIGNED_INT_SAMPLER_1D        0x8DD1
168 #define GL_UNSIGNED_INT_SAMPLER_2D        0x8DD2
169 #define GL_UNSIGNED_INT_SAMPLER_3D        0x8DD3
170 #define GL_UNSIGNED_INT_SAMPLER_CUBE      0x8DD4
171 #define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY  0x8DD6
172 #define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY  0x8DD7
173 #define GL_UNSIGNED_INT_SAMPLER_2D_RECT   0x8DD5
174 #define GL_UNSIGNED_INT_SAMPLER_BUFFER    0x8DD8
175 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
176 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
177 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F
178 #define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
179 
180 #define GL_IMAGE_1D                       0x904C
181 #define GL_IMAGE_2D                       0x904D
182 #define GL_IMAGE_3D                       0x904E
183 #define GL_IMAGE_2D_RECT                  0x904F
184 #define GL_IMAGE_CUBE                     0x9050
185 #define GL_IMAGE_BUFFER                   0x9051
186 #define GL_IMAGE_1D_ARRAY                 0x9052
187 #define GL_IMAGE_2D_ARRAY                 0x9053
188 #define GL_IMAGE_CUBE_MAP_ARRAY           0x9054
189 #define GL_IMAGE_2D_MULTISAMPLE           0x9055
190 #define GL_IMAGE_2D_MULTISAMPLE_ARRAY     0x9056
191 #define GL_INT_IMAGE_1D                   0x9057
192 #define GL_INT_IMAGE_2D                   0x9058
193 #define GL_INT_IMAGE_3D                   0x9059
194 #define GL_INT_IMAGE_2D_RECT              0x905A
195 #define GL_INT_IMAGE_CUBE                 0x905B
196 #define GL_INT_IMAGE_BUFFER               0x905C
197 #define GL_INT_IMAGE_1D_ARRAY             0x905D
198 #define GL_INT_IMAGE_2D_ARRAY             0x905E
199 #define GL_INT_IMAGE_CUBE_MAP_ARRAY       0x905F
200 #define GL_INT_IMAGE_2D_MULTISAMPLE       0x9060
201 #define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
202 #define GL_UNSIGNED_INT_IMAGE_1D          0x9062
203 #define GL_UNSIGNED_INT_IMAGE_2D          0x9063
204 #define GL_UNSIGNED_INT_IMAGE_3D          0x9064
205 #define GL_UNSIGNED_INT_IMAGE_2D_RECT     0x9065
206 #define GL_UNSIGNED_INT_IMAGE_CUBE        0x9066
207 #define GL_UNSIGNED_INT_IMAGE_BUFFER      0x9067
208 #define GL_UNSIGNED_INT_IMAGE_1D_ARRAY    0x9068
209 #define GL_UNSIGNED_INT_IMAGE_2D_ARRAY    0x9069
210 #define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
211 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
212 #define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
213 
214 #define GL_UNSIGNED_INT_ATOMIC_COUNTER    0x92DB
215