@@ -0,0 +1,729 @@
|
||||
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
|
||||
215 220 ARB_uniform_buffer_object
|
||||
221 ARB_copy_buffer
|
||||
|
||||
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
|
||||
364 365 NV_primitive_restart
|
||||
366 ARB_uniform_buffer_object
|
||||
367 ARB_texture_buffer_object
|
||||
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)
|
||||
0x1F00-0x1F02 Reserved to ARB (shared with WGL)
|
||||
0x1F00 0x1F02 GLX_AMD_gpu_association
|
||||
0x2070-0x209F Reserved to ARB (shared with WGL)
|
||||
0x2090 0x2094 GLX_ARB_create_context
|
||||
0x2095 GL_ARB_vertex_buffer_object
|
||||
0x2097 0x2098 GLX_ARB_context_flush_control
|
||||
0x20A0-0x219F Reserved to NVIDIA (shared with WGL)
|
||||
0x20B0 GLX_NV_float_buffer
|
||||
0x20B1 GLX_EXT_fbconfig_packed_float
|
||||
0x20B2 GLX_ARB_framebuffer_sRGB (nee EXT)
|
||||
0x20B3 GLX_NV_multisample_coverage
|
||||
0x20B9 GLX_ARB_fbconfig_float
|
||||
0x20C3 0x20CC GLX_NV_video_out
|
||||
0x20CD 0x20CF GLX_NV_video_capture
|
||||
0x20D0 0x20EB GLX_EXT_texture_from_pixmap
|
||||
0x20F0 GLX_NV_present_video
|
||||
0x20F1 0x20F2 GLX_EXT_swap_control
|
||||
0x20F3 GLX_EXT_swap_control_tear
|
||||
0x20F4 GLX_EXT_buffer_age
|
||||
0x20F5 GLX_EXT_stereo_tree
|
||||
0x20F6 GLX_EXT_libglvnd
|
||||
0x20F7 GLX_NV_robustness_video_memory_purge
|
||||
0x21A0-0x21AF Reserved to AMD (shared with WGL)
|
||||
0x21A2 0x21A8 GLX_AMD_gpu_association
|
||||
0x31B3 Reserved to ARB (shared with WGL)
|
||||
0x31B3 GLX_ARB_create_context_no_error
|
||||
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
|
||||
0x8028 GLX_SGIX_visual_select_group
|
||||
0x8030 GLX_SGIX_hyperpipe
|
||||
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 (0x818F unused)
|
||||
0x8180 0x8182 GLX_INTEL_swap_event
|
||||
0x8183 0x818E GLX_MESA_query_renderer
|
||||
0x8250-0x826F Reserved to ARB (Shared with GL and WGL)
|
||||
0x8252 GLX_ARB_create_context_robustness
|
||||
0x8256 GLX_ARB_create_context_robustness
|
||||
0x8261 GLX_ARB_create_context_robustness
|
||||
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
|
||||
|
||||
GLX protocol encoding for GL >= 2.0
|
||||
===================================
|
||||
|
||||
(This section - this whole file really - should eventually be incorporated
|
||||
in a proper update of the GLX protocol specification.)
|
||||
|
||||
OpenGL 2.0
|
||||
----------
|
||||
|
||||
DeleteShader
|
||||
|
||||
1 CARD8 opcode (X assigned)
|
||||
1 195 GLX opcode
|
||||
2 3 request length
|
||||
4 GLX_CONTEXT_TAG context tag
|
||||
4 CARD32 shader
|
||||
|
||||
IsShader
|
||||
|
||||
1 CARD8 opcode (X assigned)
|
||||
1 196 GLX opcode
|
||||
2 3 request length
|
||||
4 GLX_CONTEXT_TAG context tag
|
||||
4 CARD32 shader
|
||||
=>
|
||||
1 1 reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 0 reply length
|
||||
4 BOOL32 return value
|
||||
20 unused
|
||||
|
||||
IsProgram
|
||||
|
||||
1 CARD8 opcode (X assigned)
|
||||
1 197 GLX opcode
|
||||
2 3 request length
|
||||
4 GLX_CONTEXT_TAG context tag
|
||||
4 CARD32 program
|
||||
=>
|
||||
1 1 reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 0 reply length
|
||||
4 BOOL32 return value
|
||||
20 unused
|
||||
|
||||
GetShaderiv
|
||||
|
||||
1 CARD8 opcode (X assigned)
|
||||
1 198 GLX opcode
|
||||
2 4 request length
|
||||
4 GLX_CONTEXT_TAG context tag
|
||||
4 CARD32 program
|
||||
4 CARD32 pname
|
||||
=>
|
||||
1 1 reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 m reply length, m = (n == 1 ? 0 : n)
|
||||
4 unused
|
||||
4 CARD32 n
|
||||
|
||||
if (n == 1) this follows:
|
||||
|
||||
4 CARD32 params
|
||||
12 unused
|
||||
|
||||
otherwise this follows:
|
||||
|
||||
16 unused
|
||||
n*4 LISTOFCARD32 params
|
||||
|
||||
Note that n may be 0, indicating that a GL error occurred.
|
||||
|
||||
GetProgramiv
|
||||
|
||||
1 CARD8 opcode (X assigned)
|
||||
1 199 GLX opcode
|
||||
2 4 request length
|
||||
4 GLX_CONTEXT_TAG context tag
|
||||
4 CARD32 program
|
||||
4 CARD32 pname
|
||||
=>
|
||||
1 1 reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 m reply length, m = (n == 1 ? 0 : n)
|
||||
4 unused
|
||||
4 CARD32 n
|
||||
|
||||
if (n == 1) this follows:
|
||||
|
||||
4 CARD32 params
|
||||
12 unused
|
||||
|
||||
otherwise this follows:
|
||||
|
||||
16 unused
|
||||
n*4 LISTofCARD32 params
|
||||
|
||||
Note that n may be 0, indicating that a GL error occurred.
|
||||
|
||||
GetShaderInfoLog
|
||||
|
||||
1 CARD8 opcode (X assigned)
|
||||
1 200 GLX opcode
|
||||
2 4 request length
|
||||
4 GLX_CONTEXT_TAG context tag
|
||||
4 CARD32 shader
|
||||
4 CARD32 bufSize
|
||||
=>
|
||||
1 1 reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 m reply length, m = (n + p) / 4
|
||||
4 unused
|
||||
4 CARD32 n, n = length + 1
|
||||
16 unused
|
||||
n LISTofBYTE infoLog
|
||||
p unused, p=pad(n)
|
||||
|
||||
Note that n may be 0, indicating that a GL error occurred.
|
||||
|
||||
GetProgramInfoLog
|
||||
|
||||
1 CARD8 opcode (X assigned)
|
||||
1 201 GLX opcode
|
||||
2 4 request length
|
||||
4 GLX_CONTEXT_TAG context tag
|
||||
4 CARD32 program
|
||||
4 CARD32 bufSize
|
||||
=>
|
||||
1 1 reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 m reply length, m = (n + p) / 4
|
||||
4 unused
|
||||
4 CARD32 n, n = length + 1
|
||||
16 unused
|
||||
n LISTofBYTE infoLog
|
||||
p unused, p=pad(n)
|
||||
|
||||
Note that n may be 0, indicating that a GL error occurred.
|
||||
|
||||
DeleteProgram
|
||||
|
||||
1 CARD8 opcode (X assigned)
|
||||
1 202 GLX opcode
|
||||
2 3 request length
|
||||
4 GLX_CONTEXT_TAG context tag
|
||||
4 CARD32 program
|
||||
|
||||
OpenGL 2.1
|
||||
----------
|
||||
|
||||
UniformMatrix2x3fv
|
||||
|
||||
2 16+4*count*2*3 rendering command length
|
||||
2 305 rendering command opcode
|
||||
4 CARD32 location
|
||||
4 CARD32 count
|
||||
1 BOOL transpose
|
||||
3 unused
|
||||
4*count*2*3 LISTofFLOAT32 value
|
||||
|
||||
If the command is encoded in a glXRenderLarge request, the
|
||||
command opcode and command length fields above are expanded to
|
||||
4 bytes each:
|
||||
|
||||
4 20+4*count*2*2 rendering command length
|
||||
4 305 rendering command opcode
|
||||
|
||||
UniformMatrix3x2fv
|
||||
|
||||
2 16+4*count*3*2 rendering command length
|
||||
2 306 rendering command opcode
|
||||
4 CARD32 location
|
||||
4 CARD32 count
|
||||
1 BOOL transpose
|
||||
3 unused
|
||||
4*count*3*2 LISTofFLOAT32 value
|
||||
|
||||
If the command is encoded in a glXRenderLarge request, the
|
||||
command opcode and command length fields above are expanded to
|
||||
4 bytes each:
|
||||
|
||||
4 20+4*count*3*2 rendering command length
|
||||
4 306 rendering command opcode
|
||||
|
||||
UniformMatrix2x4fv
|
||||
|
||||
2 16+4*count*2*4 rendering command length
|
||||
2 307 rendering command opcode
|
||||
4 CARD32 location
|
||||
4 CARD32 count
|
||||
1 BOOL transpose
|
||||
3 unused
|
||||
4*count*2*4 LISTofFLOAT32 value
|
||||
|
||||
If the command is encoded in a glXRenderLarge request, the
|
||||
command opcode and command length fields above are expanded to
|
||||
4 bytes each:
|
||||
|
||||
4 20+4*count*2*4 rendering command length
|
||||
4 307 rendering command opcode
|
||||
|
||||
UniformMatrix4x2fv
|
||||
|
||||
2 16+4*count*4*2 rendering command length
|
||||
2 308 rendering command opcode
|
||||
4 CARD32 location
|
||||
4 CARD32 count
|
||||
1 BOOL transpose
|
||||
3 unused
|
||||
4*count*4*2 LISTofFLOAT32 value
|
||||
|
||||
If the command is encoded in a glXRenderLarge request, the
|
||||
command opcode and command length fields above are expanded to
|
||||
4 bytes each:
|
||||
|
||||
4 20+4*count*4*2 rendering command length
|
||||
4 308 rendering command opcode
|
||||
|
||||
UniformMatrix3x4fv
|
||||
|
||||
2 16+4*count*3*4 rendering command length
|
||||
2 309 rendering command opcode
|
||||
4 CARD32 location
|
||||
4 CARD32 count
|
||||
1 BOOL transpose
|
||||
3 unused
|
||||
4*count*3*4 LISTofFLOAT32 value
|
||||
|
||||
If the command is encoded in a glXRenderLarge request, the
|
||||
command opcode and command length fields above are expanded to
|
||||
4 bytes each:
|
||||
|
||||
4 20+4*count*3*4 rendering command length
|
||||
4 309 rendering command opcode
|
||||
|
||||
UniformMatrix4x3fv
|
||||
|
||||
2 16+4*count*4*3 rendering command length
|
||||
2 310 rendering command opcode
|
||||
4 CARD32 location
|
||||
4 CARD32 count
|
||||
1 BOOL transpose
|
||||
3 unused
|
||||
4*count*4*3 LISTofFLOAT32 value
|
||||
|
||||
If the command is encoded in a glXRenderLarge request, the
|
||||
command opcode and command length fields above are expanded to
|
||||
4 bytes each:
|
||||
|
||||
4 20+4*count*4*3 rendering command length
|
||||
4 310 rendering command opcode
|
||||
|
||||
OpenGL 3.0
|
||||
----------
|
||||
|
||||
The following rendering commands are sent to the sever as part of a
|
||||
glXRender request:
|
||||
|
||||
BindBufferRange
|
||||
|
||||
2 32 rendering command length
|
||||
2 355 rendering command opcode
|
||||
8 INT64 offset
|
||||
8 INT64 size
|
||||
4 ENUM target
|
||||
4 CARD32 index
|
||||
4 CARD32 buffer
|
||||
|
||||
BindBufferBase
|
||||
|
||||
2 16 rendering command length
|
||||
2 356 rendering command opcode
|
||||
4 ENUM target
|
||||
4 CARD32 index
|
||||
4 CARD32 buffer
|
||||
|
||||
BeginTransformFeedback
|
||||
|
||||
2 8 rendering command length
|
||||
2 357 rendering command opcode
|
||||
4 ENUM primitiveMode
|
||||
|
||||
EndTransformFeedback
|
||||
|
||||
2 4 rendering command length
|
||||
2 358 rendering command opcode
|
||||
|
||||
ClearBufferfi
|
||||
|
||||
2 20 rendering command length
|
||||
2 360 rendering command opcode
|
||||
4 ENUM buffer
|
||||
4 CARD32 drawbuffer
|
||||
4 FLOAT32 depth
|
||||
4 CARD32 stencil
|
||||
|
||||
ClearBufferfv
|
||||
|
||||
2 12+(4*n) rendering command length
|
||||
2 361 rendering command opcode
|
||||
4 ENUM buffer
|
||||
0x1800 n=4 GL_COLOR
|
||||
0x1801 n=1 GL_STENCIL
|
||||
0x1802 n=1 GL_DEPTH
|
||||
else n=0
|
||||
4 CARD32 drawbuffer
|
||||
4*n LISTofFLOAT32 value
|
||||
|
||||
ClearBufferiv
|
||||
|
||||
2 12+(4*n) rendering command length
|
||||
2 362 rendering command opcode
|
||||
4 ENUM buffer
|
||||
0x1800 n=4 GL_COLOR
|
||||
0x1801 n=1 GL_STENCIL
|
||||
0x1802 n=1 GL_DEPTH
|
||||
else n=0
|
||||
4 CARD32 drawbuffer
|
||||
4*n LISTofINT32 value
|
||||
|
||||
ClearBufferuiv
|
||||
|
||||
2 12+(4*n) rendering command length
|
||||
2 363 rendering command opcode
|
||||
4 ENUM buffer
|
||||
0x1800 n=4 GL_COLOR
|
||||
0x1801 n=1 GL_STENCIL
|
||||
0x1802 n=1 GL_DEPTH
|
||||
else n=0
|
||||
4 CARD32 drawbuffer
|
||||
4*n LISTofCARD32 value
|
||||
|
||||
The following rendering commands can be sent in a glXRender
|
||||
or glXRenderLarge request.
|
||||
|
||||
TransformFeedbackVaryings
|
||||
|
||||
2 16+(n*4)+s+p rendering command length
|
||||
2 359 rendering command opcode
|
||||
4 CARD32 program
|
||||
4 INT32 count
|
||||
4 ENUM buffermode
|
||||
n*4 LISTofINT32 lengths[n], n = count
|
||||
s LISTofCHAR varyings, s = sum of all entries in the lengths
|
||||
array
|
||||
p unused, p = pad(s)
|
||||
|
||||
If the command is encoded in a glXRenderLarge request, the command
|
||||
opcode and command length fields are expanded to 4 bytes each.
|
||||
|
||||
4 20+(n*4)+s+p rendering command length
|
||||
4 359 rendering command opcode
|
||||
|
||||
lengths[i] is calculated as strlen(varyings[i]) + 1. The NUL terminator
|
||||
is included when sending the varyings.
|
||||
|
||||
The following single commands are sent to the server as part of a
|
||||
glXSingle request:
|
||||
|
||||
GetTransformFeedbackVarying
|
||||
|
||||
1 CARD8 opcode(X assigned)
|
||||
1 213 GLX opcode
|
||||
2 5 request length
|
||||
4 GLX_CONTEXT_TAG context tag
|
||||
4 CARD32 program
|
||||
4 CARD32 index
|
||||
4 CARD32 bufsize
|
||||
=>
|
||||
1 1 reply
|
||||
1 unused
|
||||
2 CARD16 sequence number
|
||||
4 m reply length, m = (n == 0 ? 0 : (n + p) / 4)
|
||||
4 unused
|
||||
4 n-1 length
|
||||
4 INT32 size
|
||||
4 INT32 type
|
||||
8 unused
|
||||
n LISTofCHAR name, n = strlen(name)+1
|
||||
p unused, p = pad(m)
|
||||
|
||||
GetStringi
|
||||
|
||||
1 CARD8 opcode (X assigned)
|
||||
1 214 GLX opcode
|
||||
2 4 request length
|
||||
4 GLX_CONTEXT_TAG context tag
|
||||
4 ENUM name
|
||||
4 CARD32 index
|
||||
=>
|
||||
1 1 reply
|
||||
1 1 unused
|
||||
2 CARD16 sequence number
|
||||
4 m reply length, m = (n + p) / 4
|
||||
4 unused
|
||||
4 CARD32 n
|
||||
16 unused
|
||||
n STRING8 string
|
||||
p unused, p=pad(n)
|
||||
Reference in New Issue
Block a user