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: 20030 $ on $Date: 2013-01-02 02:39:38 -0800 (Wed, 02 Jan 2013) $
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 (shared with WGL and GL)
130 GLXContextFlags enum:
131 CONTEXT_DEBUG_BIT_ARB = 0x00000001 # ARB_create_context
132 CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = 0x00000002 # ARB_create_context
133 CONTEXT_ROBUST_ACCESS_BIT_ARB = 0x00000004 # ARB_create_context_robustness
134 CONTEXT_RESET_ISOLATION_BIT_ARB = 0x00000008 # ARB_create_context_robustness_isolation (reserved)
136 # CONTEXT_PROFILE_MASK_ARB bits
137 GLXContextProfileMask enum:
138 CONTEXT_CORE_PROFILE_BIT_ARB = 0x00000001 # ARB_create_context_profile
139 CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = 0x00000002 # ARB_create_context_profile
140 CONTEXT_ES_PROFILE_BIT_EXT = 0x00000004 # EXT_create_context_es_profile
141 CONTEXT_ES2_PROFILE_BIT_EXT = 0x00000004 # EXT_create_context_es2_profile
144 USE_GL = 1 # Visual attributes
156 STENCIL_SIZE = 13 # "
157 ACCUM_RED_SIZE = 14 # "
158 ACCUM_GREEN_SIZE = 15 # "
159 ACCUM_BLUE_SIZE = 16 # "
160 ACCUM_ALPHA_SIZE = 17 # "
161 CONFIG_CAVEAT = 0x20 # "
162 X_VISUAL_TYPE = 0x22 # "
163 TRANSPARENT_TYPE = 0x23 # "
164 TRANSPARENT_INDEX_VALUE = 0x24 # "
165 TRANSPARENT_RED_VALUE = 0x25 # "
166 TRANSPARENT_GREEN_VALUE = 0x26 # "
167 TRANSPARENT_BLUE_VALUE = 0x27 # "
168 TRANSPARENT_ALPHA_VALUE = 0x28 # "
169 DONT_CARE = 0xFFFFFFFF # may be specified for ChooseFBConfig attributes
170 NONE = 0x8000 # several attribute values
171 SLOW_CONFIG = 0x8001 # CONFIG_CAVEAT attribute value
172 TRUE_COLOR = 0x8002 # X_VISUAL_TYPE attribute value
173 DIRECT_COLOR = 0x8003 # "
174 PSEUDO_COLOR = 0x8004 # "
175 STATIC_COLOR = 0x8005 # "
176 GRAY_SCALE = 0x8006 # "
177 STATIC_GRAY = 0x8007 # "
178 TRANSPARENT_RGB = 0x8008 # TRANSPARENT_TYPE attribute value
179 TRANSPARENT_INDEX = 0x8009 # "
180 VISUAL_ID = 0x800B # Context attribute
182 NON_CONFORMANT_CONFIG = 0x800D # CONFIG_CAVEAT attribute value
183 DRAWABLE_TYPE = 0x8010 # FBConfig attribute
184 RENDER_TYPE = 0x8011 # "
185 X_RENDERABLE = 0x8012 # "
186 FBCONFIG_ID = 0x8013 # "
187 RGBA_TYPE = 0x8014 # CreateNewContext render_type value
188 COLOR_INDEX_TYPE = 0x8015 # "
189 MAX_PBUFFER_WIDTH = 0x8016 # FBConfig attribute
190 MAX_PBUFFER_HEIGHT = 0x8017 # "
191 MAX_PBUFFER_PIXELS = 0x8018 # "
192 PRESERVED_CONTENTS = 0x801B # CreateGLXPbuffer attribute
193 LARGEST_PBUFFER = 0x801C # "
194 WIDTH = 0x801D # Drawable attribute
196 EVENT_MASK = 0x801F # "
197 DAMAGED = 0x8020 # PbufferClobber event_type value
199 WINDOW = 0x8022 # PbufferClobber draw_type value
201 PBUFFER_HEIGHT = 0x8040 # CreateGLXPbuffer attribute
202 PBUFFER_WIDTH = 0x8041 # "
203 VISUAL_CAVEAT_EXT = 0x20 # Visual attribute
204 X_VISUAL_TYPE_EXT = 0x22 # "
205 TRANSPARENT_TYPE_EXT = 0x23 # "
206 TRANSPARENT_INDEX_VALUE_EXT = 0x24 # "
207 TRANSPARENT_RED_VALUE_EXT = 0x25 # "
208 TRANSPARENT_GREEN_VALUE_EXT = 0x26 # "
209 TRANSPARENT_BLUE_VALUE_EXT = 0x27 # "
210 TRANSPARENT_ALPHA_VALUE_EXT = 0x28 # "
211 NONE_EXT = 0x8000 # several EXT attribute values
212 SLOW_VISUAL_EXT = 0x8001 # VISUAL_CAVEAT_EXT attribute value
213 TRUE_COLOR_EXT = 0x8002 # X_VISUAL_TYPE_EXT attribute value
214 DIRECT_COLOR_EXT = 0x8003 # "
215 PSEUDO_COLOR_EXT = 0x8004 # "
216 STATIC_COLOR_EXT = 0x8005 # "
217 GRAY_SCALE_EXT = 0x8006 # "
218 STATIC_GRAY_EXT = 0x8007 # "
219 TRANSPARENT_RGB_EXT = 0x8008 # TRANSPARENT_TYPE_EXT attribute value
220 TRANSPARENT_INDEX_EXT = 0x8009 # "
221 SHARE_CONTEXT_EXT = 0x800A # QueryContextInfoEXT attribute
222 VISUAL_ID_EXT = 0x800B # "
223 SCREEN_EXT = 0x800C # "
224 NON_CONFORMANT_VISUAL_EXT = 0x800D # VISUAL_CAVEAT_EXT attribute value
225 DRAWABLE_TYPE_SGIX = 0x8010 # FBConfigSGIX attribute
226 RENDER_TYPE_SGIX = 0x8011 # "
227 X_RENDERABLE_SGIX = 0x8012 # "
228 FBCONFIG_ID_SGIX = 0x8013 # "
229 RGBA_TYPE_SGIX = 0x8014 # CreateContextWithConfigSGIX render_type value
230 COLOR_INDEX_TYPE_SGIX = 0x8015 # "
231 MAX_PBUFFER_WIDTH_SGIX = 0x8016 # FBConfigSGIX attribute
232 MAX_PBUFFER_HEIGHT_SGIX = 0x8017 # "
233 MAX_PBUFFER_PIXELS_SGIX = 0x8018 # "
234 OPTIMAL_PBUFFER_WIDTH_SGIX = 0x8019 # "
235 OPTIMAL_PBUFFER_HEIGHT_SGIX = 0x801A # "
236 PRESERVED_CONTENTS_SGIX = 0x801B # PbufferSGIX attribute
237 LARGEST_PBUFFER_SGIX = 0x801C # "
238 WIDTH_SGIX = 0x801D # "
239 HEIGHT_SGIX = 0x801E # "
240 EVENT_MASK_SGIX = 0x801F # "
241 DAMAGED_SGIX = 0x8020 # BufferClobberSGIX event_type value
242 SAVED_SGIX = 0x8021 # "
243 WINDOW_SGIX = 0x8022 # BufferClobberSGIX draw_type value
244 PBUFFER_SGIX = 0x8023 # "
245 DIGITAL_MEDIA_PBUFFER_SGIX = 0x8024 # PbufferSGIX attribute
246 BLENDED_RGBA_SGIS = 0x8025 # TRANSPARENT_TYPE_EXT attribute value
247 MULTISAMPLE_SUB_RECT_WIDTH_SGIS = 0x8026 # Visual attribute (shared_multisample)
248 MULTISAMPLE_SUB_RECT_HEIGHT_SGIS = 0x8027 # "
249 VISUAL_SELECT_GROUP_SGIX = 0x8028 # Visual attribute (visual_select_group)
250 HYPERPIPE_ID_SGIX = 0x8030 # Associated hyperpipe ID (SGIX_hyperpipe)
251 SAMPLE_BUFFERS_SGIS = 100000 # Visual attribute (SGIS_multisample)
252 SAMPLES_SGIS = 100001 # "
253 SAMPLE_BUFFERS_ARB = 100000 # Visual attribute (ARB_multisample - alias of SGIS_multisample)
254 SAMPLES_ARB = 100001 # "
255 SAMPLE_BUFFERS = 100000 # Visual attribute (GLX 1.4 core - alias of SGIS_multisample)
257 COVERAGE_SAMPLES_NV = 100001 # Visual attribute (NV_multisample_coverage - reuse SAMPLES_ARB)
259 ###############################################################################
261 # AMD: 0x1F00-0x1F02 (additional; see below; equivalent to corresponding WGL/GL tokens)
263 ###############################################################################
267 # Shared with WGL, synchronize create_context_* enums with wglenum.spec!
269 # Also includes a bitmask - see ContextFlags above
270 # ARB_create_context enum:
271 CONTEXT_MAJOR_VERSION_ARB = 0x2091
272 CONTEXT_MINOR_VERSION_ARB = 0x2092
273 # 0x2093 used for WGL_CONTEXT_LAYER_PLANE_ARB
274 CONTEXT_FLAGS_ARB = 0x2094
275 # 0x2095 collides with WGL_ERROR_INVALID_VERSION_ARB!
276 CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB = 0x2095
277 # 0x2096 used for WGL_ERROR_INVALID_PROFILE_ARB
279 # ARB_future_use: 0x2097-0x209F
281 ###############################################################################
283 # NVIDIA: 0x20A0 - 0x219F (shared with WGL)
285 # NV_float_buffer enum:
286 FLOAT_COMPONENTS_NV = 0x20B0
287 # EXT_fbconfig_packed_float enum:
288 RGBA_UNSIGNED_FLOAT_TYPE_EXT = 0x20B1
289 # ARB_framebuffer_sRGB enum:
290 FRAMEBUFFER_SRGB_CAPABLE_ARB = 0x20B2
291 # EXT_framebuffer_sRGB enum:
292 FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x20B2
293 # NV_multisample_coverage enum:
294 COLOR_SAMPLES_NV = 0x20B3
296 # NV_future_use: 0x20B4-0x20B8
298 # ARB_fbconfig_float enum:
299 RGBA_FLOAT_TYPE_ARB = 0x20B9
301 # NV_future_use: 0x20BA-0x20C2
304 VIDEO_OUT_COLOR_NV = 0x20C3
305 VIDEO_OUT_ALPHA_NV = 0x20C4
306 VIDEO_OUT_DEPTH_NV = 0x20C5
307 VIDEO_OUT_COLOR_AND_ALPHA_NV = 0x20C6
308 VIDEO_OUT_COLOR_AND_DEPTH_NV = 0x20C7
309 VIDEO_OUT_FRAME_NV = 0x20C8
310 VIDEO_OUT_FIELD_1_NV = 0x20C9
311 VIDEO_OUT_FIELD_2_NV = 0x20CA
312 VIDEO_OUT_STACKED_FIELDS_1_2_NV = 0x20CB
313 VIDEO_OUT_STACKED_FIELDS_2_1_NV = 0x20CC
315 # NV_video_capture enum:
316 DEVICE_ID_NV = 0x20CD
317 UNIQUE_ID_NV = 0x20CE
318 NUM_VIDEO_CAPTURE_SLOTS_NV = 0x20CF
320 # EXT_texture_from_pixmap enum:
321 BIND_TO_TEXTURE_RGB_EXT = 0x20D0
322 BIND_TO_TEXTURE_RGBA_EXT = 0x20D1
323 BIND_TO_MIPMAP_TEXTURE_EXT = 0x20D2
324 BIND_TO_TEXTURE_TARGETS_EXT = 0x20D3
325 Y_INVERTED_EXT = 0x20D4
326 TEXTURE_FORMAT_EXT = 0x20D5
327 TEXTURE_TARGET_EXT = 0x20D6
328 MIPMAP_TEXTURE_EXT = 0x20D7
329 TEXTURE_FORMAT_NONE_EXT = 0x20D8
330 TEXTURE_FORMAT_RGB_EXT = 0x20D9
331 TEXTURE_FORMAT_RGBA_EXT = 0x20DA
332 TEXTURE_1D_EXT = 0x20DB
333 TEXTURE_2D_EXT = 0x20DC
334 TEXTURE_RECTANGLE_EXT = 0x20DD
335 FRONT_LEFT_EXT = 0x20DE
336 FRONT_RIGHT_EXT = 0x20DF
337 BACK_LEFT_EXT = 0x20E0
338 BACK_RIGHT_EXT = 0x20E1
339 FRONT_EXT = GLX_FRONT_LEFT_EXT
340 BACK_EXT = GLX_BACK_LEFT_EXT
352 # NV_future_use: 0x20EC-0x20EF
354 NV_present_video enum:
355 NUM_VIDEO_SLOTS_NV = 0x20F0
357 EXT_swap_control enum:
358 SWAP_INTERVAL_EXT = 0x20F1
359 MAX_SWAP_INTERVAL_EXT = 0x20F2
361 EXT_swap_control_tear enum:
362 LATE_SWAPS_TEAR_EXT = 0x20F3
365 BACK_BUFFER_AGE_EXT = 0x20F4
367 # NV_future_use: 0x20F5-0x219F
369 ###############################################################################
373 # Shared with WGL, synchronize with wglenum.spec!
375 # WGL extensions: 0x21A0-0x21A1
377 GLX_AMD_gpu_association enum:
378 GPU_VENDOR_AMD = 0x1F00
379 GPU_RENDERER_STRING_AMD = 0x1F01
380 GPU_OPENGL_VERSION_STRING_AMD = 0x1F02
381 GPU_FASTEST_TARGET_GPUS_AMD = 0x21A2
383 GPU_CLOCK_AMD = 0x21A4
384 GPU_NUM_PIPES_AMD = 0x21A5
385 GPU_NUM_SIMD_AMD = 0x21A6
386 GPU_NUM_RB_AMD = 0x21A7
387 GPU_NUM_SPI_AMD = 0x21A8
389 # AMD_future_use: 0x21A9-0x21AF
391 ###############################################################################
393 # MESA (not in a reserved block)
395 # MESA_set_3dfx_mode enum:
396 # 3DFX_WINDOW_MODE_MESA = 0x1
397 # 3DFX_FULLSCREEN_MODE_MESA = 0x2
399 ###############################################################################
401 # SGI_future_use: 0x8029-0x802F
402 # SGIX_hyperpipe adds attribute name HYPERPIPE_ID_SGIX = 0x8030
403 # SGI_future_use: 0x8031-0x803F
405 ###############################################################################
407 # ARB_future_use: 0x8042-0x804F
409 ###############################################################################
411 # 3DFX: 0x8050-0x805F
413 # 3DFX_multisample enum:
414 # SAMPLE_BUFFERS_3DFX = 0x8050
415 # SAMPLES_3DFX = 0x8051
417 ###############################################################################
421 # OML_swap_method enum:
422 # SWAP_METHOD_OML = 0x8060
423 # SWAP_EXCHANGE_OML = 0x8061
424 # SWAP_COPY_OML = 0x8062
425 # SWAP_UNDEFINED_OML = 0x8063
427 # OML_future_use: 0x8064-0x806F
429 ###############################################################################
431 # NVIDIA: 0x8070 - 0x816F
433 NVIDIA_future_use: 0x8070-0x816F
435 ###############################################################################
437 # SUN: 0x8170 - 0x817F
439 SUN_future_use: 0x8170-0x817F
441 ###############################################################################
443 # INTEL: 0x8180 - 0x818F
445 # INTEL_swap_event: 0x8180-0x8182
446 # EXCHANGE_COMPLETE_INTEL = 0x8180
447 # COPY_COMPLETE_INTEL = 0x8181
448 # FLIP_COMPLETE_INTEL = 0x8182
450 INTEL_future_use: 0x8183-0x818F
452 ###############################################################################
453 ### Please remember that new GLX enum allocations must be obtained by request
454 ### to the Khronos API Registrar (see comments at the top of this file)
455 ### File requests in the Khronos Bugzilla, OpenGL project, Registry component.
456 ### Also note that some GLX enum values are shared with GL and WGL, and
457 ### new ranges should be allocated with such overlaps in mind.
458 ###############################################################################
460 # Any_vendor_future_use: 0x8190-0x824F
462 ###############################################################################
465 # No additional values should be used from this range, which includes
466 # the range used by GL_ARB_robustness rounded up to multiples of 16.
468 # Also includes a bitmask - see ContextFlags above
469 # All values are shared with GLX and GL
470 GLX_ARB_create_context_robustness enum:
471 LOSE_CONTEXT_ON_RESET_ARB = 0x8252 # shared with GL_ARB_robustness
472 CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256 # shared with GL_ARB_robustness
473 NO_RESET_NOTIFICATION_ARB = 0x8261 # shared with GL_ARB_robustness
475 # Any_vendor_future_use: 0x8270-0x9125
477 # Also includes a bitmask - see ContextProfileMask above
478 # All values are shared with GLX and GL
479 ARB_create_context_profile enum:
480 CONTEXT_PROFILE_MASK_ARB = 0x9126
482 # Any_vendor_future_use: 0x9127-0xFFFF
484 # This range must be the last range in the file. To generate a new
485 # range, allocate multiples of 16 from the beginning of the first
486 # Any_vendor_future_use range and update glxenum.spec, glxenumext.spec,
487 # and extensions.reserved.