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

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
comparison
equal deleted inserted replaced
67:0e9998148a16 69:33d812a61356
1 /*
2 * This file generated automatically from dri3.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6 /**
7 * @defgroup XCB_DRI3_API XCB DRI3 API
8 * @brief DRI3 XCB Protocol Implementation.
9 * @{
10 **/
11
12 #ifndef __DRI3_H
13 #define __DRI3_H
14
15 #include "xcb.h"
16 #include "xproto.h"
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21
22 #define XCB_DRI3_MAJOR_VERSION 1
23 #define XCB_DRI3_MINOR_VERSION 4
24
25 extern xcb_extension_t xcb_dri3_id;
26
27 typedef uint32_t xcb_dri3_syncobj_t;
28
29 /**
30 * @brief xcb_dri3_syncobj_iterator_t
31 **/
32 typedef struct xcb_dri3_syncobj_iterator_t {
33 xcb_dri3_syncobj_t *data;
34 int rem;
35 int index;
36 } xcb_dri3_syncobj_iterator_t;
37
38 /**
39 * @brief xcb_dri3_query_version_cookie_t
40 **/
41 typedef struct xcb_dri3_query_version_cookie_t {
42 unsigned int sequence;
43 } xcb_dri3_query_version_cookie_t;
44
45 /** Opcode for xcb_dri3_query_version. */
46 #define XCB_DRI3_QUERY_VERSION 0
47
48 /**
49 * @brief xcb_dri3_query_version_request_t
50 **/
51 typedef struct xcb_dri3_query_version_request_t {
52 uint8_t major_opcode;
53 uint8_t minor_opcode;
54 uint16_t length;
55 uint32_t major_version;
56 uint32_t minor_version;
57 } xcb_dri3_query_version_request_t;
58
59 /**
60 * @brief xcb_dri3_query_version_reply_t
61 **/
62 typedef struct xcb_dri3_query_version_reply_t {
63 uint8_t response_type;
64 uint8_t pad0;
65 uint16_t sequence;
66 uint32_t length;
67 uint32_t major_version;
68 uint32_t minor_version;
69 } xcb_dri3_query_version_reply_t;
70
71 /**
72 * @brief xcb_dri3_open_cookie_t
73 **/
74 typedef struct xcb_dri3_open_cookie_t {
75 unsigned int sequence;
76 } xcb_dri3_open_cookie_t;
77
78 /** Opcode for xcb_dri3_open. */
79 #define XCB_DRI3_OPEN 1
80
81 /**
82 * @brief xcb_dri3_open_request_t
83 **/
84 typedef struct xcb_dri3_open_request_t {
85 uint8_t major_opcode;
86 uint8_t minor_opcode;
87 uint16_t length;
88 xcb_drawable_t drawable;
89 uint32_t provider;
90 } xcb_dri3_open_request_t;
91
92 /**
93 * @brief xcb_dri3_open_reply_t
94 **/
95 typedef struct xcb_dri3_open_reply_t {
96 uint8_t response_type;
97 uint8_t nfd;
98 uint16_t sequence;
99 uint32_t length;
100 uint8_t pad0[24];
101 } xcb_dri3_open_reply_t;
102
103 /** Opcode for xcb_dri3_pixmap_from_buffer. */
104 #define XCB_DRI3_PIXMAP_FROM_BUFFER 2
105
106 /**
107 * @brief xcb_dri3_pixmap_from_buffer_request_t
108 **/
109 typedef struct xcb_dri3_pixmap_from_buffer_request_t {
110 uint8_t major_opcode;
111 uint8_t minor_opcode;
112 uint16_t length;
113 xcb_pixmap_t pixmap;
114 xcb_drawable_t drawable;
115 uint32_t size;
116 uint16_t width;
117 uint16_t height;
118 uint16_t stride;
119 uint8_t depth;
120 uint8_t bpp;
121 } xcb_dri3_pixmap_from_buffer_request_t;
122
123 /**
124 * @brief xcb_dri3_buffer_from_pixmap_cookie_t
125 **/
126 typedef struct xcb_dri3_buffer_from_pixmap_cookie_t {
127 unsigned int sequence;
128 } xcb_dri3_buffer_from_pixmap_cookie_t;
129
130 /** Opcode for xcb_dri3_buffer_from_pixmap. */
131 #define XCB_DRI3_BUFFER_FROM_PIXMAP 3
132
133 /**
134 * @brief xcb_dri3_buffer_from_pixmap_request_t
135 **/
136 typedef struct xcb_dri3_buffer_from_pixmap_request_t {
137 uint8_t major_opcode;
138 uint8_t minor_opcode;
139 uint16_t length;
140 xcb_pixmap_t pixmap;
141 } xcb_dri3_buffer_from_pixmap_request_t;
142
143 /**
144 * @brief xcb_dri3_buffer_from_pixmap_reply_t
145 **/
146 typedef struct xcb_dri3_buffer_from_pixmap_reply_t {
147 uint8_t response_type;
148 uint8_t nfd;
149 uint16_t sequence;
150 uint32_t length;
151 uint32_t size;
152 uint16_t width;
153 uint16_t height;
154 uint16_t stride;
155 uint8_t depth;
156 uint8_t bpp;
157 uint8_t pad0[12];
158 } xcb_dri3_buffer_from_pixmap_reply_t;
159
160 /** Opcode for xcb_dri3_fence_from_fd. */
161 #define XCB_DRI3_FENCE_FROM_FD 4
162
163 /**
164 * @brief xcb_dri3_fence_from_fd_request_t
165 **/
166 typedef struct xcb_dri3_fence_from_fd_request_t {
167 uint8_t major_opcode;
168 uint8_t minor_opcode;
169 uint16_t length;
170 xcb_drawable_t drawable;
171 uint32_t fence;
172 uint8_t initially_triggered;
173 uint8_t pad0[3];
174 } xcb_dri3_fence_from_fd_request_t;
175
176 /**
177 * @brief xcb_dri3_fd_from_fence_cookie_t
178 **/
179 typedef struct xcb_dri3_fd_from_fence_cookie_t {
180 unsigned int sequence;
181 } xcb_dri3_fd_from_fence_cookie_t;
182
183 /** Opcode for xcb_dri3_fd_from_fence. */
184 #define XCB_DRI3_FD_FROM_FENCE 5
185
186 /**
187 * @brief xcb_dri3_fd_from_fence_request_t
188 **/
189 typedef struct xcb_dri3_fd_from_fence_request_t {
190 uint8_t major_opcode;
191 uint8_t minor_opcode;
192 uint16_t length;
193 xcb_drawable_t drawable;
194 uint32_t fence;
195 } xcb_dri3_fd_from_fence_request_t;
196
197 /**
198 * @brief xcb_dri3_fd_from_fence_reply_t
199 **/
200 typedef struct xcb_dri3_fd_from_fence_reply_t {
201 uint8_t response_type;
202 uint8_t nfd;
203 uint16_t sequence;
204 uint32_t length;
205 uint8_t pad0[24];
206 } xcb_dri3_fd_from_fence_reply_t;
207
208 /**
209 * @brief xcb_dri3_get_supported_modifiers_cookie_t
210 **/
211 typedef struct xcb_dri3_get_supported_modifiers_cookie_t {
212 unsigned int sequence;
213 } xcb_dri3_get_supported_modifiers_cookie_t;
214
215 /** Opcode for xcb_dri3_get_supported_modifiers. */
216 #define XCB_DRI3_GET_SUPPORTED_MODIFIERS 6
217
218 /**
219 * @brief xcb_dri3_get_supported_modifiers_request_t
220 **/
221 typedef struct xcb_dri3_get_supported_modifiers_request_t {
222 uint8_t major_opcode;
223 uint8_t minor_opcode;
224 uint16_t length;
225 uint32_t window;
226 uint8_t depth;
227 uint8_t bpp;
228 uint8_t pad0[2];
229 } xcb_dri3_get_supported_modifiers_request_t;
230
231 /**
232 * @brief xcb_dri3_get_supported_modifiers_reply_t
233 **/
234 typedef struct xcb_dri3_get_supported_modifiers_reply_t {
235 uint8_t response_type;
236 uint8_t pad0;
237 uint16_t sequence;
238 uint32_t length;
239 uint32_t num_window_modifiers;
240 uint32_t num_screen_modifiers;
241 uint8_t pad1[16];
242 } xcb_dri3_get_supported_modifiers_reply_t;
243
244 /** Opcode for xcb_dri3_pixmap_from_buffers. */
245 #define XCB_DRI3_PIXMAP_FROM_BUFFERS 7
246
247 /**
248 * @brief xcb_dri3_pixmap_from_buffers_request_t
249 **/
250 typedef struct xcb_dri3_pixmap_from_buffers_request_t {
251 uint8_t major_opcode;
252 uint8_t minor_opcode;
253 uint16_t length;
254 xcb_pixmap_t pixmap;
255 xcb_window_t window;
256 uint8_t num_buffers;
257 uint8_t pad0[3];
258 uint16_t width;
259 uint16_t height;
260 uint32_t stride0;
261 uint32_t offset0;
262 uint32_t stride1;
263 uint32_t offset1;
264 uint32_t stride2;
265 uint32_t offset2;
266 uint32_t stride3;
267 uint32_t offset3;
268 uint8_t depth;
269 uint8_t bpp;
270 uint8_t pad1[2];
271 uint64_t modifier;
272 } xcb_dri3_pixmap_from_buffers_request_t;
273
274 /**
275 * @brief xcb_dri3_buffers_from_pixmap_cookie_t
276 **/
277 typedef struct xcb_dri3_buffers_from_pixmap_cookie_t {
278 unsigned int sequence;
279 } xcb_dri3_buffers_from_pixmap_cookie_t;
280
281 /** Opcode for xcb_dri3_buffers_from_pixmap. */
282 #define XCB_DRI3_BUFFERS_FROM_PIXMAP 8
283
284 /**
285 * @brief xcb_dri3_buffers_from_pixmap_request_t
286 **/
287 typedef struct xcb_dri3_buffers_from_pixmap_request_t {
288 uint8_t major_opcode;
289 uint8_t minor_opcode;
290 uint16_t length;
291 xcb_pixmap_t pixmap;
292 } xcb_dri3_buffers_from_pixmap_request_t;
293
294 /**
295 * @brief xcb_dri3_buffers_from_pixmap_reply_t
296 **/
297 typedef struct xcb_dri3_buffers_from_pixmap_reply_t {
298 uint8_t response_type;
299 uint8_t nfd;
300 uint16_t sequence;
301 uint32_t length;
302 uint16_t width;
303 uint16_t height;
304 uint8_t pad0[4];
305 uint64_t modifier;
306 uint8_t depth;
307 uint8_t bpp;
308 uint8_t pad1[6];
309 } xcb_dri3_buffers_from_pixmap_reply_t;
310
311 /** Opcode for xcb_dri3_set_drm_device_in_use. */
312 #define XCB_DRI3_SET_DRM_DEVICE_IN_USE 9
313
314 /**
315 * @brief xcb_dri3_set_drm_device_in_use_request_t
316 **/
317 typedef struct xcb_dri3_set_drm_device_in_use_request_t {
318 uint8_t major_opcode;
319 uint8_t minor_opcode;
320 uint16_t length;
321 xcb_window_t window;
322 uint32_t drmMajor;
323 uint32_t drmMinor;
324 } xcb_dri3_set_drm_device_in_use_request_t;
325
326 /** Opcode for xcb_dri3_import_syncobj. */
327 #define XCB_DRI3_IMPORT_SYNCOBJ 10
328
329 /**
330 * @brief xcb_dri3_import_syncobj_request_t
331 **/
332 typedef struct xcb_dri3_import_syncobj_request_t {
333 uint8_t major_opcode;
334 uint8_t minor_opcode;
335 uint16_t length;
336 xcb_dri3_syncobj_t syncobj;
337 xcb_drawable_t drawable;
338 } xcb_dri3_import_syncobj_request_t;
339
340 /** Opcode for xcb_dri3_free_syncobj. */
341 #define XCB_DRI3_FREE_SYNCOBJ 11
342
343 /**
344 * @brief xcb_dri3_free_syncobj_request_t
345 **/
346 typedef struct xcb_dri3_free_syncobj_request_t {
347 uint8_t major_opcode;
348 uint8_t minor_opcode;
349 uint16_t length;
350 xcb_dri3_syncobj_t syncobj;
351 } xcb_dri3_free_syncobj_request_t;
352
353 /**
354 * Get the next element of the iterator
355 * @param i Pointer to a xcb_dri3_syncobj_iterator_t
356 *
357 * Get the next element in the iterator. The member rem is
358 * decreased by one. The member data points to the next
359 * element. The member index is increased by sizeof(xcb_dri3_syncobj_t)
360 */
361 void
362 xcb_dri3_syncobj_next (xcb_dri3_syncobj_iterator_t *i);
363
364 /**
365 * Return the iterator pointing to the last element
366 * @param i An xcb_dri3_syncobj_iterator_t
367 * @return The iterator pointing to the last element
368 *
369 * Set the current element in the iterator to the last element.
370 * The member rem is set to 0. The member data points to the
371 * last element.
372 */
373 xcb_generic_iterator_t
374 xcb_dri3_syncobj_end (xcb_dri3_syncobj_iterator_t i);
375
376 /**
377 *
378 * @param c The connection
379 * @return A cookie
380 *
381 * Delivers a request to the X server.
382 *
383 */
384 xcb_dri3_query_version_cookie_t
385 xcb_dri3_query_version (xcb_connection_t *c,
386 uint32_t major_version,
387 uint32_t minor_version);
388
389 /**
390 *
391 * @param c The connection
392 * @return A cookie
393 *
394 * Delivers a request to the X server.
395 *
396 * This form can be used only if the request will cause
397 * a reply to be generated. Any returned error will be
398 * placed in the event queue.
399 */
400 xcb_dri3_query_version_cookie_t
401 xcb_dri3_query_version_unchecked (xcb_connection_t *c,
402 uint32_t major_version,
403 uint32_t minor_version);
404
405 /**
406 * Return the reply
407 * @param c The connection
408 * @param cookie The cookie
409 * @param e The xcb_generic_error_t supplied
410 *
411 * Returns the reply of the request asked by
412 *
413 * The parameter @p e supplied to this function must be NULL if
414 * xcb_dri3_query_version_unchecked(). is used.
415 * Otherwise, it stores the error if any.
416 *
417 * The returned value must be freed by the caller using free().
418 */
419 xcb_dri3_query_version_reply_t *
420 xcb_dri3_query_version_reply (xcb_connection_t *c,
421 xcb_dri3_query_version_cookie_t cookie /**< */,
422 xcb_generic_error_t **e);
423
424 /**
425 *
426 * @param c The connection
427 * @return A cookie
428 *
429 * Delivers a request to the X server.
430 *
431 */
432 xcb_dri3_open_cookie_t
433 xcb_dri3_open (xcb_connection_t *c,
434 xcb_drawable_t drawable,
435 uint32_t provider);
436
437 /**
438 *
439 * @param c The connection
440 * @return A cookie
441 *
442 * Delivers a request to the X server.
443 *
444 * This form can be used only if the request will cause
445 * a reply to be generated. Any returned error will be
446 * placed in the event queue.
447 */
448 xcb_dri3_open_cookie_t
449 xcb_dri3_open_unchecked (xcb_connection_t *c,
450 xcb_drawable_t drawable,
451 uint32_t provider);
452
453 /**
454 * Return the reply
455 * @param c The connection
456 * @param cookie The cookie
457 * @param e The xcb_generic_error_t supplied
458 *
459 * Returns the reply of the request asked by
460 *
461 * The parameter @p e supplied to this function must be NULL if
462 * xcb_dri3_open_unchecked(). is used.
463 * Otherwise, it stores the error if any.
464 *
465 * The returned value must be freed by the caller using free().
466 */
467 xcb_dri3_open_reply_t *
468 xcb_dri3_open_reply (xcb_connection_t *c,
469 xcb_dri3_open_cookie_t cookie /**< */,
470 xcb_generic_error_t **e);
471
472 /**
473 * Return the reply fds
474 * @param c The connection
475 * @param reply The reply
476 *
477 * Returns a pointer to the array of reply fds of the reply.
478 *
479 * The returned value points into the reply and must not be free().
480 * The fds are not managed by xcb. You must close() them before freeing the reply.
481 */
482 int *
483 xcb_dri3_open_reply_fds (xcb_connection_t *c /**< */,
484 xcb_dri3_open_reply_t *reply);
485
486 /**
487 *
488 * @param c The connection
489 * @return A cookie
490 *
491 * Delivers a request to the X server.
492 *
493 * This form can be used only if the request will not cause
494 * a reply to be generated. Any returned error will be
495 * saved for handling by xcb_request_check().
496 */
497 xcb_void_cookie_t
498 xcb_dri3_pixmap_from_buffer_checked (xcb_connection_t *c,
499 xcb_pixmap_t pixmap,
500 xcb_drawable_t drawable,
501 uint32_t size,
502 uint16_t width,
503 uint16_t height,
504 uint16_t stride,
505 uint8_t depth,
506 uint8_t bpp,
507 int32_t pixmap_fd);
508
509 /**
510 *
511 * @param c The connection
512 * @return A cookie
513 *
514 * Delivers a request to the X server.
515 *
516 */
517 xcb_void_cookie_t
518 xcb_dri3_pixmap_from_buffer (xcb_connection_t *c,
519 xcb_pixmap_t pixmap,
520 xcb_drawable_t drawable,
521 uint32_t size,
522 uint16_t width,
523 uint16_t height,
524 uint16_t stride,
525 uint8_t depth,
526 uint8_t bpp,
527 int32_t pixmap_fd);
528
529 /**
530 *
531 * @param c The connection
532 * @return A cookie
533 *
534 * Delivers a request to the X server.
535 *
536 */
537 xcb_dri3_buffer_from_pixmap_cookie_t
538 xcb_dri3_buffer_from_pixmap (xcb_connection_t *c,
539 xcb_pixmap_t pixmap);
540
541 /**
542 *
543 * @param c The connection
544 * @return A cookie
545 *
546 * Delivers a request to the X server.
547 *
548 * This form can be used only if the request will cause
549 * a reply to be generated. Any returned error will be
550 * placed in the event queue.
551 */
552 xcb_dri3_buffer_from_pixmap_cookie_t
553 xcb_dri3_buffer_from_pixmap_unchecked (xcb_connection_t *c,
554 xcb_pixmap_t pixmap);
555
556 /**
557 * Return the reply
558 * @param c The connection
559 * @param cookie The cookie
560 * @param e The xcb_generic_error_t supplied
561 *
562 * Returns the reply of the request asked by
563 *
564 * The parameter @p e supplied to this function must be NULL if
565 * xcb_dri3_buffer_from_pixmap_unchecked(). is used.
566 * Otherwise, it stores the error if any.
567 *
568 * The returned value must be freed by the caller using free().
569 */
570 xcb_dri3_buffer_from_pixmap_reply_t *
571 xcb_dri3_buffer_from_pixmap_reply (xcb_connection_t *c,
572 xcb_dri3_buffer_from_pixmap_cookie_t cookie /**< */,
573 xcb_generic_error_t **e);
574
575 /**
576 * Return the reply fds
577 * @param c The connection
578 * @param reply The reply
579 *
580 * Returns a pointer to the array of reply fds of the reply.
581 *
582 * The returned value points into the reply and must not be free().
583 * The fds are not managed by xcb. You must close() them before freeing the reply.
584 */
585 int *
586 xcb_dri3_buffer_from_pixmap_reply_fds (xcb_connection_t *c /**< */,
587 xcb_dri3_buffer_from_pixmap_reply_t *reply);
588
589 /**
590 *
591 * @param c The connection
592 * @return A cookie
593 *
594 * Delivers a request to the X server.
595 *
596 * This form can be used only if the request will not cause
597 * a reply to be generated. Any returned error will be
598 * saved for handling by xcb_request_check().
599 */
600 xcb_void_cookie_t
601 xcb_dri3_fence_from_fd_checked (xcb_connection_t *c,
602 xcb_drawable_t drawable,
603 uint32_t fence,
604 uint8_t initially_triggered,
605 int32_t fence_fd);
606
607 /**
608 *
609 * @param c The connection
610 * @return A cookie
611 *
612 * Delivers a request to the X server.
613 *
614 */
615 xcb_void_cookie_t
616 xcb_dri3_fence_from_fd (xcb_connection_t *c,
617 xcb_drawable_t drawable,
618 uint32_t fence,
619 uint8_t initially_triggered,
620 int32_t fence_fd);
621
622 /**
623 *
624 * @param c The connection
625 * @return A cookie
626 *
627 * Delivers a request to the X server.
628 *
629 */
630 xcb_dri3_fd_from_fence_cookie_t
631 xcb_dri3_fd_from_fence (xcb_connection_t *c,
632 xcb_drawable_t drawable,
633 uint32_t fence);
634
635 /**
636 *
637 * @param c The connection
638 * @return A cookie
639 *
640 * Delivers a request to the X server.
641 *
642 * This form can be used only if the request will cause
643 * a reply to be generated. Any returned error will be
644 * placed in the event queue.
645 */
646 xcb_dri3_fd_from_fence_cookie_t
647 xcb_dri3_fd_from_fence_unchecked (xcb_connection_t *c,
648 xcb_drawable_t drawable,
649 uint32_t fence);
650
651 /**
652 * Return the reply
653 * @param c The connection
654 * @param cookie The cookie
655 * @param e The xcb_generic_error_t supplied
656 *
657 * Returns the reply of the request asked by
658 *
659 * The parameter @p e supplied to this function must be NULL if
660 * xcb_dri3_fd_from_fence_unchecked(). is used.
661 * Otherwise, it stores the error if any.
662 *
663 * The returned value must be freed by the caller using free().
664 */
665 xcb_dri3_fd_from_fence_reply_t *
666 xcb_dri3_fd_from_fence_reply (xcb_connection_t *c,
667 xcb_dri3_fd_from_fence_cookie_t cookie /**< */,
668 xcb_generic_error_t **e);
669
670 /**
671 * Return the reply fds
672 * @param c The connection
673 * @param reply The reply
674 *
675 * Returns a pointer to the array of reply fds of the reply.
676 *
677 * The returned value points into the reply and must not be free().
678 * The fds are not managed by xcb. You must close() them before freeing the reply.
679 */
680 int *
681 xcb_dri3_fd_from_fence_reply_fds (xcb_connection_t *c /**< */,
682 xcb_dri3_fd_from_fence_reply_t *reply);
683
684 int
685 xcb_dri3_get_supported_modifiers_sizeof (const void *_buffer);
686
687 /**
688 *
689 * @param c The connection
690 * @return A cookie
691 *
692 * Delivers a request to the X server.
693 *
694 */
695 xcb_dri3_get_supported_modifiers_cookie_t
696 xcb_dri3_get_supported_modifiers (xcb_connection_t *c,
697 uint32_t window,
698 uint8_t depth,
699 uint8_t bpp);
700
701 /**
702 *
703 * @param c The connection
704 * @return A cookie
705 *
706 * Delivers a request to the X server.
707 *
708 * This form can be used only if the request will cause
709 * a reply to be generated. Any returned error will be
710 * placed in the event queue.
711 */
712 xcb_dri3_get_supported_modifiers_cookie_t
713 xcb_dri3_get_supported_modifiers_unchecked (xcb_connection_t *c,
714 uint32_t window,
715 uint8_t depth,
716 uint8_t bpp);
717
718 uint64_t *
719 xcb_dri3_get_supported_modifiers_window_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R);
720
721 int
722 xcb_dri3_get_supported_modifiers_window_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R);
723
724 xcb_generic_iterator_t
725 xcb_dri3_get_supported_modifiers_window_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R);
726
727 uint64_t *
728 xcb_dri3_get_supported_modifiers_screen_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R);
729
730 int
731 xcb_dri3_get_supported_modifiers_screen_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R);
732
733 xcb_generic_iterator_t
734 xcb_dri3_get_supported_modifiers_screen_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R);
735
736 /**
737 * Return the reply
738 * @param c The connection
739 * @param cookie The cookie
740 * @param e The xcb_generic_error_t supplied
741 *
742 * Returns the reply of the request asked by
743 *
744 * The parameter @p e supplied to this function must be NULL if
745 * xcb_dri3_get_supported_modifiers_unchecked(). is used.
746 * Otherwise, it stores the error if any.
747 *
748 * The returned value must be freed by the caller using free().
749 */
750 xcb_dri3_get_supported_modifiers_reply_t *
751 xcb_dri3_get_supported_modifiers_reply (xcb_connection_t *c,
752 xcb_dri3_get_supported_modifiers_cookie_t cookie /**< */,
753 xcb_generic_error_t **e);
754
755 /**
756 *
757 * @param c The connection
758 * @return A cookie
759 *
760 * Delivers a request to the X server.
761 *
762 * This form can be used only if the request will not cause
763 * a reply to be generated. Any returned error will be
764 * saved for handling by xcb_request_check().
765 */
766 xcb_void_cookie_t
767 xcb_dri3_pixmap_from_buffers_checked (xcb_connection_t *c,
768 xcb_pixmap_t pixmap,
769 xcb_window_t window,
770 uint8_t num_buffers,
771 uint16_t width,
772 uint16_t height,
773 uint32_t stride0,
774 uint32_t offset0,
775 uint32_t stride1,
776 uint32_t offset1,
777 uint32_t stride2,
778 uint32_t offset2,
779 uint32_t stride3,
780 uint32_t offset3,
781 uint8_t depth,
782 uint8_t bpp,
783 uint64_t modifier,
784 const int32_t *buffers);
785
786 /**
787 *
788 * @param c The connection
789 * @return A cookie
790 *
791 * Delivers a request to the X server.
792 *
793 */
794 xcb_void_cookie_t
795 xcb_dri3_pixmap_from_buffers (xcb_connection_t *c,
796 xcb_pixmap_t pixmap,
797 xcb_window_t window,
798 uint8_t num_buffers,
799 uint16_t width,
800 uint16_t height,
801 uint32_t stride0,
802 uint32_t offset0,
803 uint32_t stride1,
804 uint32_t offset1,
805 uint32_t stride2,
806 uint32_t offset2,
807 uint32_t stride3,
808 uint32_t offset3,
809 uint8_t depth,
810 uint8_t bpp,
811 uint64_t modifier,
812 const int32_t *buffers);
813
814 int
815 xcb_dri3_buffers_from_pixmap_sizeof (const void *_buffer,
816 int32_t buffers);
817
818 /**
819 *
820 * @param c The connection
821 * @return A cookie
822 *
823 * Delivers a request to the X server.
824 *
825 */
826 xcb_dri3_buffers_from_pixmap_cookie_t
827 xcb_dri3_buffers_from_pixmap (xcb_connection_t *c,
828 xcb_pixmap_t pixmap);
829
830 /**
831 *
832 * @param c The connection
833 * @return A cookie
834 *
835 * Delivers a request to the X server.
836 *
837 * This form can be used only if the request will cause
838 * a reply to be generated. Any returned error will be
839 * placed in the event queue.
840 */
841 xcb_dri3_buffers_from_pixmap_cookie_t
842 xcb_dri3_buffers_from_pixmap_unchecked (xcb_connection_t *c,
843 xcb_pixmap_t pixmap);
844
845 uint32_t *
846 xcb_dri3_buffers_from_pixmap_strides (const xcb_dri3_buffers_from_pixmap_reply_t *R);
847
848 int
849 xcb_dri3_buffers_from_pixmap_strides_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
850
851 xcb_generic_iterator_t
852 xcb_dri3_buffers_from_pixmap_strides_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
853
854 uint32_t *
855 xcb_dri3_buffers_from_pixmap_offsets (const xcb_dri3_buffers_from_pixmap_reply_t *R);
856
857 int
858 xcb_dri3_buffers_from_pixmap_offsets_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
859
860 xcb_generic_iterator_t
861 xcb_dri3_buffers_from_pixmap_offsets_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
862
863 int32_t *
864 xcb_dri3_buffers_from_pixmap_buffers (const xcb_dri3_buffers_from_pixmap_reply_t *R);
865
866 int
867 xcb_dri3_buffers_from_pixmap_buffers_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
868
869 xcb_generic_iterator_t
870 xcb_dri3_buffers_from_pixmap_buffers_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
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_dri3_buffers_from_pixmap_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_dri3_buffers_from_pixmap_reply_t *
887 xcb_dri3_buffers_from_pixmap_reply (xcb_connection_t *c,
888 xcb_dri3_buffers_from_pixmap_cookie_t cookie /**< */,
889 xcb_generic_error_t **e);
890
891 /**
892 * Return the reply fds
893 * @param c The connection
894 * @param reply The reply
895 *
896 * Returns a pointer to the array of reply fds of the reply.
897 *
898 * The returned value points into the reply and must not be free().
899 * The fds are not managed by xcb. You must close() them before freeing the reply.
900 */
901 int *
902 xcb_dri3_buffers_from_pixmap_reply_fds (xcb_connection_t *c /**< */,
903 xcb_dri3_buffers_from_pixmap_reply_t *reply);
904
905 /**
906 *
907 * @param c The connection
908 * @return A cookie
909 *
910 * Delivers a request to the X server.
911 *
912 * This form can be used only if the request will not cause
913 * a reply to be generated. Any returned error will be
914 * saved for handling by xcb_request_check().
915 */
916 xcb_void_cookie_t
917 xcb_dri3_set_drm_device_in_use_checked (xcb_connection_t *c,
918 xcb_window_t window,
919 uint32_t drmMajor,
920 uint32_t drmMinor);
921
922 /**
923 *
924 * @param c The connection
925 * @return A cookie
926 *
927 * Delivers a request to the X server.
928 *
929 */
930 xcb_void_cookie_t
931 xcb_dri3_set_drm_device_in_use (xcb_connection_t *c,
932 xcb_window_t window,
933 uint32_t drmMajor,
934 uint32_t drmMinor);
935
936 /**
937 *
938 * @param c The connection
939 * @return A cookie
940 *
941 * Delivers a request to the X server.
942 *
943 * This form can be used only if the request will not cause
944 * a reply to be generated. Any returned error will be
945 * saved for handling by xcb_request_check().
946 */
947 xcb_void_cookie_t
948 xcb_dri3_import_syncobj_checked (xcb_connection_t *c,
949 xcb_dri3_syncobj_t syncobj,
950 xcb_drawable_t drawable,
951 int32_t syncobj_fd);
952
953 /**
954 *
955 * @param c The connection
956 * @return A cookie
957 *
958 * Delivers a request to the X server.
959 *
960 */
961 xcb_void_cookie_t
962 xcb_dri3_import_syncobj (xcb_connection_t *c,
963 xcb_dri3_syncobj_t syncobj,
964 xcb_drawable_t drawable,
965 int32_t syncobj_fd);
966
967 /**
968 *
969 * @param c The connection
970 * @return A cookie
971 *
972 * Delivers a request to the X server.
973 *
974 * This form can be used only if the request will not cause
975 * a reply to be generated. Any returned error will be
976 * saved for handling by xcb_request_check().
977 */
978 xcb_void_cookie_t
979 xcb_dri3_free_syncobj_checked (xcb_connection_t *c,
980 xcb_dri3_syncobj_t syncobj);
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_void_cookie_t
991 xcb_dri3_free_syncobj (xcb_connection_t *c,
992 xcb_dri3_syncobj_t syncobj);
993
994
995 #ifdef __cplusplus
996 }
997 #endif
998
999 #endif
1000
1001 /**
1002 * @}
1003 */