1 /* 2 * This file generated automatically from dri2.xml by d_client.py. 3 * Edit at your peril. 4 */ 5 6 /** 7 * @defgroup XCB_DRI2_API XCB DRI2 API 8 * @brief DRI2 XCB Protocol Implementation. 9 * @{ 10 **/ 11 12 module xcb.dri2; 13 14 import xcb.xcb; 15 import xcb.xproto; 16 17 extern (C): 18 19 enum int XCB_DRI2_MAJOR_VERSION = 1; 20 enum int XCB_DRI2_MINOR_VERSION = 4; 21 22 extern (C) __gshared extern xcb_extension_t xcb_dri2_id; 23 24 enum xcb_dri2_attachment_t { 25 XCB_DRI2_ATTACHMENT_BUFFER_FRONT_LEFT = 0, 26 XCB_DRI2_ATTACHMENT_BUFFER_BACK_LEFT = 1, 27 XCB_DRI2_ATTACHMENT_BUFFER_FRONT_RIGHT = 2, 28 XCB_DRI2_ATTACHMENT_BUFFER_BACK_RIGHT = 3, 29 XCB_DRI2_ATTACHMENT_BUFFER_DEPTH = 4, 30 XCB_DRI2_ATTACHMENT_BUFFER_STENCIL = 5, 31 XCB_DRI2_ATTACHMENT_BUFFER_ACCUM = 6, 32 XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_LEFT = 7, 33 XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_RIGHT = 8, 34 XCB_DRI2_ATTACHMENT_BUFFER_DEPTH_STENCIL = 9, 35 XCB_DRI2_ATTACHMENT_BUFFER_HIZ = 10 36 } 37 38 alias XCB_DRI2_ATTACHMENT_BUFFER_FRONT_LEFT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_FRONT_LEFT; 39 alias XCB_DRI2_ATTACHMENT_BUFFER_BACK_LEFT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_BACK_LEFT; 40 alias XCB_DRI2_ATTACHMENT_BUFFER_FRONT_RIGHT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_FRONT_RIGHT; 41 alias XCB_DRI2_ATTACHMENT_BUFFER_BACK_RIGHT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_BACK_RIGHT; 42 alias XCB_DRI2_ATTACHMENT_BUFFER_DEPTH = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_DEPTH; 43 alias XCB_DRI2_ATTACHMENT_BUFFER_STENCIL = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_STENCIL; 44 alias XCB_DRI2_ATTACHMENT_BUFFER_ACCUM = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_ACCUM; 45 alias XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_LEFT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_LEFT; 46 alias XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_RIGHT = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_RIGHT; 47 alias XCB_DRI2_ATTACHMENT_BUFFER_DEPTH_STENCIL = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_DEPTH_STENCIL; 48 alias XCB_DRI2_ATTACHMENT_BUFFER_HIZ = xcb_dri2_attachment_t.XCB_DRI2_ATTACHMENT_BUFFER_HIZ; 49 50 enum xcb_dri2_driver_type_t { 51 XCB_DRI2_DRIVER_TYPE_DRI = 0, 52 XCB_DRI2_DRIVER_TYPE_VDPAU = 1 53 } 54 55 alias XCB_DRI2_DRIVER_TYPE_DRI = xcb_dri2_driver_type_t.XCB_DRI2_DRIVER_TYPE_DRI; 56 alias XCB_DRI2_DRIVER_TYPE_VDPAU = xcb_dri2_driver_type_t.XCB_DRI2_DRIVER_TYPE_VDPAU; 57 58 enum xcb_dri2_event_type_t { 59 XCB_DRI2_EVENT_TYPE_EXCHANGE_COMPLETE = 1, 60 XCB_DRI2_EVENT_TYPE_BLIT_COMPLETE = 2, 61 XCB_DRI2_EVENT_TYPE_FLIP_COMPLETE = 3 62 } 63 64 alias XCB_DRI2_EVENT_TYPE_EXCHANGE_COMPLETE = xcb_dri2_event_type_t.XCB_DRI2_EVENT_TYPE_EXCHANGE_COMPLETE; 65 alias XCB_DRI2_EVENT_TYPE_BLIT_COMPLETE = xcb_dri2_event_type_t.XCB_DRI2_EVENT_TYPE_BLIT_COMPLETE; 66 alias XCB_DRI2_EVENT_TYPE_FLIP_COMPLETE = xcb_dri2_event_type_t.XCB_DRI2_EVENT_TYPE_FLIP_COMPLETE; 67 68 /** 69 * @brief xcb_dri2_dri2_buffer_t 70 **/ 71 struct xcb_dri2_dri2_buffer_t { 72 uint attachment; /**< */ 73 uint name; /**< */ 74 uint pitch; /**< */ 75 uint cpp; /**< */ 76 uint flags; /**< */ 77 } 78 79 /** 80 * @brief xcb_dri2_dri2_buffer_iterator_t 81 **/ 82 struct xcb_dri2_dri2_buffer_iterator_t { 83 xcb_dri2_dri2_buffer_t* data; /**< */ 84 int rem; /**< */ 85 int index; /**< */ 86 } 87 88 /** 89 * @brief xcb_dri2_attach_format_t 90 **/ 91 struct xcb_dri2_attach_format_t { 92 uint attachment; /**< */ 93 uint format; /**< */ 94 } 95 96 /** 97 * @brief xcb_dri2_attach_format_iterator_t 98 **/ 99 struct xcb_dri2_attach_format_iterator_t { 100 xcb_dri2_attach_format_t* data; /**< */ 101 int rem; /**< */ 102 int index; /**< */ 103 } 104 105 /** 106 * @brief xcb_dri2_query_version_cookie_t 107 **/ 108 struct xcb_dri2_query_version_cookie_t { 109 uint sequence; /**< */ 110 } 111 112 /** Opcode for xcb_dri2_query_version. */ 113 enum XCB_DRI2_QUERY_VERSION = 0; 114 115 /** 116 * @brief xcb_dri2_query_version_request_t 117 **/ 118 struct xcb_dri2_query_version_request_t { 119 ubyte major_opcode; /**< */ 120 ubyte minor_opcode; /**< */ 121 ushort length; /**< */ 122 uint major_version; /**< */ 123 uint minor_version; /**< */ 124 } 125 126 /** 127 * @brief xcb_dri2_query_version_reply_t 128 **/ 129 struct xcb_dri2_query_version_reply_t { 130 ubyte response_type; /**< */ 131 ubyte pad0; /**< */ 132 ushort sequence; /**< */ 133 uint length; /**< */ 134 uint major_version; /**< */ 135 uint minor_version; /**< */ 136 } 137 138 /** 139 * @brief xcb_dri2_connect_cookie_t 140 **/ 141 struct xcb_dri2_connect_cookie_t { 142 uint sequence; /**< */ 143 } 144 145 /** Opcode for xcb_dri2_connect. */ 146 enum XCB_DRI2_CONNECT = 1; 147 148 /** 149 * @brief xcb_dri2_connect_request_t 150 **/ 151 struct xcb_dri2_connect_request_t { 152 ubyte major_opcode; /**< */ 153 ubyte minor_opcode; /**< */ 154 ushort length; /**< */ 155 xcb_window_t window; /**< */ 156 uint driver_type; /**< */ 157 } 158 159 /** 160 * @brief xcb_dri2_connect_reply_t 161 **/ 162 struct xcb_dri2_connect_reply_t { 163 ubyte response_type; /**< */ 164 ubyte pad0; /**< */ 165 ushort sequence; /**< */ 166 uint length; /**< */ 167 uint driver_name_length; /**< */ 168 uint device_name_length; /**< */ 169 ubyte[16] pad1; /**< */ 170 } 171 172 /** 173 * @brief xcb_dri2_authenticate_cookie_t 174 **/ 175 struct xcb_dri2_authenticate_cookie_t { 176 uint sequence; /**< */ 177 } 178 179 /** Opcode for xcb_dri2_authenticate. */ 180 enum XCB_DRI2_AUTHENTICATE = 2; 181 182 /** 183 * @brief xcb_dri2_authenticate_request_t 184 **/ 185 struct xcb_dri2_authenticate_request_t { 186 ubyte major_opcode; /**< */ 187 ubyte minor_opcode; /**< */ 188 ushort length; /**< */ 189 xcb_window_t window; /**< */ 190 uint magic; /**< */ 191 } 192 193 /** 194 * @brief xcb_dri2_authenticate_reply_t 195 **/ 196 struct xcb_dri2_authenticate_reply_t { 197 ubyte response_type; /**< */ 198 ubyte pad0; /**< */ 199 ushort sequence; /**< */ 200 uint length; /**< */ 201 uint authenticated; /**< */ 202 } 203 204 /** Opcode for xcb_dri2_create_drawable. */ 205 enum XCB_DRI2_CREATE_DRAWABLE = 3; 206 207 /** 208 * @brief xcb_dri2_create_drawable_request_t 209 **/ 210 struct xcb_dri2_create_drawable_request_t { 211 ubyte major_opcode; /**< */ 212 ubyte minor_opcode; /**< */ 213 ushort length; /**< */ 214 xcb_drawable_t drawable; /**< */ 215 } 216 217 /** Opcode for xcb_dri2_destroy_drawable. */ 218 enum XCB_DRI2_DESTROY_DRAWABLE = 4; 219 220 /** 221 * @brief xcb_dri2_destroy_drawable_request_t 222 **/ 223 struct xcb_dri2_destroy_drawable_request_t { 224 ubyte major_opcode; /**< */ 225 ubyte minor_opcode; /**< */ 226 ushort length; /**< */ 227 xcb_drawable_t drawable; /**< */ 228 } 229 230 /** 231 * @brief xcb_dri2_get_buffers_cookie_t 232 **/ 233 struct xcb_dri2_get_buffers_cookie_t { 234 uint sequence; /**< */ 235 } 236 237 /** Opcode for xcb_dri2_get_buffers. */ 238 enum XCB_DRI2_GET_BUFFERS = 5; 239 240 /** 241 * @brief xcb_dri2_get_buffers_request_t 242 **/ 243 struct xcb_dri2_get_buffers_request_t { 244 ubyte major_opcode; /**< */ 245 ubyte minor_opcode; /**< */ 246 ushort length; /**< */ 247 xcb_drawable_t drawable; /**< */ 248 uint count; /**< */ 249 } 250 251 /** 252 * @brief xcb_dri2_get_buffers_reply_t 253 **/ 254 struct xcb_dri2_get_buffers_reply_t { 255 ubyte response_type; /**< */ 256 ubyte pad0; /**< */ 257 ushort sequence; /**< */ 258 uint length; /**< */ 259 uint width; /**< */ 260 uint height; /**< */ 261 uint count; /**< */ 262 ubyte[12] pad1; /**< */ 263 } 264 265 /** 266 * @brief xcb_dri2_copy_region_cookie_t 267 **/ 268 struct xcb_dri2_copy_region_cookie_t { 269 uint sequence; /**< */ 270 } 271 272 /** Opcode for xcb_dri2_copy_region. */ 273 enum XCB_DRI2_COPY_REGION = 6; 274 275 /** 276 * @brief xcb_dri2_copy_region_request_t 277 **/ 278 struct xcb_dri2_copy_region_request_t { 279 ubyte major_opcode; /**< */ 280 ubyte minor_opcode; /**< */ 281 ushort length; /**< */ 282 xcb_drawable_t drawable; /**< */ 283 uint region; /**< */ 284 uint dest; /**< */ 285 uint src; /**< */ 286 } 287 288 /** 289 * @brief xcb_dri2_copy_region_reply_t 290 **/ 291 struct xcb_dri2_copy_region_reply_t { 292 ubyte response_type; /**< */ 293 ubyte pad0; /**< */ 294 ushort sequence; /**< */ 295 uint length; /**< */ 296 } 297 298 /** 299 * @brief xcb_dri2_get_buffers_with_format_cookie_t 300 **/ 301 struct xcb_dri2_get_buffers_with_format_cookie_t { 302 uint sequence; /**< */ 303 } 304 305 /** Opcode for xcb_dri2_get_buffers_with_format. */ 306 enum XCB_DRI2_GET_BUFFERS_WITH_FORMAT = 7; 307 308 /** 309 * @brief xcb_dri2_get_buffers_with_format_request_t 310 **/ 311 struct xcb_dri2_get_buffers_with_format_request_t { 312 ubyte major_opcode; /**< */ 313 ubyte minor_opcode; /**< */ 314 ushort length; /**< */ 315 xcb_drawable_t drawable; /**< */ 316 uint count; /**< */ 317 } 318 319 /** 320 * @brief xcb_dri2_get_buffers_with_format_reply_t 321 **/ 322 struct xcb_dri2_get_buffers_with_format_reply_t { 323 ubyte response_type; /**< */ 324 ubyte pad0; /**< */ 325 ushort sequence; /**< */ 326 uint length; /**< */ 327 uint width; /**< */ 328 uint height; /**< */ 329 uint count; /**< */ 330 ubyte[12] pad1; /**< */ 331 } 332 333 /** 334 * @brief xcb_dri2_swap_buffers_cookie_t 335 **/ 336 struct xcb_dri2_swap_buffers_cookie_t { 337 uint sequence; /**< */ 338 } 339 340 /** Opcode for xcb_dri2_swap_buffers. */ 341 enum XCB_DRI2_SWAP_BUFFERS = 8; 342 343 /** 344 * @brief xcb_dri2_swap_buffers_request_t 345 **/ 346 struct xcb_dri2_swap_buffers_request_t { 347 ubyte major_opcode; /**< */ 348 ubyte minor_opcode; /**< */ 349 ushort length; /**< */ 350 xcb_drawable_t drawable; /**< */ 351 uint target_msc_hi; /**< */ 352 uint target_msc_lo; /**< */ 353 uint divisor_hi; /**< */ 354 uint divisor_lo; /**< */ 355 uint remainder_hi; /**< */ 356 uint remainder_lo; /**< */ 357 } 358 359 /** 360 * @brief xcb_dri2_swap_buffers_reply_t 361 **/ 362 struct xcb_dri2_swap_buffers_reply_t { 363 ubyte response_type; /**< */ 364 ubyte pad0; /**< */ 365 ushort sequence; /**< */ 366 uint length; /**< */ 367 uint swap_hi; /**< */ 368 uint swap_lo; /**< */ 369 } 370 371 /** 372 * @brief xcb_dri2_get_msc_cookie_t 373 **/ 374 struct xcb_dri2_get_msc_cookie_t { 375 uint sequence; /**< */ 376 } 377 378 /** Opcode for xcb_dri2_get_msc. */ 379 enum XCB_DRI2_GET_MSC = 9; 380 381 /** 382 * @brief xcb_dri2_get_msc_request_t 383 **/ 384 struct xcb_dri2_get_msc_request_t { 385 ubyte major_opcode; /**< */ 386 ubyte minor_opcode; /**< */ 387 ushort length; /**< */ 388 xcb_drawable_t drawable; /**< */ 389 } 390 391 /** 392 * @brief xcb_dri2_get_msc_reply_t 393 **/ 394 struct xcb_dri2_get_msc_reply_t { 395 ubyte response_type; /**< */ 396 ubyte pad0; /**< */ 397 ushort sequence; /**< */ 398 uint length; /**< */ 399 uint ust_hi; /**< */ 400 uint ust_lo; /**< */ 401 uint msc_hi; /**< */ 402 uint msc_lo; /**< */ 403 uint sbc_hi; /**< */ 404 uint sbc_lo; /**< */ 405 } 406 407 /** 408 * @brief xcb_dri2_wait_msc_cookie_t 409 **/ 410 struct xcb_dri2_wait_msc_cookie_t { 411 uint sequence; /**< */ 412 } 413 414 /** Opcode for xcb_dri2_wait_msc. */ 415 enum XCB_DRI2_WAIT_MSC = 10; 416 417 /** 418 * @brief xcb_dri2_wait_msc_request_t 419 **/ 420 struct xcb_dri2_wait_msc_request_t { 421 ubyte major_opcode; /**< */ 422 ubyte minor_opcode; /**< */ 423 ushort length; /**< */ 424 xcb_drawable_t drawable; /**< */ 425 uint target_msc_hi; /**< */ 426 uint target_msc_lo; /**< */ 427 uint divisor_hi; /**< */ 428 uint divisor_lo; /**< */ 429 uint remainder_hi; /**< */ 430 uint remainder_lo; /**< */ 431 } 432 433 /** 434 * @brief xcb_dri2_wait_msc_reply_t 435 **/ 436 struct xcb_dri2_wait_msc_reply_t { 437 ubyte response_type; /**< */ 438 ubyte pad0; /**< */ 439 ushort sequence; /**< */ 440 uint length; /**< */ 441 uint ust_hi; /**< */ 442 uint ust_lo; /**< */ 443 uint msc_hi; /**< */ 444 uint msc_lo; /**< */ 445 uint sbc_hi; /**< */ 446 uint sbc_lo; /**< */ 447 } 448 449 /** 450 * @brief xcb_dri2_wait_sbc_cookie_t 451 **/ 452 struct xcb_dri2_wait_sbc_cookie_t { 453 uint sequence; /**< */ 454 } 455 456 /** Opcode for xcb_dri2_wait_sbc. */ 457 enum XCB_DRI2_WAIT_SBC = 11; 458 459 /** 460 * @brief xcb_dri2_wait_sbc_request_t 461 **/ 462 struct xcb_dri2_wait_sbc_request_t { 463 ubyte major_opcode; /**< */ 464 ubyte minor_opcode; /**< */ 465 ushort length; /**< */ 466 xcb_drawable_t drawable; /**< */ 467 uint target_sbc_hi; /**< */ 468 uint target_sbc_lo; /**< */ 469 } 470 471 /** 472 * @brief xcb_dri2_wait_sbc_reply_t 473 **/ 474 struct xcb_dri2_wait_sbc_reply_t { 475 ubyte response_type; /**< */ 476 ubyte pad0; /**< */ 477 ushort sequence; /**< */ 478 uint length; /**< */ 479 uint ust_hi; /**< */ 480 uint ust_lo; /**< */ 481 uint msc_hi; /**< */ 482 uint msc_lo; /**< */ 483 uint sbc_hi; /**< */ 484 uint sbc_lo; /**< */ 485 } 486 487 /** Opcode for xcb_dri2_swap_interval. */ 488 enum XCB_DRI2_SWAP_INTERVAL = 12; 489 490 /** 491 * @brief xcb_dri2_swap_interval_request_t 492 **/ 493 struct xcb_dri2_swap_interval_request_t { 494 ubyte major_opcode; /**< */ 495 ubyte minor_opcode; /**< */ 496 ushort length; /**< */ 497 xcb_drawable_t drawable; /**< */ 498 uint interval; /**< */ 499 } 500 501 /** 502 * @brief xcb_dri2_get_param_cookie_t 503 **/ 504 struct xcb_dri2_get_param_cookie_t { 505 uint sequence; /**< */ 506 } 507 508 /** Opcode for xcb_dri2_get_param. */ 509 enum XCB_DRI2_GET_PARAM = 13; 510 511 /** 512 * @brief xcb_dri2_get_param_request_t 513 **/ 514 struct xcb_dri2_get_param_request_t { 515 ubyte major_opcode; /**< */ 516 ubyte minor_opcode; /**< */ 517 ushort length; /**< */ 518 xcb_drawable_t drawable; /**< */ 519 uint param; /**< */ 520 } 521 522 /** 523 * @brief xcb_dri2_get_param_reply_t 524 **/ 525 struct xcb_dri2_get_param_reply_t { 526 ubyte response_type; /**< */ 527 ubyte is_param_recognized; /**< */ 528 ushort sequence; /**< */ 529 uint length; /**< */ 530 uint value_hi; /**< */ 531 uint value_lo; /**< */ 532 } 533 534 /** Opcode for xcb_dri2_buffer_swap_complete. */ 535 enum XCB_DRI2_BUFFER_SWAP_COMPLETE = 0; 536 537 /** 538 * @brief xcb_dri2_buffer_swap_complete_event_t 539 **/ 540 struct xcb_dri2_buffer_swap_complete_event_t { 541 ubyte response_type; /**< */ 542 ubyte pad0; /**< */ 543 ushort sequence; /**< */ 544 ushort event_type; /**< */ 545 ubyte[2] pad1; /**< */ 546 xcb_drawable_t drawable; /**< */ 547 uint ust_hi; /**< */ 548 uint ust_lo; /**< */ 549 uint msc_hi; /**< */ 550 uint msc_lo; /**< */ 551 uint sbc; /**< */ 552 } 553 554 /** Opcode for xcb_dri2_invalidate_buffers. */ 555 enum XCB_DRI2_INVALIDATE_BUFFERS = 1; 556 557 /** 558 * @brief xcb_dri2_invalidate_buffers_event_t 559 **/ 560 struct xcb_dri2_invalidate_buffers_event_t { 561 ubyte response_type; /**< */ 562 ubyte pad0; /**< */ 563 ushort sequence; /**< */ 564 xcb_drawable_t drawable; /**< */ 565 } 566 567 /** 568 * Get the next element of the iterator 569 * @param i Pointer to a xcb_dri2_dri2_buffer_iterator_t 570 * 571 * Get the next element in the iterator. The member rem is 572 * decreased by one. The member data points to the next 573 * element. The member index is increased by sizeof(xcb_dri2_dri2_buffer_t) 574 */ 575 void xcb_dri2_dri2_buffer_next(xcb_dri2_dri2_buffer_iterator_t* i /**< */ ); 576 577 /** 578 * Return the iterator pointing to the last element 579 * @param i An xcb_dri2_dri2_buffer_iterator_t 580 * @return The iterator pointing to the last element 581 * 582 * Set the current element in the iterator to the last element. 583 * The member rem is set to 0. The member data points to the 584 * last element. 585 */ 586 xcb_generic_iterator_t xcb_dri2_dri2_buffer_end(xcb_dri2_dri2_buffer_iterator_t i /**< */ ); 587 588 /** 589 * Get the next element of the iterator 590 * @param i Pointer to a xcb_dri2_attach_format_iterator_t 591 * 592 * Get the next element in the iterator. The member rem is 593 * decreased by one. The member data points to the next 594 * element. The member index is increased by sizeof(xcb_dri2_attach_format_t) 595 */ 596 void xcb_dri2_attach_format_next(xcb_dri2_attach_format_iterator_t* i /**< */ ); 597 598 /** 599 * Return the iterator pointing to the last element 600 * @param i An xcb_dri2_attach_format_iterator_t 601 * @return The iterator pointing to the last element 602 * 603 * Set the current element in the iterator to the last element. 604 * The member rem is set to 0. The member data points to the 605 * last element. 606 */ 607 xcb_generic_iterator_t xcb_dri2_attach_format_end(xcb_dri2_attach_format_iterator_t i /**< */ ); 608 609 /** 610 * 611 * @param c The connection 612 * @return A cookie 613 * 614 * Delivers a request to the X server. 615 * 616 */ 617 xcb_dri2_query_version_cookie_t xcb_dri2_query_version(xcb_connection_t* c /**< */ , uint major_version /**< */ , uint minor_version /**< */ ); 618 619 /** 620 * 621 * @param c The connection 622 * @return A cookie 623 * 624 * Delivers a request to the X server. 625 * 626 * This form can be used only if the request will cause 627 * a reply to be generated. Any returned error will be 628 * placed in the event queue. 629 */ 630 xcb_dri2_query_version_cookie_t xcb_dri2_query_version_unchecked(xcb_connection_t* c /**< */ , uint major_version /**< */ , 631 uint minor_version /**< */ ); 632 633 /** 634 * Return the reply 635 * @param c The connection 636 * @param cookie The cookie 637 * @param e The xcb_generic_error_t supplied 638 * 639 * Returns the reply of the request asked by 640 * 641 * The parameter @p e supplied to this function must be NULL if 642 * xcb_dri2_query_version_unchecked(). is used. 643 * Otherwise, it stores the error if any. 644 * 645 * The returned value must be freed by the caller using free(). 646 */ 647 xcb_dri2_query_version_reply_t* xcb_dri2_query_version_reply(xcb_connection_t* c /**< */ , xcb_dri2_query_version_cookie_t cookie /**< */ , 648 xcb_generic_error_t** e /**< */ ); 649 650 int xcb_dri2_connect_sizeof(const void* _buffer /**< */ ); 651 652 /** 653 * 654 * @param c The connection 655 * @return A cookie 656 * 657 * Delivers a request to the X server. 658 * 659 */ 660 xcb_dri2_connect_cookie_t xcb_dri2_connect(xcb_connection_t* c /**< */ , xcb_window_t window /**< */ , uint driver_type /**< */ ); 661 662 /** 663 * 664 * @param c The connection 665 * @return A cookie 666 * 667 * Delivers a request to the X server. 668 * 669 * This form can be used only if the request will cause 670 * a reply to be generated. Any returned error will be 671 * placed in the event queue. 672 */ 673 xcb_dri2_connect_cookie_t xcb_dri2_connect_unchecked(xcb_connection_t* c /**< */ , xcb_window_t window /**< */ , uint driver_type /**< */ ); 674 675 char* xcb_dri2_connect_driver_name(const xcb_dri2_connect_reply_t* R /**< */ ); 676 677 int xcb_dri2_connect_driver_name_length(const xcb_dri2_connect_reply_t* R /**< */ ); 678 679 xcb_generic_iterator_t xcb_dri2_connect_driver_name_end(const xcb_dri2_connect_reply_t* R /**< */ ); 680 681 void* xcb_dri2_connect_alignment_pad(const xcb_dri2_connect_reply_t* R /**< */ ); 682 683 int xcb_dri2_connect_alignment_pad_length(const xcb_dri2_connect_reply_t* R /**< */ ); 684 685 xcb_generic_iterator_t xcb_dri2_connect_alignment_pad_end(const xcb_dri2_connect_reply_t* R /**< */ ); 686 687 char* xcb_dri2_connect_device_name(const xcb_dri2_connect_reply_t* R /**< */ ); 688 689 int xcb_dri2_connect_device_name_length(const xcb_dri2_connect_reply_t* R /**< */ ); 690 691 xcb_generic_iterator_t xcb_dri2_connect_device_name_end(const xcb_dri2_connect_reply_t* R /**< */ ); 692 693 /** 694 * Return the reply 695 * @param c The connection 696 * @param cookie The cookie 697 * @param e The xcb_generic_error_t supplied 698 * 699 * Returns the reply of the request asked by 700 * 701 * The parameter @p e supplied to this function must be NULL if 702 * xcb_dri2_connect_unchecked(). is used. 703 * Otherwise, it stores the error if any. 704 * 705 * The returned value must be freed by the caller using free(). 706 */ 707 xcb_dri2_connect_reply_t* xcb_dri2_connect_reply(xcb_connection_t* c /**< */ , xcb_dri2_connect_cookie_t cookie /**< */ , 708 xcb_generic_error_t** e /**< */ ); 709 710 /** 711 * 712 * @param c The connection 713 * @return A cookie 714 * 715 * Delivers a request to the X server. 716 * 717 */ 718 xcb_dri2_authenticate_cookie_t xcb_dri2_authenticate(xcb_connection_t* c /**< */ , xcb_window_t window /**< */ , uint magic /**< */ ); 719 720 /** 721 * 722 * @param c The connection 723 * @return A cookie 724 * 725 * Delivers a request to the X server. 726 * 727 * This form can be used only if the request will cause 728 * a reply to be generated. Any returned error will be 729 * placed in the event queue. 730 */ 731 xcb_dri2_authenticate_cookie_t xcb_dri2_authenticate_unchecked(xcb_connection_t* c /**< */ , xcb_window_t window /**< */ , 732 uint magic /**< */ ); 733 734 /** 735 * Return the reply 736 * @param c The connection 737 * @param cookie The cookie 738 * @param e The xcb_generic_error_t supplied 739 * 740 * Returns the reply of the request asked by 741 * 742 * The parameter @p e supplied to this function must be NULL if 743 * xcb_dri2_authenticate_unchecked(). is used. 744 * Otherwise, it stores the error if any. 745 * 746 * The returned value must be freed by the caller using free(). 747 */ 748 xcb_dri2_authenticate_reply_t* xcb_dri2_authenticate_reply(xcb_connection_t* c /**< */ , 749 xcb_dri2_authenticate_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 750 751 /** 752 * 753 * @param c The connection 754 * @return A cookie 755 * 756 * Delivers a request to the X server. 757 * 758 * This form can be used only if the request will not cause 759 * a reply to be generated. Any returned error will be 760 * saved for handling by xcb_request_check(). 761 */ 762 xcb_void_cookie_t xcb_dri2_create_drawable_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ); 763 764 /** 765 * 766 * @param c The connection 767 * @return A cookie 768 * 769 * Delivers a request to the X server. 770 * 771 */ 772 xcb_void_cookie_t xcb_dri2_create_drawable(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ); 773 774 /** 775 * 776 * @param c The connection 777 * @return A cookie 778 * 779 * Delivers a request to the X server. 780 * 781 * This form can be used only if the request will not cause 782 * a reply to be generated. Any returned error will be 783 * saved for handling by xcb_request_check(). 784 */ 785 xcb_void_cookie_t xcb_dri2_destroy_drawable_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ); 786 787 /** 788 * 789 * @param c The connection 790 * @return A cookie 791 * 792 * Delivers a request to the X server. 793 * 794 */ 795 xcb_void_cookie_t xcb_dri2_destroy_drawable(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ); 796 797 int xcb_dri2_get_buffers_sizeof(const void* _buffer /**< */ , uint attachments_len /**< */ ); 798 799 /** 800 * 801 * @param c The connection 802 * @return A cookie 803 * 804 * Delivers a request to the X server. 805 * 806 */ 807 xcb_dri2_get_buffers_cookie_t xcb_dri2_get_buffers(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint count /**< */ , 808 uint attachments_len /**< */ , const uint* attachments /**< */ ); 809 810 /** 811 * 812 * @param c The connection 813 * @return A cookie 814 * 815 * Delivers a request to the X server. 816 * 817 * This form can be used only if the request will cause 818 * a reply to be generated. Any returned error will be 819 * placed in the event queue. 820 */ 821 xcb_dri2_get_buffers_cookie_t xcb_dri2_get_buffers_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint count /**< */ , 822 uint attachments_len /**< */ , const uint* attachments /**< */ ); 823 824 xcb_dri2_dri2_buffer_t* xcb_dri2_get_buffers_buffers(const xcb_dri2_get_buffers_reply_t* R /**< */ ); 825 826 int xcb_dri2_get_buffers_buffers_length(const xcb_dri2_get_buffers_reply_t* R /**< */ ); 827 828 xcb_dri2_dri2_buffer_iterator_t xcb_dri2_get_buffers_buffers_iterator(const xcb_dri2_get_buffers_reply_t* R /**< */ ); 829 830 /** 831 * Return the reply 832 * @param c The connection 833 * @param cookie The cookie 834 * @param e The xcb_generic_error_t supplied 835 * 836 * Returns the reply of the request asked by 837 * 838 * The parameter @p e supplied to this function must be NULL if 839 * xcb_dri2_get_buffers_unchecked(). is used. 840 * Otherwise, it stores the error if any. 841 * 842 * The returned value must be freed by the caller using free(). 843 */ 844 xcb_dri2_get_buffers_reply_t* xcb_dri2_get_buffers_reply(xcb_connection_t* c /**< */ , 845 xcb_dri2_get_buffers_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 846 847 /** 848 * 849 * @param c The connection 850 * @return A cookie 851 * 852 * Delivers a request to the X server. 853 * 854 */ 855 xcb_dri2_copy_region_cookie_t xcb_dri2_copy_region(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , 856 uint region /**< */ , uint dest /**< */ , uint src /**< */ ); 857 858 /** 859 * 860 * @param c The connection 861 * @return A cookie 862 * 863 * Delivers a request to the X server. 864 * 865 * This form can be used only if the request will cause 866 * a reply to be generated. Any returned error will be 867 * placed in the event queue. 868 */ 869 xcb_dri2_copy_region_cookie_t xcb_dri2_copy_region_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , 870 uint region /**< */ , uint dest /**< */ , uint src /**< */ ); 871 872 /** 873 * Return the reply 874 * @param c The connection 875 * @param cookie The cookie 876 * @param e The xcb_generic_error_t supplied 877 * 878 * Returns the reply of the request asked by 879 * 880 * The parameter @p e supplied to this function must be NULL if 881 * xcb_dri2_copy_region_unchecked(). is used. 882 * Otherwise, it stores the error if any. 883 * 884 * The returned value must be freed by the caller using free(). 885 */ 886 xcb_dri2_copy_region_reply_t* xcb_dri2_copy_region_reply(xcb_connection_t* c /**< */ , 887 xcb_dri2_copy_region_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 888 889 int xcb_dri2_get_buffers_with_format_sizeof(const void* _buffer /**< */ , uint attachments_len /**< */ ); 890 891 /** 892 * 893 * @param c The connection 894 * @return A cookie 895 * 896 * Delivers a request to the X server. 897 * 898 */ 899 xcb_dri2_get_buffers_with_format_cookie_t xcb_dri2_get_buffers_with_format(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , 900 uint count /**< */ , uint attachments_len /**< */ , const xcb_dri2_attach_format_t* attachments /**< */ ); 901 902 /** 903 * 904 * @param c The connection 905 * @return A cookie 906 * 907 * Delivers a request to the X server. 908 * 909 * This form can be used only if the request will cause 910 * a reply to be generated. Any returned error will be 911 * placed in the event queue. 912 */ 913 xcb_dri2_get_buffers_with_format_cookie_t xcb_dri2_get_buffers_with_format_unchecked(xcb_connection_t* c /**< */ , 914 xcb_drawable_t drawable /**< */ , uint count /**< */ , uint attachments_len /**< */ , const xcb_dri2_attach_format_t* attachments /**< */ ); 915 916 xcb_dri2_dri2_buffer_t* xcb_dri2_get_buffers_with_format_buffers(const xcb_dri2_get_buffers_with_format_reply_t* R /**< */ ); 917 918 int xcb_dri2_get_buffers_with_format_buffers_length(const xcb_dri2_get_buffers_with_format_reply_t* R /**< */ ); 919 920 xcb_dri2_dri2_buffer_iterator_t xcb_dri2_get_buffers_with_format_buffers_iterator(const xcb_dri2_get_buffers_with_format_reply_t* R /**< */ ); 921 922 /** 923 * Return the reply 924 * @param c The connection 925 * @param cookie The cookie 926 * @param e The xcb_generic_error_t supplied 927 * 928 * Returns the reply of the request asked by 929 * 930 * The parameter @p e supplied to this function must be NULL if 931 * xcb_dri2_get_buffers_with_format_unchecked(). is used. 932 * Otherwise, it stores the error if any. 933 * 934 * The returned value must be freed by the caller using free(). 935 */ 936 xcb_dri2_get_buffers_with_format_reply_t* xcb_dri2_get_buffers_with_format_reply(xcb_connection_t* c /**< */ , 937 xcb_dri2_get_buffers_with_format_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 938 939 /** 940 * 941 * @param c The connection 942 * @return A cookie 943 * 944 * Delivers a request to the X server. 945 * 946 */ 947 xcb_dri2_swap_buffers_cookie_t xcb_dri2_swap_buffers(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint target_msc_hi /**< */ , 948 uint target_msc_lo /**< */ , uint divisor_hi /**< */ , uint divisor_lo /**< */ , uint remainder_hi /**< */ , uint remainder_lo /**< */ ); 949 950 /** 951 * 952 * @param c The connection 953 * @return A cookie 954 * 955 * Delivers a request to the X server. 956 * 957 * This form can be used only if the request will cause 958 * a reply to be generated. Any returned error will be 959 * placed in the event queue. 960 */ 961 xcb_dri2_swap_buffers_cookie_t xcb_dri2_swap_buffers_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , 962 uint target_msc_hi /**< */ , uint target_msc_lo /**< */ , uint divisor_hi /**< */ , uint divisor_lo /**< */ , 963 uint remainder_hi /**< */ , uint remainder_lo /**< */ ); 964 965 /** 966 * Return the reply 967 * @param c The connection 968 * @param cookie The cookie 969 * @param e The xcb_generic_error_t supplied 970 * 971 * Returns the reply of the request asked by 972 * 973 * The parameter @p e supplied to this function must be NULL if 974 * xcb_dri2_swap_buffers_unchecked(). is used. 975 * Otherwise, it stores the error if any. 976 * 977 * The returned value must be freed by the caller using free(). 978 */ 979 xcb_dri2_swap_buffers_reply_t* xcb_dri2_swap_buffers_reply(xcb_connection_t* c /**< */ , 980 xcb_dri2_swap_buffers_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ ); 981 982 /** 983 * 984 * @param c The connection 985 * @return A cookie 986 * 987 * Delivers a request to the X server. 988 * 989 */ 990 xcb_dri2_get_msc_cookie_t xcb_dri2_get_msc(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ); 991 992 /** 993 * 994 * @param c The connection 995 * @return A cookie 996 * 997 * Delivers a request to the X server. 998 * 999 * This form can be used only if the request will cause 1000 * a reply to be generated. Any returned error will be 1001 * placed in the event queue. 1002 */ 1003 xcb_dri2_get_msc_cookie_t xcb_dri2_get_msc_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ); 1004 1005 /** 1006 * Return the reply 1007 * @param c The connection 1008 * @param cookie The cookie 1009 * @param e The xcb_generic_error_t supplied 1010 * 1011 * Returns the reply of the request asked by 1012 * 1013 * The parameter @p e supplied to this function must be NULL if 1014 * xcb_dri2_get_msc_unchecked(). is used. 1015 * Otherwise, it stores the error if any. 1016 * 1017 * The returned value must be freed by the caller using free(). 1018 */ 1019 xcb_dri2_get_msc_reply_t* xcb_dri2_get_msc_reply(xcb_connection_t* c /**< */ , xcb_dri2_get_msc_cookie_t cookie /**< */ , 1020 xcb_generic_error_t** e /**< */ ); 1021 1022 /** 1023 * 1024 * @param c The connection 1025 * @return A cookie 1026 * 1027 * Delivers a request to the X server. 1028 * 1029 */ 1030 xcb_dri2_wait_msc_cookie_t xcb_dri2_wait_msc(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint target_msc_hi /**< */ , 1031 uint target_msc_lo /**< */ , uint divisor_hi /**< */ , uint divisor_lo /**< */ , uint remainder_hi /**< */ , uint remainder_lo /**< */ ); 1032 1033 /** 1034 * 1035 * @param c The connection 1036 * @return A cookie 1037 * 1038 * Delivers a request to the X server. 1039 * 1040 * This form can be used only if the request will cause 1041 * a reply to be generated. Any returned error will be 1042 * placed in the event queue. 1043 */ 1044 xcb_dri2_wait_msc_cookie_t xcb_dri2_wait_msc_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint target_msc_hi /**< */ , 1045 uint target_msc_lo /**< */ , uint divisor_hi /**< */ , uint divisor_lo /**< */ , uint remainder_hi /**< */ , uint remainder_lo /**< */ ); 1046 1047 /** 1048 * Return the reply 1049 * @param c The connection 1050 * @param cookie The cookie 1051 * @param e The xcb_generic_error_t supplied 1052 * 1053 * Returns the reply of the request asked by 1054 * 1055 * The parameter @p e supplied to this function must be NULL if 1056 * xcb_dri2_wait_msc_unchecked(). is used. 1057 * Otherwise, it stores the error if any. 1058 * 1059 * The returned value must be freed by the caller using free(). 1060 */ 1061 xcb_dri2_wait_msc_reply_t* xcb_dri2_wait_msc_reply(xcb_connection_t* c /**< */ , xcb_dri2_wait_msc_cookie_t cookie /**< */ , 1062 xcb_generic_error_t** e /**< */ ); 1063 1064 /** 1065 * 1066 * @param c The connection 1067 * @return A cookie 1068 * 1069 * Delivers a request to the X server. 1070 * 1071 */ 1072 xcb_dri2_wait_sbc_cookie_t xcb_dri2_wait_sbc(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , 1073 uint target_sbc_hi /**< */ , uint target_sbc_lo /**< */ ); 1074 1075 /** 1076 * 1077 * @param c The connection 1078 * @return A cookie 1079 * 1080 * Delivers a request to the X server. 1081 * 1082 * This form can be used only if the request will cause 1083 * a reply to be generated. Any returned error will be 1084 * placed in the event queue. 1085 */ 1086 xcb_dri2_wait_sbc_cookie_t xcb_dri2_wait_sbc_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , 1087 uint target_sbc_hi /**< */ , uint target_sbc_lo /**< */ ); 1088 1089 /** 1090 * Return the reply 1091 * @param c The connection 1092 * @param cookie The cookie 1093 * @param e The xcb_generic_error_t supplied 1094 * 1095 * Returns the reply of the request asked by 1096 * 1097 * The parameter @p e supplied to this function must be NULL if 1098 * xcb_dri2_wait_sbc_unchecked(). is used. 1099 * Otherwise, it stores the error if any. 1100 * 1101 * The returned value must be freed by the caller using free(). 1102 */ 1103 xcb_dri2_wait_sbc_reply_t* xcb_dri2_wait_sbc_reply(xcb_connection_t* c /**< */ , xcb_dri2_wait_sbc_cookie_t cookie /**< */ , 1104 xcb_generic_error_t** e /**< */ ); 1105 1106 /** 1107 * 1108 * @param c The connection 1109 * @return A cookie 1110 * 1111 * Delivers a request to the X server. 1112 * 1113 * This form can be used only if the request will not cause 1114 * a reply to be generated. Any returned error will be 1115 * saved for handling by xcb_request_check(). 1116 */ 1117 xcb_void_cookie_t xcb_dri2_swap_interval_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint interval /**< */ ); 1118 1119 /** 1120 * 1121 * @param c The connection 1122 * @return A cookie 1123 * 1124 * Delivers a request to the X server. 1125 * 1126 */ 1127 xcb_void_cookie_t xcb_dri2_swap_interval(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint interval /**< */ ); 1128 1129 /** 1130 * 1131 * @param c The connection 1132 * @return A cookie 1133 * 1134 * Delivers a request to the X server. 1135 * 1136 */ 1137 xcb_dri2_get_param_cookie_t xcb_dri2_get_param(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint param /**< */ ); 1138 1139 /** 1140 * 1141 * @param c The connection 1142 * @return A cookie 1143 * 1144 * Delivers a request to the X server. 1145 * 1146 * This form can be used only if the request will cause 1147 * a reply to be generated. Any returned error will be 1148 * placed in the event queue. 1149 */ 1150 xcb_dri2_get_param_cookie_t xcb_dri2_get_param_unchecked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , uint param /**< */ ); 1151 1152 /** 1153 * Return the reply 1154 * @param c The connection 1155 * @param cookie The cookie 1156 * @param e The xcb_generic_error_t supplied 1157 * 1158 * Returns the reply of the request asked by 1159 * 1160 * The parameter @p e supplied to this function must be NULL if 1161 * xcb_dri2_get_param_unchecked(). is used. 1162 * Otherwise, it stores the error if any. 1163 * 1164 * The returned value must be freed by the caller using free(). 1165 */ 1166 xcb_dri2_get_param_reply_t* xcb_dri2_get_param_reply(xcb_connection_t* c /**< */ , xcb_dri2_get_param_cookie_t cookie /**< */ , 1167 xcb_generic_error_t** e /**< */ ); 1168 1169 /** 1170 * @} 1171 */