1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3Copyright (C) 2005 Jeremy Kolb. 4All Rights Reserved. 5 6Permission is hereby granted, free of charge, to any person ob/Sintaining a copy 7of this software and associated documentation files (the "Software"), to deal 8in the Software without restriction, including without limitation the rights 9to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10copies of the Software, and to permit persons to whom the Software is 11furnished to do so, subject to the following conditions: 12 13The above copyright notice and this permission notice shall be included in all 14copies or substantial portions of the Software. 15 16THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 20ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 23Except as contained in this notice, the names of the authors or their 24institutions shall not be used in advertising or otherwise to promote the 25sale, use or other dealings in this Software without prior written 26authorization from the authors. 27--> 28 29<!-- 30Note that on X.org servers before 6.9 (and probably others as well) the length 31field in the reply is computed incorrectly for GetFBConfigs and 32VendorPrivateWithReply vendor_code 0x10004 (GetFBConfigsSGIX). For these 33requests the reply structure begins: 34 <pad bytes="1" /> 35 <field type="CARD32" name="numVisuals" /> 36 <field type="CARD32" name="numProps" /> 37The correct value for the length field is 38 numVisuals * numProps * 2 39but on broken servers the "* 2" was missing. A workaround that is correct for 40all implementations is to rewrite the length field on receipt on the client 41side, using the expression above. 42 43The patch that fixed this server bug in X.org CVS is here: 44 http://cvs.freedesktop.org/xorg/xserver/xorg/GL/glx/glxcmds.c?r1=1.6&r2=1.7 45--> 46 47<xcb header="glx" extension-xname="GLX" extension-name="Glx" 48 major-version="1" minor-version="4"> 49 50 <import>xproto</import> 51 52 <xidtype name="PIXMAP" /> 53 <xidtype name="CONTEXT" /> 54 <xidtype name="PBUFFER" /> 55 <xidtype name="WINDOW" /> 56 <xidtype name="FBCONFIG" /> 57 58 <xidunion name="DRAWABLE"> 59 <type>xproto:WINDOW</type> 60 <type>PBUFFER</type> 61 <type>glx:PIXMAP</type> 62 <type>glx:WINDOW</type> 63 </xidunion> 64 65 <typedef oldname="float" newname="FLOAT32" /> 66 <typedef oldname="double" newname="FLOAT64" /> 67 <typedef oldname="CARD32" newname="BOOL32" /> 68 <typedef oldname="CARD32" newname="CONTEXT_TAG" /> 69 70 <!-- Errors --> 71 <error name="Generic" number="-1"> <!-- FIXME: fake number --> 72 <field type="CARD32" name="bad_value" /> 73 <field type="CARD16" name="minor_opcode" /> 74 <field type="CARD8" name="major_opcode" /> 75 <pad bytes="21" /> 76 </error> 77 78 <errorcopy name="BadContext" number="0" ref="Generic" /> 79 <errorcopy name="BadContextState" number="1" ref="Generic" /> 80 <errorcopy name="BadDrawable" number="2" ref="Generic" /> 81 <errorcopy name="BadPixmap" number="3" ref="Generic" /> 82 <errorcopy name="BadContextTag" number="4" ref="Generic" /> 83 <errorcopy name="BadCurrentWindow" number="5" ref="Generic" /> 84 <errorcopy name="BadRenderRequest" number="6" ref="Generic" /> 85 <errorcopy name="BadLargeRequest" number="7" ref="Generic" /> 86 <errorcopy name="UnsupportedPrivateRequest" number="8" ref="Generic" /> 87 <errorcopy name="BadFBConfig" number="9" ref="Generic" /> 88 <errorcopy name="BadPbuffer" number="10" ref="Generic" /> 89 <errorcopy name="BadCurrentDrawable" number="11" ref="Generic" /> 90 <errorcopy name="BadWindow" number="12" ref="Generic" /> 91 <errorcopy name="GLXBadProfileARB" number="13" ref="Generic" /> 92 93 <!-- Events --> 94 <event name="PbufferClobber" number="0"> 95 <pad bytes="1" /> 96 <field type="CARD16" name="event_type" /> 97 <field type="CARD16" name="draw_type" /> 98 <field type="glx:DRAWABLE" name="drawable" /> 99 <field type="CARD32" name="b_mask" /> 100 <field type="CARD16" name="aux_buffer" /> 101 <field type="CARD16" name="x" /> 102 <field type="CARD16" name="y" /> 103 <field type="CARD16" name="width" /> 104 <field type="CARD16" name="height" /> 105 <field type="CARD16" name="count" /> 106 <pad bytes="4" /> 107 </event> 108 109 <event name="BufferSwapComplete" number="1"> 110 <pad bytes="1" /> 111 <field type="CARD16" name="event_type" /> 112 <pad bytes="2" /> 113 <field type="glx:DRAWABLE" name="drawable" /> 114 <field type="CARD32" name="ust_hi" /> 115 <field type="CARD32" name="ust_lo" /> 116 <field type="CARD32" name="msc_hi" /> 117 <field type="CARD32" name="msc_lo" /> 118 <field type="CARD32" name="sbc" /> 119 </event> 120 121 <!-- enums for PbufferClobber event/draw type --> 122 <enum name="PBCET"> 123 <item name="Damaged"> 124 <value>32791</value> 125 </item> 126 <item name="Saved"> 127 <value>32792</value> 128 </item> 129 </enum> 130 131 <enum name="PBCDT"> 132 <item name="Window"> 133 <value>32793</value> 134 </item> 135 <item name="Pbuffer"> 136 <value>32794</value> 137 </item> 138 </enum> 139 140 <!-- Requests --> 141 <request name="Render" opcode="1" combine-adjacent="true"> 142 <field type="CONTEXT_TAG" name="context_tag" /> 143 <list type="BYTE" name="data" /> 144 </request> 145 146 <request name="RenderLarge" opcode="2"> 147 <field type="CONTEXT_TAG" name="context_tag" /> 148 <field type="CARD16" name="request_num" /> 149 <field type="CARD16" name="request_total" /> 150 <field type="CARD32" name="data_len" /> 151 <list type="BYTE" name="data"> 152 <fieldref>data_len</fieldref> 153 </list> 154 </request> 155 156 <request name="CreateContext" opcode="3"> 157 <field type="glx:CONTEXT" name="context" /> 158 <field type="VISUALID" name="visual" /> 159 <field type="CARD32" name="screen" /> 160 <field type="glx:CONTEXT" name="share_list" /> 161 <field type="BOOL" name="is_direct" /> 162 <pad bytes="3" /> 163 </request> 164 165 <request name="DestroyContext" opcode="4"> 166 <field type="glx:CONTEXT" name="context" /> 167 </request> 168 169 <request name="MakeCurrent" opcode="5"> 170 <field type="glx:DRAWABLE" name="drawable" /> 171 <field type="glx:CONTEXT" name="context" /> 172 <field type="CONTEXT_TAG" name="old_context_tag" /> 173 <reply> 174 <pad bytes="1" /> 175 <field type="CONTEXT_TAG" name="context_tag" /> 176 <pad bytes="20" /> 177 </reply> 178 </request> 179 180 <request name="IsDirect" opcode="6"> 181 <field type="glx:CONTEXT" name="context" /> 182 <reply> 183 <pad bytes="1" /> 184 <field type="BOOL" name="is_direct" /> 185 <pad bytes="23" /> 186 </reply> 187 </request> 188 189 <request name="QueryVersion" opcode="7"> 190 <field type="CARD32" name="major_version" /> 191 <field type="CARD32" name="minor_version" /> 192 <reply> 193 <pad bytes="1" /> 194 <field type="CARD32" name="major_version" /> 195 <field type="CARD32" name="minor_version" /> 196 <pad bytes="16" /> 197 </reply> 198 </request> 199 200 <request name="WaitGL" opcode="8"> 201 <field type="CONTEXT_TAG" name="context_tag" /> 202 </request> 203 204 <request name="WaitX" opcode="9"> 205 <field type="CONTEXT_TAG" name="context_tag" /> 206 </request> 207 208 <request name="CopyContext" opcode="10"> 209 <field type="glx:CONTEXT" name="src" /> 210 <field type="glx:CONTEXT" name="dest" /> 211 <field type="CARD32" name="mask" /> 212 <field type="CONTEXT_TAG" name="src_context_tag" /> 213 </request> 214 215 <!-- Enum for CopyContext: mask --> 216 <enum name="GC"> 217 <item name="GL_CURRENT_BIT"><bit>0</bit></item> 218 <item name="GL_POINT_BIT"><bit>1</bit></item> 219 <item name="GL_LINE_BIT"><bit>2</bit></item> 220 <item name="GL_POLYGON_BIT"><bit>3</bit></item> 221 <item name="GL_POLYGON_STIPPLE_BIT"><bit>4</bit></item> 222 <item name="GL_PIXEL_MODE_BIT"><bit>5</bit></item> 223 <item name="GL_LIGHTING_BIT"><bit>6</bit></item> 224 <item name="GL_FOG_BIT"><bit>7</bit></item> 225 <item name="GL_DEPTH_BUFFER_BIT"><bit>8</bit></item> 226 <item name="GL_ACCUM_BUFFER_BIT"><bit>9</bit></item> 227 <item name="GL_STENCIL_BUFFER_BIT"><bit>10</bit></item> 228 <item name="GL_VIEWPORT_BIT"><bit>11</bit></item> 229 <item name="GL_TRANSFORM_BIT"><bit>12</bit></item> 230 <item name="GL_ENABLE_BIT"><bit>13</bit></item> 231 <item name="GL_COLOR_BUFFER_BIT"><bit>14</bit></item> 232 <item name="GL_HINT_BIT"><bit>15</bit></item> 233 <item name="GL_EVAL_BIT"><bit>16</bit></item> 234 <item name="GL_LIST_BIT"><bit>17</bit></item> 235 <item name="GL_TEXTURE_BIT"><bit>18</bit></item> 236 <item name="GL_SCISSOR_BIT"><bit>19</bit></item> 237 <item name="GL_ALL_ATTRIB_BITS"><value>16777215<!--0x000ffffff--></value></item> 238 </enum> 239 240 <request name="SwapBuffers" opcode="11"> 241 <field type="CONTEXT_TAG" name="context_tag" /> 242 <field type="glx:DRAWABLE" name="drawable" /> 243 </request> 244 245 <request name="UseXFont" opcode="12"> 246 <field type="CONTEXT_TAG" name="context_tag" /> 247 <field type="FONT" name="font" /> 248 <field type="CARD32" name="first" /> 249 <field type="CARD32" name="count" /> 250 <field type="CARD32" name="list_base" /> 251 </request> 252 253 <request name="CreateGLXPixmap" opcode="13"> 254 <field type="CARD32" name="screen" /> 255 <field type="VISUALID" name="visual" /> 256 <field type="xproto:PIXMAP" name="pixmap" /> 257 <field type="glx:PIXMAP" name="glx_pixmap" /> 258 </request> 259 260 261 <request name="GetVisualConfigs" opcode="14"> 262 <field type="CARD32" name="screen" /> 263 <reply> 264 <pad bytes="1" /> 265 <field type="CARD32" name="num_visuals" /> 266 <field type="CARD32" name="num_properties" /> 267 <pad bytes="16" /> 268 <list type="CARD32" name="property_list"> 269 <fieldref>length</fieldref> 270 </list> 271 </reply> 272 </request> 273 274 <request name="DestroyGLXPixmap" opcode="15"> 275 <field type="glx:PIXMAP" name="glx_pixmap" /> 276 </request> 277 278 <!-- 279 Context tag is not in the proto, should be part of the list of bytes 280 but every VendorPrivate and VendorPrivateWithReply request uses them 281 so it is safe to put them in. That's how Mesa does it. 282 --> 283 <request name="VendorPrivate" opcode="16"> 284 <field type="CARD32" name="vendor_code" /> 285 <field type="CONTEXT_TAG" name="context_tag" /> 286 <list type="BYTE" name="data" /> 287 </request> 288 289 <request name="VendorPrivateWithReply" opcode="17"> 290 <field type="CARD32" name="vendor_code" /> 291 <field type="CONTEXT_TAG" name="context_tag" /> 292 <list type="BYTE" name="data" /> 293 <reply> 294 <pad bytes="1" /> 295 <field type="CARD32" name="retval" /> 296 <list type="BYTE" name="data1"> 297 <value>24</value> 298 </list> 299 <list type="BYTE" name="data2"> 300 <op op="*"> 301 <fieldref>length</fieldref> 302 <value>4</value> 303 </op> 304 </list> 305 </reply> 306 </request> 307 308 <request name="QueryExtensionsString" opcode="18"> 309 <field type="CARD32" name="screen" /> 310 <reply> 311 <pad bytes="1" /> 312 <pad bytes="4" /> 313 <field type="CARD32" name="n" /> 314 <pad bytes="16" /> 315 </reply> 316 </request> 317 318 <request name="QueryServerString" opcode="19"> 319 <field type="CARD32" name="screen" /> 320 <field type="CARD32" name="name" /> 321 <reply> 322 <pad bytes="1" /> 323 <pad bytes="4" /> 324 <field type="CARD32" name="str_len" /> 325 <pad bytes="16" /> 326 <list type="char" name="string"> 327 <fieldref>str_len</fieldref> 328 </list> 329 </reply> 330 </request> 331 332 <request name="ClientInfo" opcode="20"> 333 <field type="CARD32" name="major_version" /> 334 <field type="CARD32" name="minor_version" /> 335 <field type="CARD32" name="str_len" /> 336 <list type="char" name="string"> 337 <fieldref>str_len</fieldref> 338 </list> 339 </request> 340 341 <!-- Start of GLX 1.3 Requests --> 342 343 <request name="GetFBConfigs" opcode="21"> 344 <field type="CARD32" name="screen" /> 345 <reply> 346 <pad bytes="1" /> 347 <field type="CARD32" name="num_FB_configs" /> 348 <field type="CARD32" name="num_properties" /> 349 <pad bytes="16" /> 350 <!-- 351 <valueparam value-mask-type="CARD32" 352 value-mask-name="value_mask" 353 value-list-name="value_list" /> 354 --> 355 <list type="CARD32" name="property_list"> 356 <fieldref>length</fieldref> 357 </list> 358 </reply> 359 </request> 360 361 <request name="CreatePixmap" opcode="22"> 362 <field type="CARD32" name="screen" /> 363 <field type="FBCONFIG" name="fbconfig" /> 364 <field type="xproto:PIXMAP" name="pixmap" /> 365 <field type="glx:PIXMAP" name="glx_pixmap" /> 366 <field type="CARD32" name="num_attribs" /> 367 <list type="CARD32" name="attribs"> 368 <op op="*"> 369 <fieldref>num_attribs</fieldref> 370 <value>2</value> 371 </op> 372 </list> 373 </request> 374 375 <request name="DestroyPixmap" opcode="23"> 376 <field type="glx:PIXMAP" name="glx_pixmap" /> 377 </request> 378 379 <request name="CreateNewContext" opcode="24"> 380 <field type="glx:CONTEXT" name="context" /> 381 <field type="FBCONFIG" name="fbconfig" /> 382 <field type="CARD32" name="screen" /> 383 <field type="CARD32" name="render_type" /> 384 <field type="glx:CONTEXT" name="share_list" /> 385 <field type="BOOL" name="is_direct" /> 386 <pad bytes="3" /> 387 </request> 388 389 <request name="QueryContext" opcode="25"> 390 <field type="glx:CONTEXT" name="context" /> 391 <reply> 392 <pad bytes="1" /> 393 <field type="CARD32" name="num_attribs"/> 394 <pad bytes="20" /> 395 <list type="CARD32" name="attribs"> 396 <op op="*"> 397 <fieldref>num_attribs</fieldref> 398 <value>2</value> 399 </op> 400 </list> 401 </reply> 402 </request> 403 404 <request name="MakeContextCurrent" opcode="26"> 405 <field type="CONTEXT_TAG" name="old_context_tag" /> 406 <field type="glx:DRAWABLE" name="drawable" /> 407 <field type="glx:DRAWABLE" name="read_drawable" /> 408 <field type="glx:CONTEXT" name="context" /> 409 <reply> 410 <pad bytes="1" /> 411 <field type="CONTEXT_TAG" name="context_tag" /> 412 <pad bytes="20" /> 413 </reply> 414 </request> 415 416 <request name="CreatePbuffer" opcode="27"> 417 <field type="CARD32" name="screen" /> 418 <field type="FBCONFIG" name="fbconfig" /> 419 <field type="PBUFFER" name="pbuffer" /> 420 <field type="CARD32" name="num_attribs" /> 421 <list type="CARD32" name="attribs"> 422 <op op="*"> 423 <fieldref>num_attribs</fieldref> 424 <value>2</value> 425 </op> 426 </list> 427 </request> 428 429 <request name="DestroyPbuffer" opcode="28"> 430 <field type="PBUFFER" name="pbuffer" /> 431 </request> 432 433 <request name="GetDrawableAttributes" opcode="29"> 434 <field type="glx:DRAWABLE" name="drawable" /> 435 <reply> 436 <pad bytes="1" /> 437 <field type="CARD32" name="num_attribs" /> 438 <pad bytes="20" /> 439 <list type="CARD32" name="attribs"> 440 <op op="*"> 441 <fieldref>num_attribs</fieldref> 442 <value>2</value> 443 </op> 444 </list> 445 </reply> 446 </request> 447 448 <request name="ChangeDrawableAttributes" opcode="30"> 449 <field type="glx:DRAWABLE" name="drawable" /> 450 <field type="CARD32" name="num_attribs" /> 451 <list type="CARD32" name="attribs"> 452 <op op="*"> 453 <fieldref>num_attribs</fieldref> 454 <value>2</value> 455 </op> 456 </list> 457 </request> 458 459 <request name="CreateWindow" opcode="31"> 460 <field type="CARD32" name="screen" /> 461 <field type="FBCONFIG" name="fbconfig" /> 462 <field type="xproto:WINDOW" name="window" /> 463 <field type="glx:WINDOW" name="glx_window" /> 464 <field type="CARD32" name="num_attribs" /> 465 <list type="CARD32" name="attribs"> 466 <op op="*"> 467 <fieldref>num_attribs</fieldref> 468 <value>2</value> 469 </op> 470 </list> 471 </request> 472 473 <request name="DeleteWindow" opcode="32"> 474 <field type="glx:WINDOW" name="glxwindow" /> 475 </request> 476 477 <!-- Start of GLX_ARB_create_context and GLX_ARB_create_context_profile 478 requests. --> 479 <request name="SetClientInfoARB" opcode="33"> 480 <field type="CARD32" name="major_version" /> 481 <field type="CARD32" name="minor_version" /> 482 <field type="CARD32" name="num_versions" /> 483 <field type="CARD32" name="gl_str_len" /> 484 <field type="CARD32" name="glx_str_len" /> 485 <list type="CARD32" name="gl_versions"> 486 <op op="*"> 487 <fieldref>num_versions</fieldref> 488 <value>2</value> 489 </op> 490 </list> 491 <list type="char" name="gl_extension_string"> 492 <fieldref>gl_str_len</fieldref> 493 </list> 494 <pad align="4" /> 495 <list type="char" name="glx_extension_string"> 496 <fieldref>glx_str_len</fieldref> 497 </list> 498 </request> 499 500 <request name="CreateContextAttribsARB" opcode="34"> 501 <field type="glx:CONTEXT" name="context" /> 502 <field type="FBCONFIG" name="fbconfig" /> 503 <field type="CARD32" name="screen" /> 504 <field type="glx:CONTEXT" name="share_list" /> 505 <field type="BOOL" name="is_direct" /> 506 <pad bytes="3" /> 507 <field type="CARD32" name="num_attribs" /> 508 <list type="CARD32" name="attribs"> 509 <op op="*"> 510 <fieldref>num_attribs</fieldref> 511 <value>2</value> 512 </op> 513 </list> 514 </request> 515 516 <request name="SetClientInfo2ARB" opcode="35"> 517 <field type="CARD32" name="major_version" /> 518 <field type="CARD32" name="minor_version" /> 519 <field type="CARD32" name="num_versions" /> 520 <field type="CARD32" name="gl_str_len" /> 521 <field type="CARD32" name="glx_str_len" /> 522 <list type="CARD32" name="gl_versions"> 523 <op op="*"> 524 <fieldref>num_versions</fieldref> 525 <value>3</value> 526 </op> 527 </list> 528 <list type="char" name="gl_extension_string"> 529 <fieldref>gl_str_len</fieldref> 530 </list> 531 <pad align="4" /> 532 <list type="char" name="glx_extension_string"> 533 <fieldref>glx_str_len</fieldref> 534 </list> 535 </request> 536 537 <!-- Requests for GL Non-rendering Commands (single ops) --> 538 539 <request name="NewList" opcode="101"> 540 <field type="CONTEXT_TAG" name="context_tag" /> 541 <field type="CARD32" name="list" /> 542 <field type="CARD32" name="mode" /> 543 </request> 544 545 <request name="EndList" opcode="102"> 546 <field type="CONTEXT_TAG" name="context_tag" /> 547 </request> 548 549 <request name="DeleteLists" opcode="103"> 550 <field type="CONTEXT_TAG" name="context_tag" /> 551 <field type="CARD32" name="list" /> 552 <field type="INT32" name="range" /> 553 </request> 554 555 <request name="GenLists" opcode="104"> 556 <field type="CONTEXT_TAG" name="context_tag" /> 557 <field type="INT32" name="range" /> 558 <reply> 559 <pad bytes="1" /> 560 <field type="CARD32" name="ret_val" /> 561 </reply> 562 </request> 563 564 <request name="FeedbackBuffer" opcode="105"> 565 <field type="CONTEXT_TAG" name="context_tag" /> 566 <field type="INT32" name="size" /> 567 <field type="INT32" name="type" /> 568 </request> 569 570 <request name="SelectBuffer" opcode="106"> 571 <field type="CONTEXT_TAG" name="context_tag" /> 572 <field type="INT32" name="size" /> 573 <!-- the reply is actually returned in the data 574 of the next RenderMode request --> 575 </request> 576 577 578 <request name="RenderMode" opcode="107"> 579 <field type="CONTEXT_TAG" name="context_tag" /> 580 <field type="CARD32" name="mode" /> 581 <!-- 582 This reply is only if RM was previously feedback/selection. 583 If it was in feedback mode then data is FLOAT32. 584 If previously in render mode there is no reply. 585 --> 586 <reply> 587 <pad bytes="1" /> 588 <field type="CARD32" name="ret_val" /> 589 <field type="CARD32" name="n" /> 590 <field type="CARD32" name="new_mode" /> 591 <pad bytes="12" /> 592 <list type="CARD32" name="data"> 593 <fieldref>n</fieldref> 594 </list> 595 </reply> 596 </request> 597 598 <enum name="RM"> 599 <item name="GL_RENDER"><value>7168</value></item> 600 <item name="GL_FEEDBACK"><value>7169</value></item> 601 <item name="GL_SELECT"><value>7170</value></item> 602 </enum> 603 604 <request name="Finish" opcode="108"> 605 <field type="CONTEXT_TAG" name="context_tag" /> 606 <reply> 607 <pad bytes="1" /> 608 </reply> 609 </request> 610 611 <request name="PixelStoref" opcode="109"> 612 <field type="CONTEXT_TAG" name="context_tag" /> 613 <field type="CARD32" name="pname" /> 614 <field type="FLOAT32" name="datum" /> 615 </request> 616 617 <request name="PixelStorei" opcode="110"> 618 <field type="CONTEXT_TAG" name="context_tag" /> 619 <field type="CARD32" name="pname" /> 620 <field type="INT32" name="datum" /> 621 </request> 622 623 <request name="ReadPixels" opcode="111"> 624 <field type="CONTEXT_TAG" name="context_tag" /> 625 <field type="INT32" name="x" /> 626 <field type="INT32" name="y" /> 627 <field type="INT32" name="width" /> 628 <field type="INT32" name="height" /> 629 <field type="CARD32" name="format" /> 630 <field type="CARD32" name="type" /> 631 <field type="BOOL" name="swap_bytes" /> 632 <field type="BOOL" name="lsb_first" /> 633 <reply> 634 <pad bytes="1" /> 635 <pad bytes="24" /> 636 <list type="BYTE" name="data"> 637 <op op="*"> 638 <fieldref>length</fieldref> 639 <value>4</value> 640 </op> 641 </list> 642 </reply> 643 </request> 644 645 <!-- FIXME: 646 All the Get* functions can return different stuff for replies. 647 Hopefully xcb will support multiple reply structures at some point 648 but for now... grrrr 649 Starts on page 58/180 650 --> 651 <request name="GetBooleanv" opcode="112"> 652 <field type="CONTEXT_TAG" name="context_tag" /> 653 <field type="INT32" name="pname" /> 654 <reply> 655 <pad bytes="1" /> 656 <pad bytes="4" /> 657 <field type="CARD32" name="n" /> 658 <field type="BOOL" name="datum" /> 659 <pad bytes="15" /> 660 <list type="BOOL" name="data"> 661 <fieldref>n</fieldref> 662 </list> 663 </reply> 664 </request> 665 666 <request name="GetClipPlane" opcode="113"> 667 <field type="CONTEXT_TAG" name="context_tag" /> 668 <field type="INT32" name="plane" /> 669 <reply> 670 <required_start_align align="8" /> 671 <pad bytes="1" /> 672 <pad bytes="24" /> 673 <list type="FLOAT64" name="data"> 674 <op op="/"> 675 <fieldref>length</fieldref> 676 <value>2</value> 677 </op> 678 </list> 679 </reply> 680 </request> 681 682 <request name="GetDoublev" opcode="114"> 683 <field type="CONTEXT_TAG" name="context_tag" /> 684 <field type="CARD32" name="pname" /> 685 <reply> 686 <required_start_align align="8" /> 687 <pad bytes="1" /> 688 <pad bytes="4" /> 689 <field type="CARD32" name="n" /> 690 <field type="FLOAT64" name="datum" /> 691 <pad bytes="8" /> 692 <list type="FLOAT64" name="data"> 693 <fieldref>n</fieldref> 694 </list> 695 </reply> 696 </request> 697 698 <request name="GetError" opcode="115"> 699 <field type="CONTEXT_TAG" name="context_tag" /> 700 <reply> 701 <pad bytes="1" /> 702 <field type="INT32" name="error" /> 703 </reply> 704 </request> 705 706 <request name="GetFloatv" opcode="116"> 707 <field type="CONTEXT_TAG" name="context_tag" /> 708 <field type="CARD32" name="pname" /> 709 <reply> 710 <pad bytes="1" /> 711 <pad bytes="4" /> 712 <field type="CARD32" name="n" /> 713 <field type="FLOAT32" name="datum" /> 714 <pad bytes="12" /> 715 <list type="FLOAT32" name="data"> 716 <fieldref>n</fieldref> 717 </list> 718 </reply> 719 </request> 720 721 <request name="GetIntegerv" opcode="117"> 722 <field type="CONTEXT_TAG" name="context_tag" /> 723 <field type="CARD32" name="pname" /> 724 <reply> 725 <pad bytes="1" /> 726 <pad bytes="4" /> 727 <field type="CARD32" name="n" /> 728 <field type="INT32" name="datum" /> 729 <pad bytes="12" /> 730 <list type="INT32" name="data"> 731 <fieldref>n</fieldref> 732 </list> 733 </reply> 734 </request> 735 736 <request name="GetLightfv" opcode="118"> 737 <field type="CONTEXT_TAG" name="context_tag" /> 738 <field type="CARD32" name="light" /> 739 <field type="CARD32" name="pname" /> 740 <reply> 741 <pad bytes="1" /> 742 <pad bytes="4" /> 743 <field type="CARD32" name="n" /> 744 <field type="FLOAT32" name="datum" /> 745 <pad bytes="12" /> 746 <list type="FLOAT32" name="data"> 747 <fieldref>n</fieldref> 748 </list> 749 </reply> 750 </request> 751 752 <request name="GetLightiv" opcode="119"> 753 <field type="CONTEXT_TAG" name="context_tag" /> 754 <field type="CARD32" name="light" /> 755 <field type="CARD32" name="pname" /> 756 <reply> 757 <pad bytes="1" /> 758 <pad bytes="4" /> 759 <field type="CARD32" name="n" /> 760 <field type="INT32" name="datum" /> 761 <pad bytes="12" /> 762 <list type="INT32" name="data"> 763 <fieldref>n</fieldref> 764 </list> 765 </reply> 766 </request> 767 768 <request name="GetMapdv" opcode="120"> 769 <field type="CONTEXT_TAG" name="context_tag" /> 770 <field type="CARD32" name="target" /> 771 <field type="CARD32" name="query" /> 772 <reply> 773 <required_start_align align="8" /> 774 <pad bytes="1" /> 775 <pad bytes="4" /> 776 <field type="CARD32" name="n" /> 777 <field type="FLOAT64" name="datum" /> 778 <pad bytes="8" /> 779 <list type="FLOAT64" name="data"> 780 <fieldref>n</fieldref> 781 </list> 782 </reply> 783 </request> 784 785 <request name="GetMapfv" opcode="121"> 786 <field type="CONTEXT_TAG" name="context_tag" /> 787 <field type="CARD32" name="target" /> 788 <field type="CARD32" name="query" /> 789 <reply> 790 <pad bytes="1" /> 791 <pad bytes="4" /> 792 <field type="CARD32" name="n" /> 793 <field type="FLOAT32" name="datum" /> 794 <pad bytes="12" /> 795 <list type="FLOAT32" name="data"> 796 <fieldref>n</fieldref> 797 </list> 798 </reply> 799 </request> 800 801 <request name="GetMapiv" opcode="122"> 802 <field type="CONTEXT_TAG" name="context_tag" /> 803 <field type="CARD32" name="target" /> 804 <field type="CARD32" name="query" /> 805 <reply> 806 <pad bytes="1" /> 807 <pad bytes="4" /> 808 <field type="CARD32" name="n" /> 809 <field type="INT32" name="datum" /> 810 <pad bytes="12" /> 811 <list type="INT32" name="data"> 812 <fieldref>n</fieldref> 813 </list> 814 </reply> 815 </request> 816 817 <request name="GetMaterialfv" opcode="123"> 818 <field type="CONTEXT_TAG" name="context_tag" /> 819 <field type="CARD32" name="face" /> 820 <field type="CARD32" name="pname" /> 821 <reply> 822 <pad bytes="1" /> 823 <pad bytes="4" /> 824 <field type="CARD32" name="n" /> 825 <field type="FLOAT32" name="datum" /> 826 <pad bytes="12" /> 827 <list type="FLOAT32" name="data"> 828 <fieldref>n</fieldref> 829 </list> 830 </reply> 831 </request> 832 833 <request name="GetMaterialiv" opcode="124"> 834 <field type="CONTEXT_TAG" name="context_tag" /> 835 <field type="CARD32" name="face" /> 836 <field type="CARD32" name="pname" /> 837 <reply> 838 <pad bytes="1" /> 839 <pad bytes="4" /> 840 <field type="CARD32" name="n" /> 841 <field type="INT32" name="datum" /> 842 <pad bytes="12" /> 843 <list type="INT32" name="data"> 844 <fieldref>n</fieldref> 845 </list> 846 </reply> 847 </request> 848 849 <request name="GetPixelMapfv" opcode="125"> 850 <field type="CONTEXT_TAG" name="context_tag" /> 851 <field type="CARD32" name="map" /> 852 <reply> 853 <pad bytes="1" /> 854 <pad bytes="4" /> 855 <field type="CARD32" name="n" /> 856 <field type="FLOAT32" name="datum" /> 857 <pad bytes="12" /> 858 <list type="FLOAT32" name="data"> 859 <fieldref>n</fieldref> 860 </list> 861 </reply> 862 </request> 863 864 <request name="GetPixelMapuiv" opcode="126"> 865 <field type="CONTEXT_TAG" name="context_tag" /> 866 <field type="CARD32" name="map" /> 867 <reply> 868 <pad bytes="1" /> 869 <pad bytes="4" /> 870 <field type="CARD32" name="n" /> 871 <field type="CARD32" name="datum" /> 872 <pad bytes="12" /> 873 <list type="CARD32" name="data"> 874 <fieldref>n</fieldref> 875 </list> 876 </reply> 877 </request> 878 879 <request name="GetPixelMapusv" opcode="127"> 880 <field type="CONTEXT_TAG" name="context_tag" /> 881 <field type="CARD32" name="map" /> 882 <reply> 883 <pad bytes="1" /> 884 <pad bytes="4" /> 885 <field type="CARD32" name="n" /> 886 <field type="CARD16" name="datum" /> 887 <pad bytes="16" /> 888 <list type="CARD16" name="data"> 889 <fieldref>n</fieldref> 890 </list> 891 </reply> 892 </request> 893 894 <request name="GetPolygonStipple" opcode="128"> 895 <field type="CONTEXT_TAG" name="context_tag" /> 896 <field type="BOOL" name="lsb_first" /> 897 <reply> 898 <pad bytes="1" /> 899 <pad bytes="24" /> 900 <list type="BYTE" name="data"> 901 <op op="*"> 902 <fieldref>length</fieldref> 903 <value>4</value> 904 </op> 905 </list> 906 </reply> 907 </request> 908 909 910 <request name="GetString" opcode="129"> 911 <field type="CONTEXT_TAG" name="context_tag" /> 912 <field type="CARD32" name="name" /> 913 <reply> 914 <pad bytes="1" /> 915 <pad bytes="4" /> 916 <field type="CARD32" name="n" /> 917 <pad bytes="16" /> 918 <list type="char" name="string"> 919 <fieldref>n</fieldref> 920 </list> 921 </reply> 922 </request> 923 924 <request name="GetTexEnvfv" opcode="130"> 925 <field type="CONTEXT_TAG" name="context_tag" /> 926 <field type="CARD32" name="target" /> 927 <field type="CARD32" name="pname" /> 928 <reply> 929 <pad bytes="1" /> 930 <pad bytes="4" /> 931 <field type="CARD32" name="n" /> 932 <field type="FLOAT32" name="datum" /> 933 <pad bytes="12" /> 934 <list type="FLOAT32" name="data"> 935 <fieldref>n</fieldref> 936 </list> 937 </reply> 938 </request> 939 940 <request name="GetTexEnviv" opcode="131"> 941 <field type="CONTEXT_TAG" name="context_tag" /> 942 <field type="CARD32" name="target" /> 943 <field type="CARD32" name="pname" /> 944 <reply> 945 <pad bytes="1" /> 946 <pad bytes="4" /> 947 <field type="CARD32" name="n" /> 948 <field type="INT32" name="datum" /> 949 <pad bytes="12" /> 950 <list type="INT32" name="data"> 951 <fieldref>n</fieldref> 952 </list> 953 </reply> 954 </request> 955 956 <request name="GetTexGendv" opcode="132"> 957 <field type="CONTEXT_TAG" name="context_tag" /> 958 <field type="CARD32" name="coord" /> 959 <field type="CARD32" name="pname" /> 960 <reply> 961 <required_start_align align="8" /> 962 <pad bytes="1" /> 963 <pad bytes="4" /> 964 <field type="CARD32" name="n" /> 965 <field type="FLOAT64" name="datum" /> 966 <pad bytes="8" /> 967 <list type="FLOAT64" name="data"> 968 <fieldref>n</fieldref> 969 </list> 970 </reply> 971 </request> 972 973 <request name="GetTexGenfv" opcode="133"> 974 <field type="CONTEXT_TAG" name="context_tag" /> 975 <field type="CARD32" name="coord" /> 976 <field type="CARD32" name="pname" /> 977 <reply> 978 <pad bytes="1" /> 979 <pad bytes="4" /> 980 <field type="CARD32" name="n" /> 981 <field type="FLOAT32" name="datum" /> 982 <pad bytes="12" /> 983 <list type="FLOAT32" name="data"> 984 <fieldref>n</fieldref> 985 </list> 986 </reply> 987 </request> 988 989 <request name="GetTexGeniv" opcode="134"> 990 <field type="CONTEXT_TAG" name="context_tag" /> 991 <field type="CARD32" name="coord" /> 992 <field type="CARD32" name="pname" /> 993 <reply> 994 <pad bytes="1" /> 995 <pad bytes="4" /> 996 <field type="CARD32" name="n" /> 997 <field type="INT32" name="datum" /> 998 <pad bytes="12" /> 999 <list type="INT32" name="data"> 1000 <fieldref>n</fieldref> 1001 </list> 1002 </reply> 1003 </request> 1004 1005 <request name="GetTexImage" opcode="135"> 1006 <field type="CONTEXT_TAG" name="context_tag" /> 1007 <field type="CARD32" name="target" /> 1008 <field type="INT32" name="level" /> 1009 <field type="CARD32" name="format" /> 1010 <field type="CARD32" name="type" /> 1011 <field type="BOOL" name="swap_bytes" /> 1012 <reply> 1013 <pad bytes="1" /> 1014 <pad bytes="8" /> 1015 <field type="INT32" name="width" /> 1016 <field type="INT32" name="height" /> 1017 <field type="INT32" name="depth" /> 1018 <pad bytes="4" /> 1019 <list type="BYTE" name="data"> 1020 <op op="*"> 1021 <fieldref>length</fieldref> 1022 <value>4</value> 1023 </op> 1024 </list> 1025 </reply> 1026 </request> 1027 1028 1029 <request name="GetTexParameterfv" opcode="136"> 1030 <field type="CONTEXT_TAG" name="context_tag" /> 1031 <field type="CARD32" name="target" /> 1032 <field type="CARD32" name="pname" /> 1033 <reply> 1034 <pad bytes="1" /> 1035 <pad bytes="4" /> 1036 <field type="CARD32" name="n" /> 1037 <field type="FLOAT32" name="datum" /> 1038 <pad bytes="12" /> 1039 <list type="FLOAT32" name="data"> 1040 <fieldref>n</fieldref> 1041 </list> 1042 </reply> 1043 </request> 1044 1045 <request name="GetTexParameteriv" opcode="137"> 1046 <field type="CONTEXT_TAG" name="context_tag" /> 1047 <field type="CARD32" name="target" /> 1048 <field type="CARD32" name="pname" /> 1049 <reply> 1050 <pad bytes="1" /> 1051 <pad bytes="4" /> 1052 <field type="CARD32" name="n" /> 1053 <field type="INT32" name="datum" /> 1054 <pad bytes="12" /> 1055 <list type="INT32" name="data"> 1056 <fieldref>n</fieldref> 1057 </list> 1058 </reply> 1059 </request> 1060 1061 <request name="GetTexLevelParameterfv" opcode="138"> 1062 <field type="CONTEXT_TAG" name="context_tag" /> 1063 <field type="CARD32" name="target" /> 1064 <field type="INT32" name="level" /> 1065 <field type="CARD32" name="pname" /> 1066 <reply> 1067 <pad bytes="1" /> 1068 <pad bytes="4" /> 1069 <field type="CARD32" name="n" /> 1070 <field type="FLOAT32" name="datum" /> 1071 <pad bytes="12" /> 1072 <list type="FLOAT32" name="data"> 1073 <fieldref>n</fieldref> 1074 </list> 1075 </reply> 1076 </request> 1077 1078 <request name="GetTexLevelParameteriv" opcode="139"> 1079 <field type="CONTEXT_TAG" name="context_tag" /> 1080 <field type="CARD32" name="target" /> 1081 <field type="INT32" name="level" /> 1082 <field type="CARD32" name="pname" /> 1083 <reply> 1084 <pad bytes="1" /> 1085 <pad bytes="4" /> 1086 <field type="CARD32" name="n" /> 1087 <field type="INT32" name="datum" /> 1088 <pad bytes="12" /> 1089 <list type="INT32" name="data"> 1090 <fieldref>n</fieldref> 1091 </list> 1092 </reply> 1093 </request> 1094 1095 <request name="IsEnabled" opcode="140" > 1096 <field type="CONTEXT_TAG" name="context_tag" /> 1097 <field type="CARD32" name="capability" /> 1098 <reply> 1099 <pad bytes="1" /> 1100 <field type="BOOL32" name="ret_val" /> 1101 </reply> 1102 </request> 1103 1104 <request name="IsList" opcode="141" > 1105 <field type="CONTEXT_TAG" name="context_tag" /> 1106 <field type="CARD32" name="list" /> 1107 <reply> 1108 <pad bytes="1" /> 1109 <field type="BOOL32" name="ret_val" /> 1110 </reply> 1111 </request> 1112 1113 <request name="Flush" opcode="142"> 1114 <field type="CONTEXT_TAG" name="context_tag" /> 1115 </request> 1116 1117 <request name="AreTexturesResident" opcode="143"> 1118 <field type="CONTEXT_TAG" name="context_tag" /> 1119 <field type="INT32" name="n" /> 1120 <list type="CARD32" name="textures"> 1121 <fieldref>n</fieldref> 1122 </list> 1123 <reply> 1124 <pad bytes="1" /> 1125 <field type="BOOL32" name="ret_val" /> 1126 <pad bytes="20" /> 1127 <list type="BOOL" name="data"> 1128 <op op="*"> 1129 <fieldref>length</fieldref> 1130 <value>4</value> 1131 </op> 1132 </list> 1133 </reply> 1134 </request> 1135 1136 <request name="DeleteTextures" opcode="144"> 1137 <field type="CONTEXT_TAG" name="context_tag" /> 1138 <field type="INT32" name="n" /> 1139 <list type="CARD32" name="textures"> 1140 <fieldref>n</fieldref> 1141 </list> 1142 </request> 1143 1144 <request name="GenTextures" opcode="145"> 1145 <field type="CONTEXT_TAG" name="context_tag" /> 1146 <field type="INT32" name="n" /> 1147 <reply> 1148 <pad bytes="1" /> 1149 <pad bytes="24" /> 1150 <list type="CARD32" name="data"> 1151 <fieldref>length</fieldref> 1152 </list> 1153 </reply> 1154 </request> 1155 1156 <request name="IsTexture" opcode="146"> 1157 <field type="CONTEXT_TAG" name="context_tag" /> 1158 <field type="CARD32" name="texture" /> 1159 <reply> 1160 <pad bytes="1" /> 1161 <field type="BOOL32" name="ret_val" /> 1162 </reply> 1163 </request> 1164 1165 <request name="GetColorTable" opcode="147"> 1166 <field type="CONTEXT_TAG" name="context_tag" /> 1167 <field type="CARD32" name="target" /> 1168 <field type="CARD32" name="format" /> 1169 <field type="CARD32" name="type" /> 1170 <field type="BOOL" name="swap_bytes" /> 1171 <reply> 1172 <pad bytes="1" /> 1173 <pad bytes="8" /> 1174 <field type="INT32" name="width" /> 1175 <pad bytes="12" /> 1176 <list type="BYTE" name="data"> 1177 <op op="*"> 1178 <fieldref>length</fieldref> 1179 <value>4</value> 1180 </op> 1181 </list> 1182 </reply> 1183 </request> 1184 1185 <request name="GetColorTableParameterfv" opcode="148"> 1186 <field type="CONTEXT_TAG" name="context_tag" /> 1187 <field type="CARD32" name="target" /> 1188 <field type="CARD32" name="pname" /> 1189 <reply> 1190 <pad bytes="1" /> 1191 <pad bytes="4" /> 1192 <field type="CARD32" name="n" /> 1193 <field type="FLOAT32" name="datum" /> 1194 <pad bytes="12" /> 1195 <list type="FLOAT32" name="data"> 1196 <fieldref>n</fieldref> 1197 </list> 1198 </reply> 1199 </request> 1200 1201 <request name="GetColorTableParameteriv" opcode="149"> 1202 <field type="CONTEXT_TAG" name="context_tag" /> 1203 <field type="CARD32" name="target" /> 1204 <field type="CARD32" name="pname" /> 1205 <reply> 1206 <pad bytes="1" /> 1207 <pad bytes="4" /> 1208 <field type="CARD32" name="n" /> 1209 <field type="INT32" name="datum" /> 1210 <pad bytes="12" /> 1211 <list type="INT32" name="data"> 1212 <fieldref>n</fieldref> 1213 </list> 1214 </reply> 1215 </request> 1216 1217 <request name="GetConvolutionFilter" opcode="150"> 1218 <field type="CONTEXT_TAG" name="context_tag" /> 1219 <field type="CARD32" name="target" /> 1220 <field type="CARD32" name="format" /> 1221 <field type="CARD32" name="type" /> 1222 <field type="BOOL" name="swap_bytes" /> 1223 <reply> 1224 <pad bytes="1" /> 1225 <pad bytes="8" /> 1226 <field type="INT32" name="width" /> 1227 <field type="INT32" name="height" /> 1228 <pad bytes="8" /> 1229 <list type="BYTE" name="data"> 1230 <op op="*"> 1231 <fieldref>length</fieldref> 1232 <value>4</value> 1233 </op> 1234 </list> 1235 </reply> 1236 </request> 1237 1238 1239 <request name="GetConvolutionParameterfv" opcode="151"> 1240 <field type="CONTEXT_TAG" name="context_tag" /> 1241 <field type="CARD32" name="target" /> 1242 <field type="CARD32" name="pname" /> 1243 <reply> 1244 <pad bytes="1" /> 1245 <pad bytes="4" /> 1246 <field type="CARD32" name="n" /> 1247 <field type="FLOAT32" name="datum" /> 1248 <pad bytes="12" /> 1249 <list type="FLOAT32" name="data"> 1250 <fieldref>n</fieldref> 1251 </list> 1252 </reply> 1253 </request> 1254 1255 <request name="GetConvolutionParameteriv" opcode="152"> 1256 <field type="CONTEXT_TAG" name="context_tag" /> 1257 <field type="CARD32" name="target" /> 1258 <field type="CARD32" name="pname" /> 1259 <reply> 1260 <pad bytes="1" /> 1261 <pad bytes="4" /> 1262 <field type="CARD32" name="n" /> 1263 <field type="INT32" name="datum" /> 1264 <pad bytes="12" /> 1265 <list type="INT32" name="data"> 1266 <fieldref>n</fieldref> 1267 </list> 1268 </reply> 1269 </request> 1270 1271 <request name="GetSeparableFilter" opcode="153"> 1272 <field type="CONTEXT_TAG" name="context_tag" /> 1273 <field type="CARD32" name="target" /> 1274 <field type="CARD32" name="format" /> 1275 <field type="CARD32" name="type" /> 1276 <field type="BOOL" name="swap_bytes" /> 1277 <reply> 1278 <pad bytes="1" /> 1279 <pad bytes="8" /> 1280 <field type="INT32" name="row_w" /> 1281 <field type="INT32" name="col_h" /> 1282 <pad bytes="8" /> 1283 <list type="BYTE" name="rows_and_cols"> 1284 <op op="*"> 1285 <fieldref>length</fieldref> 1286 <value>4</value> 1287 </op> 1288 </list> 1289 </reply> 1290 </request> 1291 1292 <request name="GetHistogram" opcode="154"> 1293 <field type="CONTEXT_TAG" name="context_tag" /> 1294 <field type="CARD32" name="target" /> 1295 <field type="CARD32" name="format" /> 1296 <field type="CARD32" name="type" /> 1297 <field type="BOOL" name="swap_bytes" /> 1298 <field type="BOOL" name="reset" /> 1299 <reply> 1300 <pad bytes="1" /> 1301 <pad bytes="8" /> 1302 <field type="INT32" name="width" /> 1303 <pad bytes="12" /> 1304 <list type="BYTE" name="data"> 1305 <op op="*"> 1306 <fieldref>length</fieldref> 1307 <value>4</value> 1308 </op> 1309 </list> 1310 </reply> 1311 </request> 1312 1313 1314 <request name="GetHistogramParameterfv" opcode="155"> 1315 <field type="CONTEXT_TAG" name="context_tag" /> 1316 <field type="CARD32" name="target" /> 1317 <field type="CARD32" name="pname" /> 1318 <reply> 1319 <pad bytes="1" /> 1320 <pad bytes="4" /> 1321 <field type="CARD32" name="n" /> 1322 <field type="FLOAT32" name="datum" /> 1323 <pad bytes="12" /> 1324 <list type="FLOAT32" name="data"> 1325 <fieldref>n</fieldref> 1326 </list> 1327 </reply> 1328 </request> 1329 1330 <request name="GetHistogramParameteriv" opcode="156"> 1331 <field type="CONTEXT_TAG" name="context_tag" /> 1332 <field type="CARD32" name="target" /> 1333 <field type="CARD32" name="pname" /> 1334 <reply> 1335 <pad bytes="1" /> 1336 <pad bytes="4" /> 1337 <field type="CARD32" name="n" /> 1338 <field type="INT32" name="datum" /> 1339 <pad bytes="12" /> 1340 <list type="INT32" name="data"> 1341 <fieldref>n</fieldref> 1342 </list> 1343 </reply> 1344 </request> 1345 1346 <request name="GetMinmax" opcode="157"> 1347 <field type="CONTEXT_TAG" name="context_tag" /> 1348 <field type="CARD32" name="target" /> 1349 <field type="CARD32" name="format" /> 1350 <field type="CARD32" name="type" /> 1351 <field type="BOOL" name="swap_bytes" /> 1352 <field type="BOOL" name="reset" /> 1353 <reply> 1354 <pad bytes="1" /> 1355 <pad bytes="24" /> 1356 <list type="BYTE" name="data"> 1357 <op op="*"> 1358 <fieldref>length</fieldref> 1359 <value>4</value> 1360 </op> 1361 </list> 1362 </reply> 1363 </request> 1364 1365 <request name="GetMinmaxParameterfv" opcode="158"> 1366 <field type="CONTEXT_TAG" name="context_tag" /> 1367 <field type="CARD32" name="target" /> 1368 <field type="CARD32" name="pname" /> 1369 <reply> 1370 <pad bytes="1" /> 1371 <pad bytes="4" /> 1372 <field type="CARD32" name="n" /> 1373 <field type="FLOAT32" name="datum" /> 1374 <pad bytes="12" /> 1375 <list type="FLOAT32" name="data"> 1376 <fieldref>n</fieldref> 1377 </list> 1378 </reply> 1379 </request> 1380 1381 <request name="GetMinmaxParameteriv" opcode="159"> 1382 <field type="CONTEXT_TAG" name="context_tag" /> 1383 <field type="CARD32" name="target" /> 1384 <field type="CARD32" name="pname" /> 1385 <reply> 1386 <pad bytes="1" /> 1387 <pad bytes="4" /> 1388 <field type="CARD32" name="n" /> 1389 <field type="INT32" name="datum" /> 1390 <pad bytes="12" /> 1391 <list type="INT32" name="data"> 1392 <fieldref>n</fieldref> 1393 </list> 1394 </reply> 1395 </request> 1396 1397 <!-- 1398 GLX Extensions 1399 1400 * XXX: So far only define non-rendering commands. 1401 * Only those extensions that affect the GLX wire protocol are listed. 1402 --> 1403 1404 <!-- 1405 GL_ARB_texture_compression 1406 http://oss.sgi.com/projects/ogl-sample/registry/ARB/texture_compression.txt 1407 --> 1408 <request name="GetCompressedTexImageARB" opcode="160"> 1409 <field type="CONTEXT_TAG" name="context_tag" /> 1410 <field type="CARD32" name="target" /> 1411 <field type="INT32" name="level" /> 1412 <reply> 1413 <pad bytes="1" /> 1414 <pad bytes="8" /> 1415 <field type="INT32" name="size" /> 1416 <pad bytes="12" /> 1417 <list type="BYTE" name="data"> 1418 <op op="*"> 1419 <fieldref>length</fieldref> 1420 <value>4</value> 1421 </op> 1422 </list> 1423 </reply> 1424 </request> 1425 1426 1427 <!-- 1428 GL_ARB_occlusion_query 1429 http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt 1430 --> 1431 1432 <request name="DeleteQueriesARB" opcode="161"> 1433 <field type="CONTEXT_TAG" name="context_tag" /> 1434 <field type="INT32" name="n" /> 1435 <list type="CARD32" name="ids"> 1436 <fieldref>n</fieldref> 1437 </list> 1438 </request> 1439 1440 <request name="GenQueriesARB" opcode="162"> 1441 <field type="CONTEXT_TAG" name="context_tag" /> 1442 <field type="INT32" name="n" /> 1443 <reply> 1444 <pad bytes="1" /> 1445 <pad bytes="24" /> 1446 <list type="CARD32" name="data"> 1447 <fieldref>length</fieldref> 1448 </list> 1449 </reply> 1450 </request> 1451 1452 <request name="IsQueryARB" opcode="163"> 1453 <field type="CONTEXT_TAG" name="context_tag" /> 1454 <field type="CARD32" name="id" /> 1455 <reply> 1456 <pad bytes="1" /> 1457 <field type="BOOL32" name="ret_val" /> 1458 </reply> 1459 </request> 1460 1461 <request name="GetQueryivARB" opcode="164"> 1462 <field type="CONTEXT_TAG" name="context_tag" /> 1463 <field type="CARD32" name="target" /> 1464 <field type="CARD32" name="pname" /> 1465 <reply> 1466 <pad bytes="1" /> 1467 <pad bytes="4" /> 1468 <field type="CARD32" name="n" /> 1469 <field type="INT32" name="datum" /> 1470 <pad bytes="12" /> 1471 <list type="INT32" name="data"> 1472 <fieldref>n</fieldref> 1473 </list> 1474 </reply> 1475 </request> 1476 1477 <request name="GetQueryObjectivARB" opcode="165"> 1478 <field type="CONTEXT_TAG" name="context_tag" /> 1479 <field type="CARD32" name="id" /> 1480 <field type="CARD32" name="pname" /> 1481 <reply> 1482 <pad bytes="1" /> 1483 <pad bytes="4" /> 1484 <field type="CARD32" name="n" /> 1485 <field type="INT32" name="datum" /> 1486 <pad bytes="12" /> 1487 <list type="INT32" name="data"> 1488 <fieldref>n</fieldref> 1489 </list> 1490 </reply> 1491 </request> 1492 1493 <request name="GetQueryObjectuivARB" opcode="166"> 1494 <field type="CONTEXT_TAG" name="context_tag" /> 1495 <field type="CARD32" name="id" /> 1496 <field type="CARD32" name="pname" /> 1497 <reply> 1498 <pad bytes="1" /> 1499 <pad bytes="4" /> 1500 <field type="CARD32" name="n" /> 1501 <field type="CARD32" name="datum" /> 1502 <pad bytes="12" /> 1503 <list type="CARD32" name="data"> 1504 <fieldref>n</fieldref> 1505 </list> 1506 </reply> 1507 </request> 1508 1509 <!-- 1510 GL_ARB_vertex_program 1511 http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_program.txt 1512 XXX: Need to write up vops 1513 --> 1514 1515 <!-- 1516 GL_ARB_fragment_program 1517 http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_program.txt 1518 XXX: Need to write up vops 1519 --> 1520 1521 <!-- 1522 GL_SGIS_texture_filter4 1523 http://oss.sgi.com/projects/ogl-sample/registry/SGIS/texture_filter4.txt 1524 XXX: Need to write up vops 1525 --> 1526 1527 <!-- 1528 GL_EXT_histogram 1529 http://oss.sgi.com/projects/ogl-sample/registry/EXT/histogram.txt 1530 XXX: Need to write up vops 1531 --> 1532 1533 <!-- 1534 GL_EXT_convolution 1535 http://oss.sgi.com/projects/ogl-sample/registry/EXT/convolution.txt 1536 XXX: Need to write up vops 1537 --> 1538 1539 <!-- 1540 GL_SGI_color_table 1541 http://oss.sgi.com/projects/ogl-sample/registry/SGI/color_table.txt 1542 XXX: Need to write up vops 1543 --> 1544 1545 <!-- 1546 GL_EXT_texture_object 1547 http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_object.txt 1548 XXX: Need to write up vops 1549 --> 1550 1551 <!-- 1552 GL_SGIS_detail_texture 1553 http://oss.sgi.com/projects/ogl-sample/registry/SGIS/detail_texture.txt 1554 XXX: Need to write up vops 1555 --> 1556 1557 <!-- 1558 GL_SGIS_sharpen_texture 1559 http://oss.sgi.com/projects/ogl-sample/registry/SGIS/sharpen_texture.txt 1560 XXX: Need to write up vops 1561 --> 1562 1563 <!-- 1564 GL_SGI_make_current_read 1565 http://oss.sgi.com/projects/ogl-sample/registry/SGI/make_current_read.txt 1566 XXX: Need to write up vops 1567 --> 1568 1569 <!-- 1570 GL_EXT_import_context 1571 http://oss.sgi.com/projects/ogl-sample/registry/EXT/import_context.txt 1572 XXX: Need to write up vops 1573 --> 1574 1575 <!-- 1576 GL_SGIX_fbconfig 1577 http://oss.sgi.com/projects/ogl-sample/registry/SGIX/fbconfig.txt 1578 XXX: Need to write up vops 1579 --> 1580 1581 <!-- 1582 GL_SGIX_pbuffer 1583 http://oss.sgi.com/projects/ogl-sample/registry/SGIX/pbuffer.txt 1584 XXX: Need to write up vops 1585 --> 1586 1587 <!-- 1588 GL_EXT_pixel_transform 1589 http://oss.sgi.com/projects/ogl-sample/registry/EXT/pixel_transform.txt 1590 XXX: Need to write up vops 1591 --> 1592 1593 <!-- 1594 GL_NV_register_combiners 1595 http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners.txt 1596 XXX: Need to write up vops 1597 --> 1598 1599 <!-- 1600 GL_NV_fence 1601 http://oss.sgi.com/projects/ogl-sample/registry/NV/fence.txt 1602 XXX: Need to write up vops 1603 --> 1604 1605 <!-- 1606 GL_NV_register_combiners2 1607 http://oss.sgi.com/projects/ogl-sample/registry/NV/register_combiners2.txt 1608 XXX: Need to write up vops 1609 --> 1610 1611 <!-- 1612 GL_NV_vertex_program 1613 http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt 1614 XXX: Need to write up vops 1615 --> 1616 1617 <!-- 1618 GL_NV_vertex_program 1619 http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_program.txt 1620 XXX: Need to write up vops 1621 --> 1622 1623 <!-- 1624 GL_NV_occlusion_query 1625 http://oss.sgi.com/projects/ogl-sample/registry/NV/occlusion_query.txt 1626 XXX: Need to write up vops 1627 --> 1628 1629 <!-- 1630 GL_NV_fragment_program 1631 http://oss.sgi.com/projects/ogl-sample/registry/NV/fragment_program.txt 1632 XXX: Need to write up vops 1633 --> 1634 1635 <!-- 1636 GL_OES_single_precision 1637 http://oss.sgi.com/projects/ogl-sample/registry/OES/single_precision.txt 1638 XXX: Need to write up vops 1639 --> 1640 1641</xcb> 1642