annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/xcb/dri2.h @ 69:33d812a61356

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