| This is the registry of GLX opcodes, error codes, and event codes. It is |
| very rarely modified since there is almost no interest in supporting GLX |
| with modern OpenGL features, and the work of extending the XML schema to |
| express it is not worthwhile. |
| |
| When new GLX protocol is needed for extension specifications, allocate it |
| here and reflect it in the extension specification document as well as, if |
| appropriate, glx.xml. |
| |
| Reserved opcode ranges assigned to vendors, and in some cases, opcodes |
| actually assigned within that range are tracked here. Not all opcodes used |
| by vendors are known. |
| |
| GLX Opcodes (8 bits) |
| ==================== |
| 1-15 GLX 1.0 |
| 16 Vendor Private |
| 17 Vendor Private with Reply |
| 18-20 GLX 1.1 |
| 21-32 GLX 1.3 |
| 33 glXSetClientInfoARB (GLX_ARB_create_context) |
| 34 glXCreateContextAttribsARB (GLX_ARB_create_context) |
| 35 glXSetClientInfo2ARB (GLX_ARB_create_context) |
| |
| GLX Vendor Private / Vendor Private with Reply opcodes (32-bits) |
| (first 4 bytes past standard X header) |
| ================================================================ |
| |
| 0 255 EXT (various - contact SGI) |
| 256 271 HP (originally Compaq) |
| (272-511 unused) |
| 512 575 E&S |
| (576-1023 unused) |
| 1024 1269 EXT (various - contact SGI) |
| 1024 GLX_EXT_import_context |
| 1270 1275 NV_register_combiners |
| 1276 1280 NV_fence |
| 1281 1292 NVIDIA (use TBD; was intended for NV_vertex_program) |
| 1293 1308 NV_vertex_program / ARB_vertex_program / ARB_fragment_program |
| 1309 NVIDIA (use TBD) |
| 1310 1311 NV_fragment_program |
| 1312 NV_fence |
| 1313 1318 GLX_NV_video_output |
| 1319 1320 NV_vertex_program |
| 1321 1326 NVIDIA (use TBD) |
| 1327 NV_register_combiners2 |
| 1328 1329 EXT_timer_query |
| 1330 1331 GLX_EXT_texture_from_pixmap |
| 1332 1339 NV_present_video |
| 1340 NVIDIA (use TBD) |
| 1341 GLX_NV_delay_before_swap |
| 1342 1359 NVIDIA (use TBD) |
| 1360 GLX_NV_copy_image |
| 1361 1364 NVIDIA (use TBD) |
| 1365 1368 NV_gpu_program4 |
| 1369 1386 NVIDIA (use TBD) |
| 1387 1388 GLX_NV_copy_buffer |
| 1389 1399 NVIDIA (use TBD) |
| 1400 1415 NV_video_capture |
| 1416 GLX_EXT_swap_control |
| 1417 1420 NVIDIA (use TBD) |
| 1421 OES_single_precision (Khronos OpenGL ES 1.0) |
| 1422 1428 EXT_framebuffer_object |
| (1429-2047 unused) |
| 2048 2064 SUN |
| 3000 3999 IBM |
| 4096 5151 SGI (4106-5151 unused) |
| 4096 SGIS_detail_texture |
| 4097 SGIS_sharpen_texture |
| 4098 4100 SGI_color_table |
| 4101 SGIS_texture_filter4 |
| 4102 4104 SGIX_instruments |
| 4105 SGIX_flush_raster |
| 5152 5184 Mesa (unknown use) |
| 8192 8207 HP |
| 16384 16399 ADD |
| 65536 66575 SGI (various GLX extensions) |
| 65536 GLX_SGI_swap_control |
| 65537 GLX_SGI_make_current_read |
| 65538 65539 GLX_SGIX_video_source |
| 65540 65542 GLX_SGIX_fbconfig |
| 65543 65546 GLX_SGIX_pbuffer |
| 65547 GLX_SGIX_swap_group |
| 65548 65549 GLX_SGIX_swap_barrier |
| 65550 65553 GLX_SGIX_hyperpipe_group |
| 65554 GLX_SGIX_query_board_num (internal, for shm) |
| |
| OpenGL Single Opcodes (8 Bits) |
| =============================== |
| |
| 167-up Reserved |
| 0 146 OpenGL 1.0/1.1 core |
| 147 159 OpenGL 1.2 core |
| 160 160 ARB_texture_compression |
| 161 166 ARB_occlusion_query |
| 167 178 ARB_shader_objects |
| 179 181 ARB_vertex_shader |
| 182 183 EXT_gpu_shader4 |
| 184 185 NV_vertex_program4 |
| 186 194 ARB_vertex_buffer_object |
| 195 202 OpenGL 2.0 core |
| 203 204 EXT_texture_integer |
| 205 205 ARB_map_buffer_range |
| 206 209 ARB_vertex_array_object |
| 210 212 EXT_draw_buffers2 |
| 213 214 OpenGL 3.0 core |
| |
| OpenGL Rendering Opcodes (16 Bits) |
| ================================== |
| |
| 0-1007 Reserved to ARB (231-1007 unused) |
| 0 191 OpenGL 1.0 core (140 deprecated?) |
| 192 194 OpenGL 1.1 core |
| 195 196 OpenGL 1.2 core |
| 197 213 ARB_multitexture |
| 214 219 ARB_texture_compression |
| 220 228 ARB_vertex_blend |
| 229 ARB_multisample |
| 230 ARB_window_pos |
| 231 232 ARB_occlusion_query |
| 233 ARB_draw_buffers |
| 234 ARB_color_buffer_float |
| 235 237 ARB_framebuffer_object |
| 238 264 ARB_shader_object |
| 265 ARB_vertex_shader |
| 266 268 ARB_geometry_shader4 |
| 269 277 EXT_gpu_shader4 |
| 278 289 NV_vertex_program4 |
| 290 301 ARB_vertex_buffer_object |
| 302 304 ARB_stencil_two_side |
| 305 310 OpenGL 2.1 core |
| 311 345 ARB_pixel_buffer_object |
| 346 347 EXT_texture_integer |
| 348 349 NV_conditional_render |
| 350 351 ARB_vertex_array_object |
| 352 354 EXT_draw_buffers2 |
| 355 363 OpenGL 3.0 core |
| 1008-1023 Reserved to IBM (unknown usage) |
| 1024-1039 Reserved to HP (originally Compaq) (unknown usage) |
| 1040-2047 Unused |
| 2048-3071 Reserved to SGI (2083-3071 unused) |
| 2048 2049 SGIS_multisample |
| 2050 SGIX_tag_sample_buffer |
| 2051 SGIS_detail_texture |
| 2052 SGIS_sharpen_texture |
| 2053 2056 SGI_color_table |
| 2057 2058 SGIS_texture4D |
| 2059 SGIX_pixel_texture |
| 2060 2063 SGIX_sprite |
| 2064 SGIS_texture_filter4 |
| 2065 2066 EXT_point_parameters/SGIS_point_parameters |
| 2067 SGIS_fog_function |
| 2068 unused? |
| 2069 2070 SGIX_instruments |
| 2071 SGIX_reference_plane |
| 2072 SGIX_framezoom |
| 2073 2076 unused? |
| 2077 SGIX_instruments |
| 2078 2081 SGIX_list_priority |
| 2082 SGIS_texture_color_mask |
| 3072-4095 Reserved to ARB (unused) |
| 4096-5151 Reserved to EXT (4460-5151 unused) |
| 4096 EXT_blend_color/1.2 |
| 4097 EXT_blend_minmax/1.2 |
| 4098 EXT_polygon_offset |
| 4099 4100 EXT_subtexture |
| 4101 4109 EXT_convolution/1.2 |
| 4110 4113 EXT_histogram/1.2 |
| 4114 EXT_texture3D/1.2 |
| 4115 EXT_subtexture/1.2 |
| 4116 EXT_vertex_array |
| 4117 4118 EXT_texture_object/1.1 |
| 4119 4123 EXT_copy_texture/1.1 |
| 4124 4125 EXT_fog_coord |
| 4126 4133 EXT_secondary_color |
| 4134 EXT_blend_func_separate |
| 4135 EXT_vertex_weighting |
| 4136 4142 NV_register_combiners |
| 4143 4144 NV_fence (4144 retired, used to be for FinishFence) |
| 4145 4179 NVIDIA (use TBD; was intended for NV_vertex_program) |
| 4180 4214 NV_vertex_program |
| 4215 4217 ARB_vertex_program |
| 4218 4219 NV_fragment_program |
| 4220 EXT_stencil_two_side |
| 4221 4222 NV_point_sprite |
| 4223 EXT_stencil_clear_tag |
| 4225 EXT_polygon_offset_clamp |
| 4228 EXT_blend_equation_separate |
| 4229 EXT_depth_bounds_test |
| 4230 4239 ARB_vertex_program |
| 4240 4264 NV_half_float |
| 4265 4280 NVIDIA (use TBD) |
| 4281 4282 EXT_gpu_program_parameters |
| 4283 4285 NV_depth_buffer_float |
| 4286 4290 NVIDIA (use TBD) |
| 4291 NV_copy_image |
| 4292 4293 EXT_texture_integer |
| 4294 4307 NVIDIA (use TBD) |
| 4308 4312 OES_single_precision (Khronos OpenGL ES 1.0) |
| 4313 4315 SUN (use TBD) |
| 4316 4325 EXT_framebuffer_object |
| 4326 4329 ARB_matrix_palette |
| 4330 EXT_framebuffer_blit |
| 4331 EXT_framebuffer_multisample |
| 4332 4347 NVIDIA (use TBD, bug 6720) |
| 4348 NV_texture_barrier |
| 4349 4459 NVIDIA (use TBD, bug 6720) |
| |
| 8192-8207 Reserved to HP (unknown usage) |
| 16384-16415 Reserved to SUN (unknown usage) |
| 24576-24607 Reserved to ADD (unknown usage) |
| |
| |
| GLX Enumerateds (32 Bits) |
| ========================= |
| 0x0-0xFF Reserved to EXT (visual attribute names) |
| 0x1 0x11 GLX 1.0 (attribute names) |
| 0x12 0x1F unused? |
| 0x20 GLX_EXT_visual_rating (attribute names) |
| 0x21 unused? |
| 0x22 0x28 GLX_EXT_visual_info (attribute names) |
| 0x2070-0x209F Reserved to ARB (shared with WGL) |
| 0x2090 0x2094 GLX_ARB_create_context |
| 0x2095 GL_ARB_vertex_buffer_object |
| 0x20A0-0x219F Reserved to NVIDIA (shared with WGL) |
| (many NV and EXT extensions, see glxenum.spec) |
| 0x8000-0x800F Reserved to EXT (0x800E-0x800F unused) |
| 0x8000 0x8009 GLX_EXT_visual_info |
| 0x800A 0x800C GLX_EXT_import_context |
| 0x800D GLX_EXT_visual_rating |
| 0x8010-0x803F Reserved to SGI (0x8029-0x803F unused) |
| 0x8010 0x8015 GLX_SGIX_fbconfig |
| 0x8016 0x8023 GLX_SGIX_pbuffer |
| 0x8024 GLX_SGIX_dm_buffer |
| 0x8025 GLX_SGIS_blended_overlay |
| 0x8026 0x8027 GLX_SGIS_shared_multisample |
| 0x8040-0x804F Reserved to OpenGL ARB |
| 0x8040 0x8041 GLX 1.3 |
| 0x8050-0x805F Reserved to 3Dfx |
| 0x8050 0x8051 GLX_3DFX_multisample |
| 0x8060-0x806F Reserved to OpenML SIG |
| 0x8060 0x8063 GLX_OML_swap_method |
| 0x8070-0x816F Reserved to NVIDIA |
| 0x8170-0x817F Reserved to SUN |
| 0x8180-0x818F Reserved to Intel |
| 0x9126 GLX_ARB_create_context_profile (shared with WGL) |
| |
| 100000-100011 Reserved to SGI (100002-100011 unused) |
| 100000 100001 GLX_SGIS_multisample/GLX_ARB_multisample |
| |
| GLX Error Codes |
| =============== |
| |
| (Extension reservations for vendor extensions should start sufficiently |
| high so they don't interfere with GLX core and GLX ARB extensions.) |
| |
| 0 GLXBadContext OpenGL ARB (GLX core) |
| 1 GLXBadContextState OpenGL ARB (GLX core) |
| 2 GLXBadDrawable OpenGL ARB (GLX core) |
| 3 GLXBadPixmap OpenGL ARB (GLX core) |
| 4 GLXBadContextTag OpenGL ARB (GLX core) |
| 5 GLXBadCurrentWindow OpenGL ARB (GLX core) |
| 6 GLXBadRenderRequest OpenGL ARB (GLX core) |
| 7 GLXBadLargeRequest OpenGL ARB (GLX core) |
| 8 GLXUnsupportedPrivateRequest OpenGL ARB (GLX core) |
| 9 GLXBadFBConfig OpenGL ARB (GLX core) |
| 10 GLXBadPbuffer OpenGL ARB (GLX core) |
| 11 GLXBadCurrentDrawable OpenGL ARB (GLX core) |
| 12 GLXBadWindow OpenGL ARB (GLX core) |
| 13 GLXBadProfileARB OpenGL ARB (GLX_ARB_create_context) |
| |
| |
| GLX Event Masks |
| =============== |
| 0x08000000 GLX 1.3 / SGIX_pbuffer |
| 0x04000000 Intel (INTEL_swap_event) |
| |
| GLX Event Codes |
| =============== |
| |
| (The X.org/Mesa GLX implementation derived from the SGI Sample |
| Implementation has __GLX_NUMBER_EVENTS == 17, suggesting that vendor |
| events should be allocated downwards from the first free value <= 16 |
| (14), and core GLX events allocated upwards). |
| |
| 0 OpenGL ARB (GLX_PbufferClobber in GLX 1.3) |
| 15 Intel (GLX_BufferSwapINTEL) |
| 16 SGI (GLX_PbufferClobberSGIX) |
| 64 SGI |