RetroArch
gl_types.h
Go to the documentation of this file.
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