1 # Copyright (C) 1991-2005 Silicon Graphics, Inc. All Rights Reserved.
3 # This document is licensed under the SGI Free Software B License Version
4 # 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
6 # This is the GLX enumerant registry.
8 # It is an extremely important file. Do not mess with it unless
9 # you know what you're doing and have permission to do so.
11 # Rules for modification are the same as the rules for the OpenGL
12 # enumerant registry (gl.spec). Basically, don't modify this
13 # file unless you're the Khronos API Registrar.
24 SGI_make_current_read
= 1
27 EXT_import_context
= 1
35 SGIS_blended_overlay
= 1
36 SGIS_shared_multisample
= 1
37 SUN_get_transparent_index
= 1
39 MESA_copy_sub_buffer
= 1
40 MESA_pixmap_colormap
= 1
41 MESA_release_buffers
= 1
42 MESA_set_3dfx_mode
= 1
43 SGIX_visual_select_group
= 1
59 BAD_HYPERPIPE_CONFIG_SGIX
= 91 # SGIX_hyperpipe
60 BAD_HYPERPIPE_SGIX
= 92 # "
62 # Reserved bits in bitfields of various purposes
64 GLXDrawableTypeMask enum
:
65 WINDOW_BIT
= 0x00000001 # DRAWABLE_TYPE value
66 PIXMAP_BIT
= 0x00000002 # "
67 PBUFFER_BIT
= 0x00000004 # "
68 WINDOW_BIT_SGIX
= 0x00000001 # DRAWABLE_TYPE_SGIX value
69 PIXMAP_BIT_SGIX
= 0x00000002 # "
70 PBUFFER_BIT_SGIX
= 0x00000004 # "
72 GLXRenderTypeMask enum
:
73 RGBA_BIT
= 0x00000001 # RENDER_TYPE value
74 COLOR_INDEX_BIT
= 0x00000002 # "
75 RGBA_BIT_SGIX
= 0x00000001 # RENDER_TYPE_SGIX value
76 COLOR_INDEX_BIT_SGIX
= 0x00000002 # "
77 RGBA_FLOAT_BIT_ARB
= 0x00000004 # RENDER_TYPE value (from ARB_fbconfig_float)
78 RGBA_UNSIGNED_FLOAT_BIT_EXT
= 0x00000008 # RENDER_TYPE value (from EXT_fbconfig_packed_float)
81 SYNC_FRAME_SGIX
= 0x00000000 # ChannelRectSyncSGIX synctype
82 SYNC_SWAP_SGIX
= 0x00000001 # "
85 PBUFFER_CLOBBER_MASK
= 0x08000000 # SelectEvent mask
86 BUFFER_CLOBBER_MASK_SGIX
= 0x08000000 # SelectEventSGIX mask
87 # INTEL_future_use = 0x04000000 # SelectEvent mask (for GLX_INTEL_swap_event)
89 GLXPbufferClobberMask enum
:
90 FRONT_LEFT_BUFFER_BIT
= 0x00000001 # PbufferClobberEvent mask
91 FRONT_RIGHT_BUFFER_BIT
= 0x00000002 # "
92 BACK_LEFT_BUFFER_BIT
= 0x00000004 # "
93 BACK_RIGHT_BUFFER_BIT
= 0x00000008 # "
94 AUX_BUFFERS_BIT
= 0x00000010 # "
95 DEPTH_BUFFER_BIT
= 0x00000020 # "
96 STENCIL_BUFFER_BIT
= 0x00000040 # "
97 ACCUM_BUFFER_BIT
= 0x00000080 # "
98 FRONT_LEFT_BUFFER_BIT_SGIX
= 0x00000001 # BufferClobberEventSGIX mask
99 FRONT_RIGHT_BUFFER_BIT_SGIX
= 0x00000002 # "
100 BACK_LEFT_BUFFER_BIT_SGIX
= 0x00000004 # "
101 BACK_RIGHT_BUFFER_BIT_SGIX
= 0x00000008 # "
102 AUX_BUFFERS_BIT_SGIX
= 0x00000010 # "
103 DEPTH_BUFFER_BIT_SGIX
= 0x00000020 # "
104 STENCIL_BUFFER_BIT_SGIX
= 0x00000040 # "
105 ACCUM_BUFFER_BIT_SGIX
= 0x00000080 # "
106 SAMPLE_BUFFERS_BIT_SGIX
= 0x00000100 # "
108 GLXHyperpipeTypeMask enum
:
109 HYPERPIPE_DISPLAY_PIPE_SGIX
= 0x00000001 # SGIX_hyperpipe
110 HYPERPIPE_RENDER_PIPE_SGIX
= 0x00000002 # "
112 GLXHyperpipeAttrib enum
:
113 PIPE_RECT_SGIX
= 0x00000001 # SGIX_hyperpipe
114 PIPE_RECT_LIMITS_SGIX
= 0x00000002 # "
115 HYPERPIPE_STEREO_SGIX
= 0x00000003 # "
116 HYPERPIPE_PIXEL_AVERAGE_SGIX
= 0x00000004 # "
118 GLXHyperpipeMisc enum
:
119 HYPERPIPE_PIPE_NAME_LENGTH_SGIX
= 80 # SGIX_hyperpipe
121 GLXBindToTextureTargetMask enum
:
122 TEXTURE_1D_BIT_EXT
= 0x00000001 # EXT_texture_from_pixmap
123 TEXTURE_2D_BIT_EXT
= 0x00000002
124 TEXTURE_RECTANGLE_BIT_EXT
= 0x00000004
126 # CONTEXT_FLAGS_ARB bits
127 GLXContextFlags enum
:
128 CONTEXT_DEBUG_BIT_ARB
= 0x00000001 # ARB_create_context
129 CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
= 0x00000002 # ARB_create_context
131 # CONTEXT_PROFILE_MASK_ARB bits
132 GLXContextProfileMask enum
:
133 CONTEXT_CORE_PROFILE_BIT_ARB
= 0x00000001 # ARB_create_context_profile
134 CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
= 0x00000002 # ARB_create_context_profile
137 USE_GL
= 1 # Visual attributes
149 STENCIL_SIZE
= 13 # "
150 ACCUM_RED_SIZE
= 14 # "
151 ACCUM_GREEN_SIZE
= 15 # "
152 ACCUM_BLUE_SIZE
= 16 # "
153 ACCUM_ALPHA_SIZE
= 17 # "
154 CONFIG_CAVEAT
= 0x20 # "
155 X_VISUAL_TYPE
= 0x22 # "
156 TRANSPARENT_TYPE
= 0x23 # "
157 TRANSPARENT_INDEX_VALUE
= 0x24 # "
158 TRANSPARENT_RED_VALUE
= 0x25 # "
159 TRANSPARENT_GREEN_VALUE
= 0x26 # "
160 TRANSPARENT_BLUE_VALUE
= 0x27 # "
161 TRANSPARENT_ALPHA_VALUE
= 0x28 # "
162 DONT_CARE
= 0xFFFFFFFF # may be specified for ChooseFBConfig attributes
163 NONE
= 0x8000 # several attribute values
164 SLOW_CONFIG
= 0x8001 # CONFIG_CAVEAT attribute value
165 TRUE_COLOR
= 0x8002 # X_VISUAL_TYPE attribute value
166 DIRECT_COLOR
= 0x8003 # "
167 PSEUDO_COLOR
= 0x8004 # "
168 STATIC_COLOR
= 0x8005 # "
169 GRAY_SCALE
= 0x8006 # "
170 STATIC_GRAY
= 0x8007 # "
171 TRANSPARENT_RGB
= 0x8008 # TRANSPARENT_TYPE attribute value
172 TRANSPARENT_INDEX
= 0x8009 # "
173 VISUAL_ID
= 0x800B # Context attribute
175 NON_CONFORMANT_CONFIG
= 0x800D # CONFIG_CAVEAT attribute value
176 DRAWABLE_TYPE
= 0x8010 # FBConfig attribute
177 RENDER_TYPE
= 0x8011 # "
178 X_RENDERABLE
= 0x8012 # "
179 FBCONFIG_ID
= 0x8013 # "
180 RGBA_TYPE
= 0x8014 # CreateNewContext render_type value
181 COLOR_INDEX_TYPE
= 0x8015 # "
182 MAX_PBUFFER_WIDTH
= 0x8016 # FBConfig attribute
183 MAX_PBUFFER_HEIGHT
= 0x8017 # "
184 MAX_PBUFFER_PIXELS
= 0x8018 # "
185 PRESERVED_CONTENTS
= 0x801B # CreateGLXPbuffer attribute
186 LARGEST_PBUFFER
= 0x801C # "
187 WIDTH
= 0x801D # Drawable attribute
189 EVENT_MASK
= 0x801F # "
190 DAMAGED
= 0x8020 # PbufferClobber event_type value
192 WINDOW
= 0x8022 # PbufferClobber draw_type value
194 PBUFFER_HEIGHT
= 0x8040 # CreateGLXPbuffer attribute
195 PBUFFER_WIDTH
= 0x8041 # "
196 VISUAL_CAVEAT_EXT
= 0x20 # Visual attribute
197 X_VISUAL_TYPE_EXT
= 0x22 # "
198 TRANSPARENT_TYPE_EXT
= 0x23 # "
199 TRANSPARENT_INDEX_VALUE_EXT
= 0x24 # "
200 TRANSPARENT_RED_VALUE_EXT
= 0x25 # "
201 TRANSPARENT_GREEN_VALUE_EXT
= 0x26 # "
202 TRANSPARENT_BLUE_VALUE_EXT
= 0x27 # "
203 TRANSPARENT_ALPHA_VALUE_EXT
= 0x28 # "
204 NONE_EXT
= 0x8000 # several EXT attribute values
205 SLOW_VISUAL_EXT
= 0x8001 # VISUAL_CAVEAT_EXT attribute value
206 TRUE_COLOR_EXT
= 0x8002 # X_VISUAL_TYPE_EXT attribute value
207 DIRECT_COLOR_EXT
= 0x8003 # "
208 PSEUDO_COLOR_EXT
= 0x8004 # "
209 STATIC_COLOR_EXT
= 0x8005 # "
210 GRAY_SCALE_EXT
= 0x8006 # "
211 STATIC_GRAY_EXT
= 0x8007 # "
212 TRANSPARENT_RGB_EXT
= 0x8008 # TRANSPARENT_TYPE_EXT attribute value
213 TRANSPARENT_INDEX_EXT
= 0x8009 # "
214 SHARE_CONTEXT_EXT
= 0x800A # QueryContextInfoEXT attribute
215 VISUAL_ID_EXT
= 0x800B # "
216 SCREEN_EXT
= 0x800C # "
217 NON_CONFORMANT_VISUAL_EXT
= 0x800D # VISUAL_CAVEAT_EXT attribute value
218 DRAWABLE_TYPE_SGIX
= 0x8010 # FBConfigSGIX attribute
219 RENDER_TYPE_SGIX
= 0x8011 # "
220 X_RENDERABLE_SGIX
= 0x8012 # "
221 FBCONFIG_ID_SGIX
= 0x8013 # "
222 RGBA_TYPE_SGIX
= 0x8014 # CreateContextWithConfigSGIX render_type value
223 COLOR_INDEX_TYPE_SGIX
= 0x8015 # "
224 MAX_PBUFFER_WIDTH_SGIX
= 0x8016 # FBConfigSGIX attribute
225 MAX_PBUFFER_HEIGHT_SGIX
= 0x8017 # "
226 MAX_PBUFFER_PIXELS_SGIX
= 0x8018 # "
227 OPTIMAL_PBUFFER_WIDTH_SGIX
= 0x8019 # "
228 OPTIMAL_PBUFFER_HEIGHT_SGIX
= 0x801A # "
229 PRESERVED_CONTENTS_SGIX
= 0x801B # PbufferSGIX attribute
230 LARGEST_PBUFFER_SGIX
= 0x801C # "
231 WIDTH_SGIX
= 0x801D # "
232 HEIGHT_SGIX
= 0x801E # "
233 EVENT_MASK_SGIX
= 0x801F # "
234 DAMAGED_SGIX
= 0x8020 # BufferClobberSGIX event_type value
235 SAVED_SGIX
= 0x8021 # "
236 WINDOW_SGIX
= 0x8022 # BufferClobberSGIX draw_type value
237 PBUFFER_SGIX
= 0x8023 # "
238 DIGITAL_MEDIA_PBUFFER_SGIX
= 0x8024 # PbufferSGIX attribute
239 BLENDED_RGBA_SGIS
= 0x8025 # TRANSPARENT_TYPE_EXT attribute value
240 MULTISAMPLE_SUB_RECT_WIDTH_SGIS
= 0x8026 # Visual attribute (shared_multisample)
241 MULTISAMPLE_SUB_RECT_HEIGHT_SGIS
= 0x8027 # "
242 VISUAL_SELECT_GROUP_SGIX
= 0x8028 # Visual attribute (visual_select_group)
243 HYPERPIPE_ID_SGIX
= 0x8030 # Associated hyperpipe ID (SGIX_hyperpipe)
244 SAMPLE_BUFFERS_SGIS
= 100000 # Visual attribute (SGIS_multisample)
245 SAMPLES_SGIS
= 100001 # "
246 SAMPLE_BUFFERS_ARB
= 100000 # Visual attribute (ARB_multisample - alias of SGIS_multisample)
247 SAMPLES_ARB
= 100001 # "
248 SAMPLE_BUFFERS
= 100000 # Visual attribute (GLX 1.4 core - alias of SGIS_multisample)
251 ###############################################################################
253 # ARB: 0x2070-0x209F (shared with WGL)
255 # Also includes a bitmask - see ContextFlags above
256 # ARB_create_context enum:
257 CONTEXT_MAJOR_VERSION_ARB
= 0x2091
258 CONTEXT_MINOR_VERSION_ARB
= 0x2092
259 CONTEXT_FLAGS_ARB
= 0x2094
261 ###############################################################################
263 # NVIDIA: 0x20A0 - 0x219F (shared with WGL)
265 # NV_float_buffer enum:
266 FLOAT_COMPONENTS_NV
= 0x20B0
267 # EXT_fbconfig_packed_float enum:
268 RGBA_UNSIGNED_FLOAT_TYPE_EXT
= 0x20B1
269 # EXT_framebuffer_sRGB enum:
270 FRAMEBUFFER_SRGB_CAPABLE_EXT
= 0x20B2
272 # NV_future_use: 0x20B3-0x20B8
274 # ARB_fbconfig_float enum:
275 RGBA_FLOAT_TYPE_ARB
= 0x20B9
277 # NV_future_use: 0x20BA-0x20C2
280 VIDEO_OUT_COLOR_NV
= 0x20C3
281 VIDEO_OUT_ALPHA_NV
= 0x20C4
282 VIDEO_OUT_DEPTH_NV
= 0x20C5
283 VIDEO_OUT_COLOR_AND_ALPHA_NV
= 0x20C6
284 VIDEO_OUT_COLOR_AND_DEPTH_NV
= 0x20C7
285 VIDEO_OUT_FRAME_NV
= 0x20C8
286 VIDEO_OUT_FIELD_1_NV
= 0x20C9
287 VIDEO_OUT_FIELD_2_NV
= 0x20CA
288 VIDEO_OUT_STACKED_FIELDS_1_2_NV
= 0x20CB
289 VIDEO_OUT_STACKED_FIELDS_2_1_NV
= 0x20CC
291 # NV_video_capture enum:
292 DEVICE_ID_NV
= 0x20CD
293 UNIQUE_ID_NV
= 0x20CE
294 NUM_VIDEO_CAPTURE_SLOTS_NV
= 0x20CF
296 # EXT_texture_from_pixmap enum:
297 BIND_TO_TEXTURE_RGB_EXT
= 0x20D0
298 BIND_TO_TEXTURE_RGBA_EXT
= 0x20D1
299 BIND_TO_MIPMAP_TEXTURE_EXT
= 0x20D2
300 BIND_TO_TEXTURE_TARGETS_EXT
= 0x20D3
301 Y_INVERTED_EXT
= 0x20D4
302 TEXTURE_FORMAT_EXT
= 0x20D5
303 TEXTURE_TARGET_EXT
= 0x20D6
304 MIPMAP_TEXTURE_EXT
= 0x20D7
305 TEXTURE_FORMAT_NONE_EXT
= 0x20D8
306 TEXTURE_FORMAT_RGB_EXT
= 0x20D9
307 TEXTURE_FORMAT_RGBA_EXT
= 0x20DA
308 TEXTURE_1D_EXT
= 0x20DB
309 TEXTURE_2D_EXT
= 0x20DC
310 TEXTURE_RECTANGLE_EXT
= 0x20DD
311 FRONT_LEFT_EXT
= 0x20DE
312 FRONT_RIGHT_EXT
= 0x20DF
313 BACK_LEFT_EXT
= 0x20E0
314 BACK_RIGHT_EXT
= 0x20E1
315 FRONT_EXT
= GLX_FRONT_LEFT_EXT
316 BACK_EXT
= GLX_BACK_LEFT_EXT
328 # NV_future_use: 0x20EC-0x20EF
330 NV_present_video enum
:
331 NUM_VIDEO_SLOTS_NV
= 0x20F0
333 EXT_swap_control enum
:
334 SWAP_INTERVAL_EXT
= 0x20F1
335 MAX_SWAP_INTERVAL_EXT
= 0x20F2
337 # NV_future_use: 0x20F3-0x219F
339 ###############################################################################
341 # MESA (not in a reserved block)
343 # MESA_set_3dfx_mode enum:
344 # 3DFX_WINDOW_MODE_MESA = 0x1
345 # 3DFX_FULLSCREEN_MODE_MESA = 0x2
347 ###############################################################################
349 # SGI_future_use: 0x8029-0x802F
350 # SGIX_hyperpipe adds attribute name HYPERPIPE_ID_SGIX = 0x8030
351 # SGI_future_use: 0x8031-0x803F
353 ###############################################################################
355 # ARB_future_use: 0x8042-0x804F
357 ###############################################################################
359 # 3DFX: 0x8050-0x805F
361 # 3DFX_multisample enum:
362 # SAMPLE_BUFFERS_3DFX = 0x8050
363 # SAMPLES_3DFX = 0x8051
365 ###############################################################################
369 # OML_swap_method enum:
370 # SWAP_METHOD_OML = 0x8060
371 # SWAP_EXCHANGE_OML = 0x8061
372 # SWAP_COPY_OML = 0x8062
373 # SWAP_UNDEFINED_OML = 0x8063
375 # OML_future_use: 0x8064-0x806F
377 ###############################################################################
379 # NVIDIA: 0x8070 - 0x816F
381 NVIDIA_future_use
: 0x8070-0x816F
383 ###############################################################################
385 # SUN: 0x8170 - 0x817F
387 SUN_future_use
: 0x8170-0x817F
389 ###############################################################################
391 # INTEL: 0x8180 - 0x818F
393 # INTEL_swap_event: 0x8180-??? (in process, see Khronos bug 5752)
395 INTEL_future_use
: 0x8180-0x818F
397 ###############################################################################
398 ### Please remember that new GLX enum allocations must be obtained by request
399 ### to the Khronos API Registrar (see comments at the top of this file)
400 ### File requests in the Khronos Bugzilla, OpenGL project, Registry component.
401 ###############################################################################
403 # Any_vendor_future_use: 0x8180-0x9125
405 # Also includes a bitmask - see ContextProfileMask above
406 # ARB_create_context_profile enum: (equivalent to corresponding GL token)
407 CONTEXT_PROFILE_MASK_ARB
= 0x9126
409 # Any_vendor_future_use: 0x9127-0xFFFF
411 # This range must be the last range in the file. To generate a new
412 # range, allocate multiples of 16 from the beginning of the
413 # Any_vendor_future_use range and update glxenum.spec, glxenumext.spec,
414 # and extensions.reserved.