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