Add default Smack manifest for xorg-glproto.spec
[pkgs/xorg/proto/xorg-glproto.git] / glxtokens.h
1 #ifndef __GLX_glxtokens_h__
2 #define __GLX_glxtokens_h__
3
4 /*
5  * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
6  * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
7  *
8  * Permission is hereby granted, free of charge, to any person obtaining a
9  * copy of this software and associated documentation files (the "Software"),
10  * to deal in the Software without restriction, including without limitation
11  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12  * and/or sell copies of the Software, and to permit persons to whom the
13  * Software is furnished to do so, subject to the following conditions:
14  *
15  * The above copyright notice including the dates of first publication and
16  * either this permission notice or a reference to
17  * http://oss.sgi.com/projects/FreeB/
18  * shall be included in all copies or substantial portions of the Software.
19  *
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23  * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
25  * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26  * SOFTWARE.
27  *
28  * Except as contained in this notice, the name of Silicon Graphics, Inc.
29  * shall not be used in advertising or otherwise to promote the sale, use or
30  * other dealings in this Software without prior written authorization from
31  * Silicon Graphics, Inc.
32  */
33
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37
38 #define GLX_VERSION_1_1 1
39 #define GLX_VERSION_1_2 1
40 #define GLX_VERSION_1_3 1
41 #define GLX_VERSION_1_4 1
42
43 /*
44 ** Visual Config Attributes (glXGetConfig, glXGetFBConfigAttrib)
45 */
46 #define GLX_USE_GL              1       /* support GLX rendering */
47 #define GLX_BUFFER_SIZE         2       /* depth of the color buffer */
48 #define GLX_LEVEL               3       /* level in plane stacking */
49 #define GLX_RGBA                4       /* true if RGBA mode */
50 #define GLX_DOUBLEBUFFER        5       /* double buffering supported */
51 #define GLX_STEREO              6       /* stereo buffering supported */
52 #define GLX_AUX_BUFFERS         7       /* number of aux buffers */
53 #define GLX_RED_SIZE            8       /* number of red component bits */
54 #define GLX_GREEN_SIZE          9       /* number of green component bits */
55 #define GLX_BLUE_SIZE           10      /* number of blue component bits */
56 #define GLX_ALPHA_SIZE          11      /* number of alpha component bits */
57 #define GLX_DEPTH_SIZE          12      /* number of depth bits */
58 #define GLX_STENCIL_SIZE        13      /* number of stencil bits */
59 #define GLX_ACCUM_RED_SIZE      14      /* number of red accum bits */
60 #define GLX_ACCUM_GREEN_SIZE    15      /* number of green accum bits */
61 #define GLX_ACCUM_BLUE_SIZE     16      /* number of blue accum bits */
62 #define GLX_ACCUM_ALPHA_SIZE    17      /* number of alpha accum bits */
63 /*
64 ** FBConfig-specific attributes
65 */
66 #define GLX_X_VISUAL_TYPE               0x22
67 #define GLX_CONFIG_CAVEAT               0x20    /* Like visual_info VISUAL_CAVEAT_EXT */
68 #define GLX_TRANSPARENT_TYPE            0x23
69 #define GLX_TRANSPARENT_INDEX_VALUE     0x24
70 #define GLX_TRANSPARENT_RED_VALUE       0x25
71 #define GLX_TRANSPARENT_GREEN_VALUE     0x26
72 #define GLX_TRANSPARENT_BLUE_VALUE      0x27
73 #define GLX_TRANSPARENT_ALPHA_VALUE     0x28
74 #define GLX_DRAWABLE_TYPE               0x8010
75 #define GLX_RENDER_TYPE                 0x8011
76 #define GLX_X_RENDERABLE                0x8012
77 #define GLX_FBCONFIG_ID                 0x8013
78 #define GLX_MAX_PBUFFER_WIDTH           0x8016
79 #define GLX_MAX_PBUFFER_HEIGHT          0x8017
80 #define GLX_MAX_PBUFFER_PIXELS          0x8018
81 #define GLX_VISUAL_ID                   0x800B
82
83 /* FBConfigSGIX Attributes */
84 #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX  0x8019
85 #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
86
87 /*
88 ** Error return values from glXGetConfig.  Success is indicated by
89 ** a value of 0.
90 */
91 #define GLX_BAD_SCREEN          1       /* screen # is bad */
92 #define GLX_BAD_ATTRIBUTE       2       /* attribute to get is bad */
93 #define GLX_NO_EXTENSION        3       /* no glx extension on server */
94 #define GLX_BAD_VISUAL          4       /* visual # not known by GLX */
95 #define GLX_BAD_CONTEXT         5       /* returned only by import_context EXT? */
96 #define GLX_BAD_VALUE           6       /* returned only by glXSwapIntervalSGI? */
97 #define GLX_BAD_ENUM            7       /* unused? */
98
99 /* FBConfig attribute values */
100
101 /*
102 ** Generic "don't care" value for glX ChooseFBConfig attributes (except
103 ** GLX_LEVEL)
104 */
105 #define GLX_DONT_CARE                   0xFFFFFFFF
106
107 /* GLX_RENDER_TYPE bits */
108 #define GLX_RGBA_BIT                    0x00000001
109 #define GLX_COLOR_INDEX_BIT             0x00000002
110
111 /* GLX_DRAWABLE_TYPE bits */
112 #define GLX_WINDOW_BIT                  0x00000001
113 #define GLX_PIXMAP_BIT                  0x00000002
114 #define GLX_PBUFFER_BIT                 0x00000004
115
116 /* GLX_CONFIG_CAVEAT attribute values */
117 #define GLX_NONE                        0x8000
118 #define GLX_SLOW_CONFIG                 0x8001
119 #define GLX_NON_CONFORMANT_CONFIG       0x800D
120
121 /* GLX_X_VISUAL_TYPE attribute values */
122 #define GLX_TRUE_COLOR                  0x8002
123 #define GLX_DIRECT_COLOR                0x8003
124 #define GLX_PSEUDO_COLOR                0x8004
125 #define GLX_STATIC_COLOR                0x8005
126 #define GLX_GRAY_SCALE                  0x8006
127 #define GLX_STATIC_GRAY                 0x8007
128
129 /* GLX_TRANSPARENT_TYPE attribute values */
130 /* #define GLX_NONE                        0x8000 */
131 #define GLX_TRANSPARENT_RGB             0x8008
132 #define GLX_TRANSPARENT_INDEX           0x8009
133
134 /* glXCreateGLXPbuffer attributes */
135 #define GLX_PRESERVED_CONTENTS          0x801B
136 #define GLX_LARGEST_PBUFFER             0x801C
137 #define GLX_PBUFFER_HEIGHT              0x8040  /* New for GLX 1.3 */
138 #define GLX_PBUFFER_WIDTH               0x8041  /* New for GLX 1.3 */
139
140 /* glXQueryGLXPBuffer attributes */
141 #define GLX_WIDTH                       0x801D
142 #define GLX_HEIGHT                      0x801E
143 #define GLX_EVENT_MASK                  0x801F
144
145 /* glXCreateNewContext render_type attribute values */
146 #define GLX_RGBA_TYPE                   0x8014
147 #define GLX_COLOR_INDEX_TYPE            0x8015
148
149 /* glXQueryContext attributes */
150 /* #define GLX_FBCONFIG_ID                0x8013 */
151 /* #define GLX_RENDER_TYPE                0x8011 */
152 #define GLX_SCREEN                      0x800C
153
154 /* glXSelectEvent event mask bits */
155 #define GLX_PBUFFER_CLOBBER_MASK        0x08000000
156 #define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK     0x04000000
157
158 /* GLXPbufferClobberEvent event_type values */
159 #define GLX_DAMAGED                     0x8020
160 #define GLX_SAVED                       0x8021
161 #define GLX_EXCHANGE_COMPLETE_INTEL     0x8180
162 #define GLX_BLIT_COMPLETE_INTEL         0x8181
163 #define GLX_FLIP_COMPLETE_INTEL         0x8182
164
165 /* GLXPbufferClobberEvent draw_type values */
166 #define GLX_WINDOW                      0x8022
167 #define GLX_PBUFFER                     0x8023
168
169 /* GLXPbufferClobberEvent buffer_mask bits */
170 #define GLX_FRONT_LEFT_BUFFER_BIT       0x00000001
171 #define GLX_FRONT_RIGHT_BUFFER_BIT      0x00000002
172 #define GLX_BACK_LEFT_BUFFER_BIT        0x00000004
173 #define GLX_BACK_RIGHT_BUFFER_BIT       0x00000008
174 #define GLX_AUX_BUFFERS_BIT             0x00000010
175 #define GLX_DEPTH_BUFFER_BIT            0x00000020
176 #define GLX_STENCIL_BUFFER_BIT          0x00000040
177 #define GLX_ACCUM_BUFFER_BIT            0x00000080
178
179 /*
180 ** Extension return values from glXGetConfig.  These are also
181 ** accepted as parameter values for glXChooseVisual.
182 */
183
184 #define GLX_X_VISUAL_TYPE_EXT   0x22    /* visual_info extension type */
185 #define GLX_TRANSPARENT_TYPE_EXT 0x23   /* visual_info extension */
186 #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24    /* visual_info extension */
187 #define GLX_TRANSPARENT_RED_VALUE_EXT   0x25    /* visual_info extension */
188 #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26    /* visual_info extension */
189 #define GLX_TRANSPARENT_BLUE_VALUE_EXT  0x27    /* visual_info extension */
190 #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28    /* visual_info extension */
191
192 /* Property values for visual_type */
193 #define GLX_TRUE_COLOR_EXT      0x8002
194 #define GLX_DIRECT_COLOR_EXT    0x8003
195 #define GLX_PSEUDO_COLOR_EXT    0x8004
196 #define GLX_STATIC_COLOR_EXT    0x8005
197 #define GLX_GRAY_SCALE_EXT      0x8006
198 #define GLX_STATIC_GRAY_EXT     0x8007
199
200 /* Property values for transparent pixel */
201 #define GLX_NONE_EXT            0x8000
202 #define GLX_TRANSPARENT_RGB_EXT         0x8008
203 #define GLX_TRANSPARENT_INDEX_EXT       0x8009
204
205 /* Property values for visual_rating */
206 #define GLX_VISUAL_CAVEAT_EXT           0x20  /* visual_rating extension type */
207 #define GLX_SLOW_VISUAL_EXT             0x8001
208 #define GLX_NON_CONFORMANT_VISUAL_EXT   0x800D
209
210 /* Property values for swap method (GLX_OML_swap_method) */
211 #define GLX_SWAP_METHOD_OML                0x8060
212 #define GLX_SWAP_EXCHANGE_OML              0x8061
213 #define GLX_SWAP_COPY_OML                  0x8062
214 #define GLX_SWAP_UNDEFINED_OML             0x8063
215
216 /* Property values for multi-sampling */
217 #define GLX_VISUAL_SELECT_GROUP_SGIX    0x8028  /* visuals grouped by select priority */
218
219 /*
220 ** Names for attributes to glXGetClientString.
221 */
222 #define GLX_VENDOR              0x1
223 #define GLX_VERSION             0x2
224 #define GLX_EXTENSIONS          0x3
225
226 /*
227 ** Names for attributes to glXQueryContextInfoEXT.
228 */
229 #define GLX_SHARE_CONTEXT_EXT   0x800A  /* id of share context */
230 #define GLX_VISUAL_ID_EXT       0x800B  /* id of context's visual */
231 #define GLX_SCREEN_EXT          0x800C  /* screen number */
232
233 /*
234 ** GLX_EXT_texture_from_pixmap
235 */
236 #define GLX_BIND_TO_TEXTURE_RGB_EXT        0x20D0
237 #define GLX_BIND_TO_TEXTURE_RGBA_EXT       0x20D1
238 #define GLX_BIND_TO_MIPMAP_TEXTURE_EXT     0x20D2
239 #define GLX_BIND_TO_TEXTURE_TARGETS_EXT    0x20D3
240 #define GLX_Y_INVERTED_EXT                 0x20D4
241
242 #define GLX_TEXTURE_FORMAT_EXT             0x20D5
243 #define GLX_TEXTURE_TARGET_EXT             0x20D6
244 #define GLX_MIPMAP_TEXTURE_EXT             0x20D7
245
246 #define GLX_TEXTURE_FORMAT_NONE_EXT        0x20D8
247 #define GLX_TEXTURE_FORMAT_RGB_EXT         0x20D9
248 #define GLX_TEXTURE_FORMAT_RGBA_EXT        0x20DA
249
250 #define GLX_TEXTURE_1D_BIT_EXT             0x00000001
251 #define GLX_TEXTURE_2D_BIT_EXT             0x00000002
252 #define GLX_TEXTURE_RECTANGLE_BIT_EXT      0x00000004
253
254 #define GLX_TEXTURE_1D_EXT                 0x20DB
255 #define GLX_TEXTURE_2D_EXT                 0x20DC
256 #define GLX_TEXTURE_RECTANGLE_EXT          0x20DD
257
258 #define GLX_FRONT_LEFT_EXT                 0x20DE
259 #define GLX_FRONT_RIGHT_EXT                0x20DF
260 #define GLX_BACK_LEFT_EXT                  0x20E0
261 #define GLX_BACK_RIGHT_EXT                 0x20E1
262 #define GLX_FRONT_EXT                      GLX_FRONT_LEFT_EXT
263 #define GLX_BACK_EXT                       GLX_BACK_LEFT_EXT
264 #define GLX_AUX0_EXT                       0x20E2
265 #define GLX_AUX1_EXT                       0x20E3 
266 #define GLX_AUX2_EXT                       0x20E4 
267 #define GLX_AUX3_EXT                       0x20E5 
268 #define GLX_AUX4_EXT                       0x20E6 
269 #define GLX_AUX5_EXT                       0x20E7 
270 #define GLX_AUX6_EXT                       0x20E8
271 #define GLX_AUX7_EXT                       0x20E9 
272 #define GLX_AUX8_EXT                       0x20EA 
273 #define GLX_AUX9_EXT                       0x20EB
274
275 /*
276  * GLX 1.4 and later:
277  */
278 #define GLX_SAMPLE_BUFFERS_SGIS            100000
279 #define GLX_SAMPLES_SGIS                   100001
280
281 /*
282  * GLX_EXT_framebuffer_SRGB
283  */
284 #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT   0x20B2
285
286 /*
287  * GLX_ARB_create_context
288  * GLX_ARB_create_context_profile
289  */
290 #define GLX_CONTEXT_MAJOR_VERSION_ARB      0x2091
291 #define GLX_CONTEXT_MINOR_VERSION_ARB      0x2092
292 #define GLX_CONTEXT_FLAGS_ARB              0x2094
293 #define GLX_CONTEXT_PROFILE_MASK_ARB       0x9126
294
295 #define GLX_CONTEXT_DEBUG_BIT_ARB          0x0001
296 #define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB          0x0002
297
298 #define GLX_CONTEXT_CORE_PROFILE_BIT_ARB   0x0001
299 #define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB   0x0002
300
301 /*
302  * GLX_ARB_create_context_robustness
303  */
304 #define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB  0x0004
305 #define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
306 #define GLX_NO_RESET_NOTIFICATION_ARB      0x8261
307 #define GLX_LOST_CONTEXT_ON_RESET_ARB      0x8252
308 #ifdef __cplusplus
309 }
310 #endif
311
312 #endif /* !__GLX_glxtokens_h__ */