Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:37

0001 /*
0002  * This file generated automatically from dri3.xml by c_client.py.
0003  * Edit at your peril.
0004  */
0005 
0006 /**
0007  * @defgroup XCB_DRI3_API XCB DRI3 API
0008  * @brief DRI3 XCB Protocol Implementation.
0009  * @{
0010  **/
0011 
0012 #ifndef __DRI3_H
0013 #define __DRI3_H
0014 
0015 #include "xcb.h"
0016 #include "xproto.h"
0017 
0018 #ifdef __cplusplus
0019 extern "C" {
0020 #endif
0021 
0022 #define XCB_DRI3_MAJOR_VERSION 1
0023 #define XCB_DRI3_MINOR_VERSION 4
0024 
0025 extern xcb_extension_t xcb_dri3_id;
0026 
0027 typedef uint32_t xcb_dri3_syncobj_t;
0028 
0029 /**
0030  * @brief xcb_dri3_syncobj_iterator_t
0031  **/
0032 typedef struct xcb_dri3_syncobj_iterator_t {
0033     xcb_dri3_syncobj_t *data;
0034     int                 rem;
0035     int                 index;
0036 } xcb_dri3_syncobj_iterator_t;
0037 
0038 /**
0039  * @brief xcb_dri3_query_version_cookie_t
0040  **/
0041 typedef struct xcb_dri3_query_version_cookie_t {
0042     unsigned int sequence;
0043 } xcb_dri3_query_version_cookie_t;
0044 
0045 /** Opcode for xcb_dri3_query_version. */
0046 #define XCB_DRI3_QUERY_VERSION 0
0047 
0048 /**
0049  * @brief xcb_dri3_query_version_request_t
0050  **/
0051 typedef struct xcb_dri3_query_version_request_t {
0052     uint8_t  major_opcode;
0053     uint8_t  minor_opcode;
0054     uint16_t length;
0055     uint32_t major_version;
0056     uint32_t minor_version;
0057 } xcb_dri3_query_version_request_t;
0058 
0059 /**
0060  * @brief xcb_dri3_query_version_reply_t
0061  **/
0062 typedef struct xcb_dri3_query_version_reply_t {
0063     uint8_t  response_type;
0064     uint8_t  pad0;
0065     uint16_t sequence;
0066     uint32_t length;
0067     uint32_t major_version;
0068     uint32_t minor_version;
0069 } xcb_dri3_query_version_reply_t;
0070 
0071 /**
0072  * @brief xcb_dri3_open_cookie_t
0073  **/
0074 typedef struct xcb_dri3_open_cookie_t {
0075     unsigned int sequence;
0076 } xcb_dri3_open_cookie_t;
0077 
0078 /** Opcode for xcb_dri3_open. */
0079 #define XCB_DRI3_OPEN 1
0080 
0081 /**
0082  * @brief xcb_dri3_open_request_t
0083  **/
0084 typedef struct xcb_dri3_open_request_t {
0085     uint8_t        major_opcode;
0086     uint8_t        minor_opcode;
0087     uint16_t       length;
0088     xcb_drawable_t drawable;
0089     uint32_t       provider;
0090 } xcb_dri3_open_request_t;
0091 
0092 /**
0093  * @brief xcb_dri3_open_reply_t
0094  **/
0095 typedef struct xcb_dri3_open_reply_t {
0096     uint8_t  response_type;
0097     uint8_t  nfd;
0098     uint16_t sequence;
0099     uint32_t length;
0100     uint8_t  pad0[24];
0101 } xcb_dri3_open_reply_t;
0102 
0103 /** Opcode for xcb_dri3_pixmap_from_buffer. */
0104 #define XCB_DRI3_PIXMAP_FROM_BUFFER 2
0105 
0106 /**
0107  * @brief xcb_dri3_pixmap_from_buffer_request_t
0108  **/
0109 typedef struct xcb_dri3_pixmap_from_buffer_request_t {
0110     uint8_t        major_opcode;
0111     uint8_t        minor_opcode;
0112     uint16_t       length;
0113     xcb_pixmap_t   pixmap;
0114     xcb_drawable_t drawable;
0115     uint32_t       size;
0116     uint16_t       width;
0117     uint16_t       height;
0118     uint16_t       stride;
0119     uint8_t        depth;
0120     uint8_t        bpp;
0121 } xcb_dri3_pixmap_from_buffer_request_t;
0122 
0123 /**
0124  * @brief xcb_dri3_buffer_from_pixmap_cookie_t
0125  **/
0126 typedef struct xcb_dri3_buffer_from_pixmap_cookie_t {
0127     unsigned int sequence;
0128 } xcb_dri3_buffer_from_pixmap_cookie_t;
0129 
0130 /** Opcode for xcb_dri3_buffer_from_pixmap. */
0131 #define XCB_DRI3_BUFFER_FROM_PIXMAP 3
0132 
0133 /**
0134  * @brief xcb_dri3_buffer_from_pixmap_request_t
0135  **/
0136 typedef struct xcb_dri3_buffer_from_pixmap_request_t {
0137     uint8_t      major_opcode;
0138     uint8_t      minor_opcode;
0139     uint16_t     length;
0140     xcb_pixmap_t pixmap;
0141 } xcb_dri3_buffer_from_pixmap_request_t;
0142 
0143 /**
0144  * @brief xcb_dri3_buffer_from_pixmap_reply_t
0145  **/
0146 typedef struct xcb_dri3_buffer_from_pixmap_reply_t {
0147     uint8_t  response_type;
0148     uint8_t  nfd;
0149     uint16_t sequence;
0150     uint32_t length;
0151     uint32_t size;
0152     uint16_t width;
0153     uint16_t height;
0154     uint16_t stride;
0155     uint8_t  depth;
0156     uint8_t  bpp;
0157     uint8_t  pad0[12];
0158 } xcb_dri3_buffer_from_pixmap_reply_t;
0159 
0160 /** Opcode for xcb_dri3_fence_from_fd. */
0161 #define XCB_DRI3_FENCE_FROM_FD 4
0162 
0163 /**
0164  * @brief xcb_dri3_fence_from_fd_request_t
0165  **/
0166 typedef struct xcb_dri3_fence_from_fd_request_t {
0167     uint8_t        major_opcode;
0168     uint8_t        minor_opcode;
0169     uint16_t       length;
0170     xcb_drawable_t drawable;
0171     uint32_t       fence;
0172     uint8_t        initially_triggered;
0173     uint8_t        pad0[3];
0174 } xcb_dri3_fence_from_fd_request_t;
0175 
0176 /**
0177  * @brief xcb_dri3_fd_from_fence_cookie_t
0178  **/
0179 typedef struct xcb_dri3_fd_from_fence_cookie_t {
0180     unsigned int sequence;
0181 } xcb_dri3_fd_from_fence_cookie_t;
0182 
0183 /** Opcode for xcb_dri3_fd_from_fence. */
0184 #define XCB_DRI3_FD_FROM_FENCE 5
0185 
0186 /**
0187  * @brief xcb_dri3_fd_from_fence_request_t
0188  **/
0189 typedef struct xcb_dri3_fd_from_fence_request_t {
0190     uint8_t        major_opcode;
0191     uint8_t        minor_opcode;
0192     uint16_t       length;
0193     xcb_drawable_t drawable;
0194     uint32_t       fence;
0195 } xcb_dri3_fd_from_fence_request_t;
0196 
0197 /**
0198  * @brief xcb_dri3_fd_from_fence_reply_t
0199  **/
0200 typedef struct xcb_dri3_fd_from_fence_reply_t {
0201     uint8_t  response_type;
0202     uint8_t  nfd;
0203     uint16_t sequence;
0204     uint32_t length;
0205     uint8_t  pad0[24];
0206 } xcb_dri3_fd_from_fence_reply_t;
0207 
0208 /**
0209  * @brief xcb_dri3_get_supported_modifiers_cookie_t
0210  **/
0211 typedef struct xcb_dri3_get_supported_modifiers_cookie_t {
0212     unsigned int sequence;
0213 } xcb_dri3_get_supported_modifiers_cookie_t;
0214 
0215 /** Opcode for xcb_dri3_get_supported_modifiers. */
0216 #define XCB_DRI3_GET_SUPPORTED_MODIFIERS 6
0217 
0218 /**
0219  * @brief xcb_dri3_get_supported_modifiers_request_t
0220  **/
0221 typedef struct xcb_dri3_get_supported_modifiers_request_t {
0222     uint8_t  major_opcode;
0223     uint8_t  minor_opcode;
0224     uint16_t length;
0225     uint32_t window;
0226     uint8_t  depth;
0227     uint8_t  bpp;
0228     uint8_t  pad0[2];
0229 } xcb_dri3_get_supported_modifiers_request_t;
0230 
0231 /**
0232  * @brief xcb_dri3_get_supported_modifiers_reply_t
0233  **/
0234 typedef struct xcb_dri3_get_supported_modifiers_reply_t {
0235     uint8_t  response_type;
0236     uint8_t  pad0;
0237     uint16_t sequence;
0238     uint32_t length;
0239     uint32_t num_window_modifiers;
0240     uint32_t num_screen_modifiers;
0241     uint8_t  pad1[16];
0242 } xcb_dri3_get_supported_modifiers_reply_t;
0243 
0244 /** Opcode for xcb_dri3_pixmap_from_buffers. */
0245 #define XCB_DRI3_PIXMAP_FROM_BUFFERS 7
0246 
0247 /**
0248  * @brief xcb_dri3_pixmap_from_buffers_request_t
0249  **/
0250 typedef struct xcb_dri3_pixmap_from_buffers_request_t {
0251     uint8_t      major_opcode;
0252     uint8_t      minor_opcode;
0253     uint16_t     length;
0254     xcb_pixmap_t pixmap;
0255     xcb_window_t window;
0256     uint8_t      num_buffers;
0257     uint8_t      pad0[3];
0258     uint16_t     width;
0259     uint16_t     height;
0260     uint32_t     stride0;
0261     uint32_t     offset0;
0262     uint32_t     stride1;
0263     uint32_t     offset1;
0264     uint32_t     stride2;
0265     uint32_t     offset2;
0266     uint32_t     stride3;
0267     uint32_t     offset3;
0268     uint8_t      depth;
0269     uint8_t      bpp;
0270     uint8_t      pad1[2];
0271     uint64_t     modifier;
0272 } xcb_dri3_pixmap_from_buffers_request_t;
0273 
0274 /**
0275  * @brief xcb_dri3_buffers_from_pixmap_cookie_t
0276  **/
0277 typedef struct xcb_dri3_buffers_from_pixmap_cookie_t {
0278     unsigned int sequence;
0279 } xcb_dri3_buffers_from_pixmap_cookie_t;
0280 
0281 /** Opcode for xcb_dri3_buffers_from_pixmap. */
0282 #define XCB_DRI3_BUFFERS_FROM_PIXMAP 8
0283 
0284 /**
0285  * @brief xcb_dri3_buffers_from_pixmap_request_t
0286  **/
0287 typedef struct xcb_dri3_buffers_from_pixmap_request_t {
0288     uint8_t      major_opcode;
0289     uint8_t      minor_opcode;
0290     uint16_t     length;
0291     xcb_pixmap_t pixmap;
0292 } xcb_dri3_buffers_from_pixmap_request_t;
0293 
0294 /**
0295  * @brief xcb_dri3_buffers_from_pixmap_reply_t
0296  **/
0297 typedef struct xcb_dri3_buffers_from_pixmap_reply_t {
0298     uint8_t  response_type;
0299     uint8_t  nfd;
0300     uint16_t sequence;
0301     uint32_t length;
0302     uint16_t width;
0303     uint16_t height;
0304     uint8_t  pad0[4];
0305     uint64_t modifier;
0306     uint8_t  depth;
0307     uint8_t  bpp;
0308     uint8_t  pad1[6];
0309 } xcb_dri3_buffers_from_pixmap_reply_t;
0310 
0311 /** Opcode for xcb_dri3_set_drm_device_in_use. */
0312 #define XCB_DRI3_SET_DRM_DEVICE_IN_USE 9
0313 
0314 /**
0315  * @brief xcb_dri3_set_drm_device_in_use_request_t
0316  **/
0317 typedef struct xcb_dri3_set_drm_device_in_use_request_t {
0318     uint8_t      major_opcode;
0319     uint8_t      minor_opcode;
0320     uint16_t     length;
0321     xcb_window_t window;
0322     uint32_t     drmMajor;
0323     uint32_t     drmMinor;
0324 } xcb_dri3_set_drm_device_in_use_request_t;
0325 
0326 /** Opcode for xcb_dri3_import_syncobj. */
0327 #define XCB_DRI3_IMPORT_SYNCOBJ 10
0328 
0329 /**
0330  * @brief xcb_dri3_import_syncobj_request_t
0331  **/
0332 typedef struct xcb_dri3_import_syncobj_request_t {
0333     uint8_t            major_opcode;
0334     uint8_t            minor_opcode;
0335     uint16_t           length;
0336     xcb_dri3_syncobj_t syncobj;
0337     xcb_drawable_t     drawable;
0338 } xcb_dri3_import_syncobj_request_t;
0339 
0340 /** Opcode for xcb_dri3_free_syncobj. */
0341 #define XCB_DRI3_FREE_SYNCOBJ 11
0342 
0343 /**
0344  * @brief xcb_dri3_free_syncobj_request_t
0345  **/
0346 typedef struct xcb_dri3_free_syncobj_request_t {
0347     uint8_t            major_opcode;
0348     uint8_t            minor_opcode;
0349     uint16_t           length;
0350     xcb_dri3_syncobj_t syncobj;
0351 } xcb_dri3_free_syncobj_request_t;
0352 
0353 /**
0354  * Get the next element of the iterator
0355  * @param i Pointer to a xcb_dri3_syncobj_iterator_t
0356  *
0357  * Get the next element in the iterator. The member rem is
0358  * decreased by one. The member data points to the next
0359  * element. The member index is increased by sizeof(xcb_dri3_syncobj_t)
0360  */
0361 void
0362 xcb_dri3_syncobj_next (xcb_dri3_syncobj_iterator_t *i);
0363 
0364 /**
0365  * Return the iterator pointing to the last element
0366  * @param i An xcb_dri3_syncobj_iterator_t
0367  * @return  The iterator pointing to the last element
0368  *
0369  * Set the current element in the iterator to the last element.
0370  * The member rem is set to 0. The member data points to the
0371  * last element.
0372  */
0373 xcb_generic_iterator_t
0374 xcb_dri3_syncobj_end (xcb_dri3_syncobj_iterator_t i);
0375 
0376 /**
0377  *
0378  * @param c The connection
0379  * @return A cookie
0380  *
0381  * Delivers a request to the X server.
0382  *
0383  */
0384 xcb_dri3_query_version_cookie_t
0385 xcb_dri3_query_version (xcb_connection_t *c,
0386                         uint32_t          major_version,
0387                         uint32_t          minor_version);
0388 
0389 /**
0390  *
0391  * @param c The connection
0392  * @return A cookie
0393  *
0394  * Delivers a request to the X server.
0395  *
0396  * This form can be used only if the request will cause
0397  * a reply to be generated. Any returned error will be
0398  * placed in the event queue.
0399  */
0400 xcb_dri3_query_version_cookie_t
0401 xcb_dri3_query_version_unchecked (xcb_connection_t *c,
0402                                   uint32_t          major_version,
0403                                   uint32_t          minor_version);
0404 
0405 /**
0406  * Return the reply
0407  * @param c      The connection
0408  * @param cookie The cookie
0409  * @param e      The xcb_generic_error_t supplied
0410  *
0411  * Returns the reply of the request asked by
0412  *
0413  * The parameter @p e supplied to this function must be NULL if
0414  * xcb_dri3_query_version_unchecked(). is used.
0415  * Otherwise, it stores the error if any.
0416  *
0417  * The returned value must be freed by the caller using free().
0418  */
0419 xcb_dri3_query_version_reply_t *
0420 xcb_dri3_query_version_reply (xcb_connection_t                 *c,
0421                               xcb_dri3_query_version_cookie_t   cookie  /**< */,
0422                               xcb_generic_error_t             **e);
0423 
0424 /**
0425  *
0426  * @param c The connection
0427  * @return A cookie
0428  *
0429  * Delivers a request to the X server.
0430  *
0431  */
0432 xcb_dri3_open_cookie_t
0433 xcb_dri3_open (xcb_connection_t *c,
0434                xcb_drawable_t    drawable,
0435                uint32_t          provider);
0436 
0437 /**
0438  *
0439  * @param c The connection
0440  * @return A cookie
0441  *
0442  * Delivers a request to the X server.
0443  *
0444  * This form can be used only if the request will cause
0445  * a reply to be generated. Any returned error will be
0446  * placed in the event queue.
0447  */
0448 xcb_dri3_open_cookie_t
0449 xcb_dri3_open_unchecked (xcb_connection_t *c,
0450                          xcb_drawable_t    drawable,
0451                          uint32_t          provider);
0452 
0453 /**
0454  * Return the reply
0455  * @param c      The connection
0456  * @param cookie The cookie
0457  * @param e      The xcb_generic_error_t supplied
0458  *
0459  * Returns the reply of the request asked by
0460  *
0461  * The parameter @p e supplied to this function must be NULL if
0462  * xcb_dri3_open_unchecked(). is used.
0463  * Otherwise, it stores the error if any.
0464  *
0465  * The returned value must be freed by the caller using free().
0466  */
0467 xcb_dri3_open_reply_t *
0468 xcb_dri3_open_reply (xcb_connection_t        *c,
0469                      xcb_dri3_open_cookie_t   cookie  /**< */,
0470                      xcb_generic_error_t    **e);
0471 
0472 /**
0473  * Return the reply fds
0474  * @param c      The connection
0475  * @param reply  The reply
0476  *
0477  * Returns a pointer to the array of reply fds of the reply.
0478  *
0479  * The returned value points into the reply and must not be free().
0480  * The fds are not managed by xcb. You must close() them before freeing the reply.
0481  */
0482 int *
0483 xcb_dri3_open_reply_fds (xcb_connection_t       *c  /**< */,
0484                          xcb_dri3_open_reply_t  *reply);
0485 
0486 /**
0487  *
0488  * @param c The connection
0489  * @return A cookie
0490  *
0491  * Delivers a request to the X server.
0492  *
0493  * This form can be used only if the request will not cause
0494  * a reply to be generated. Any returned error will be
0495  * saved for handling by xcb_request_check().
0496  */
0497 xcb_void_cookie_t
0498 xcb_dri3_pixmap_from_buffer_checked (xcb_connection_t *c,
0499                                      xcb_pixmap_t      pixmap,
0500                                      xcb_drawable_t    drawable,
0501                                      uint32_t          size,
0502                                      uint16_t          width,
0503                                      uint16_t          height,
0504                                      uint16_t          stride,
0505                                      uint8_t           depth,
0506                                      uint8_t           bpp,
0507                                      int32_t           pixmap_fd);
0508 
0509 /**
0510  *
0511  * @param c The connection
0512  * @return A cookie
0513  *
0514  * Delivers a request to the X server.
0515  *
0516  */
0517 xcb_void_cookie_t
0518 xcb_dri3_pixmap_from_buffer (xcb_connection_t *c,
0519                              xcb_pixmap_t      pixmap,
0520                              xcb_drawable_t    drawable,
0521                              uint32_t          size,
0522                              uint16_t          width,
0523                              uint16_t          height,
0524                              uint16_t          stride,
0525                              uint8_t           depth,
0526                              uint8_t           bpp,
0527                              int32_t           pixmap_fd);
0528 
0529 /**
0530  *
0531  * @param c The connection
0532  * @return A cookie
0533  *
0534  * Delivers a request to the X server.
0535  *
0536  */
0537 xcb_dri3_buffer_from_pixmap_cookie_t
0538 xcb_dri3_buffer_from_pixmap (xcb_connection_t *c,
0539                              xcb_pixmap_t      pixmap);
0540 
0541 /**
0542  *
0543  * @param c The connection
0544  * @return A cookie
0545  *
0546  * Delivers a request to the X server.
0547  *
0548  * This form can be used only if the request will cause
0549  * a reply to be generated. Any returned error will be
0550  * placed in the event queue.
0551  */
0552 xcb_dri3_buffer_from_pixmap_cookie_t
0553 xcb_dri3_buffer_from_pixmap_unchecked (xcb_connection_t *c,
0554                                        xcb_pixmap_t      pixmap);
0555 
0556 /**
0557  * Return the reply
0558  * @param c      The connection
0559  * @param cookie The cookie
0560  * @param e      The xcb_generic_error_t supplied
0561  *
0562  * Returns the reply of the request asked by
0563  *
0564  * The parameter @p e supplied to this function must be NULL if
0565  * xcb_dri3_buffer_from_pixmap_unchecked(). is used.
0566  * Otherwise, it stores the error if any.
0567  *
0568  * The returned value must be freed by the caller using free().
0569  */
0570 xcb_dri3_buffer_from_pixmap_reply_t *
0571 xcb_dri3_buffer_from_pixmap_reply (xcb_connection_t                      *c,
0572                                    xcb_dri3_buffer_from_pixmap_cookie_t   cookie  /**< */,
0573                                    xcb_generic_error_t                  **e);
0574 
0575 /**
0576  * Return the reply fds
0577  * @param c      The connection
0578  * @param reply  The reply
0579  *
0580  * Returns a pointer to the array of reply fds of the reply.
0581  *
0582  * The returned value points into the reply and must not be free().
0583  * The fds are not managed by xcb. You must close() them before freeing the reply.
0584  */
0585 int *
0586 xcb_dri3_buffer_from_pixmap_reply_fds (xcb_connection_t                     *c  /**< */,
0587                                        xcb_dri3_buffer_from_pixmap_reply_t  *reply);
0588 
0589 /**
0590  *
0591  * @param c The connection
0592  * @return A cookie
0593  *
0594  * Delivers a request to the X server.
0595  *
0596  * This form can be used only if the request will not cause
0597  * a reply to be generated. Any returned error will be
0598  * saved for handling by xcb_request_check().
0599  */
0600 xcb_void_cookie_t
0601 xcb_dri3_fence_from_fd_checked (xcb_connection_t *c,
0602                                 xcb_drawable_t    drawable,
0603                                 uint32_t          fence,
0604                                 uint8_t           initially_triggered,
0605                                 int32_t           fence_fd);
0606 
0607 /**
0608  *
0609  * @param c The connection
0610  * @return A cookie
0611  *
0612  * Delivers a request to the X server.
0613  *
0614  */
0615 xcb_void_cookie_t
0616 xcb_dri3_fence_from_fd (xcb_connection_t *c,
0617                         xcb_drawable_t    drawable,
0618                         uint32_t          fence,
0619                         uint8_t           initially_triggered,
0620                         int32_t           fence_fd);
0621 
0622 /**
0623  *
0624  * @param c The connection
0625  * @return A cookie
0626  *
0627  * Delivers a request to the X server.
0628  *
0629  */
0630 xcb_dri3_fd_from_fence_cookie_t
0631 xcb_dri3_fd_from_fence (xcb_connection_t *c,
0632                         xcb_drawable_t    drawable,
0633                         uint32_t          fence);
0634 
0635 /**
0636  *
0637  * @param c The connection
0638  * @return A cookie
0639  *
0640  * Delivers a request to the X server.
0641  *
0642  * This form can be used only if the request will cause
0643  * a reply to be generated. Any returned error will be
0644  * placed in the event queue.
0645  */
0646 xcb_dri3_fd_from_fence_cookie_t
0647 xcb_dri3_fd_from_fence_unchecked (xcb_connection_t *c,
0648                                   xcb_drawable_t    drawable,
0649                                   uint32_t          fence);
0650 
0651 /**
0652  * Return the reply
0653  * @param c      The connection
0654  * @param cookie The cookie
0655  * @param e      The xcb_generic_error_t supplied
0656  *
0657  * Returns the reply of the request asked by
0658  *
0659  * The parameter @p e supplied to this function must be NULL if
0660  * xcb_dri3_fd_from_fence_unchecked(). is used.
0661  * Otherwise, it stores the error if any.
0662  *
0663  * The returned value must be freed by the caller using free().
0664  */
0665 xcb_dri3_fd_from_fence_reply_t *
0666 xcb_dri3_fd_from_fence_reply (xcb_connection_t                 *c,
0667                               xcb_dri3_fd_from_fence_cookie_t   cookie  /**< */,
0668                               xcb_generic_error_t             **e);
0669 
0670 /**
0671  * Return the reply fds
0672  * @param c      The connection
0673  * @param reply  The reply
0674  *
0675  * Returns a pointer to the array of reply fds of the reply.
0676  *
0677  * The returned value points into the reply and must not be free().
0678  * The fds are not managed by xcb. You must close() them before freeing the reply.
0679  */
0680 int *
0681 xcb_dri3_fd_from_fence_reply_fds (xcb_connection_t                *c  /**< */,
0682                                   xcb_dri3_fd_from_fence_reply_t  *reply);
0683 
0684 int
0685 xcb_dri3_get_supported_modifiers_sizeof (const void  *_buffer);
0686 
0687 /**
0688  *
0689  * @param c The connection
0690  * @return A cookie
0691  *
0692  * Delivers a request to the X server.
0693  *
0694  */
0695 xcb_dri3_get_supported_modifiers_cookie_t
0696 xcb_dri3_get_supported_modifiers (xcb_connection_t *c,
0697                                   uint32_t          window,
0698                                   uint8_t           depth,
0699                                   uint8_t           bpp);
0700 
0701 /**
0702  *
0703  * @param c The connection
0704  * @return A cookie
0705  *
0706  * Delivers a request to the X server.
0707  *
0708  * This form can be used only if the request will cause
0709  * a reply to be generated. Any returned error will be
0710  * placed in the event queue.
0711  */
0712 xcb_dri3_get_supported_modifiers_cookie_t
0713 xcb_dri3_get_supported_modifiers_unchecked (xcb_connection_t *c,
0714                                             uint32_t          window,
0715                                             uint8_t           depth,
0716                                             uint8_t           bpp);
0717 
0718 uint64_t *
0719 xcb_dri3_get_supported_modifiers_window_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R);
0720 
0721 int
0722 xcb_dri3_get_supported_modifiers_window_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R);
0723 
0724 xcb_generic_iterator_t
0725 xcb_dri3_get_supported_modifiers_window_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R);
0726 
0727 uint64_t *
0728 xcb_dri3_get_supported_modifiers_screen_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R);
0729 
0730 int
0731 xcb_dri3_get_supported_modifiers_screen_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R);
0732 
0733 xcb_generic_iterator_t
0734 xcb_dri3_get_supported_modifiers_screen_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R);
0735 
0736 /**
0737  * Return the reply
0738  * @param c      The connection
0739  * @param cookie The cookie
0740  * @param e      The xcb_generic_error_t supplied
0741  *
0742  * Returns the reply of the request asked by
0743  *
0744  * The parameter @p e supplied to this function must be NULL if
0745  * xcb_dri3_get_supported_modifiers_unchecked(). is used.
0746  * Otherwise, it stores the error if any.
0747  *
0748  * The returned value must be freed by the caller using free().
0749  */
0750 xcb_dri3_get_supported_modifiers_reply_t *
0751 xcb_dri3_get_supported_modifiers_reply (xcb_connection_t                           *c,
0752                                         xcb_dri3_get_supported_modifiers_cookie_t   cookie  /**< */,
0753                                         xcb_generic_error_t                       **e);
0754 
0755 /**
0756  *
0757  * @param c The connection
0758  * @return A cookie
0759  *
0760  * Delivers a request to the X server.
0761  *
0762  * This form can be used only if the request will not cause
0763  * a reply to be generated. Any returned error will be
0764  * saved for handling by xcb_request_check().
0765  */
0766 xcb_void_cookie_t
0767 xcb_dri3_pixmap_from_buffers_checked (xcb_connection_t *c,
0768                                       xcb_pixmap_t      pixmap,
0769                                       xcb_window_t      window,
0770                                       uint8_t           num_buffers,
0771                                       uint16_t          width,
0772                                       uint16_t          height,
0773                                       uint32_t          stride0,
0774                                       uint32_t          offset0,
0775                                       uint32_t          stride1,
0776                                       uint32_t          offset1,
0777                                       uint32_t          stride2,
0778                                       uint32_t          offset2,
0779                                       uint32_t          stride3,
0780                                       uint32_t          offset3,
0781                                       uint8_t           depth,
0782                                       uint8_t           bpp,
0783                                       uint64_t          modifier,
0784                                       const int32_t    *buffers);
0785 
0786 /**
0787  *
0788  * @param c The connection
0789  * @return A cookie
0790  *
0791  * Delivers a request to the X server.
0792  *
0793  */
0794 xcb_void_cookie_t
0795 xcb_dri3_pixmap_from_buffers (xcb_connection_t *c,
0796                               xcb_pixmap_t      pixmap,
0797                               xcb_window_t      window,
0798                               uint8_t           num_buffers,
0799                               uint16_t          width,
0800                               uint16_t          height,
0801                               uint32_t          stride0,
0802                               uint32_t          offset0,
0803                               uint32_t          stride1,
0804                               uint32_t          offset1,
0805                               uint32_t          stride2,
0806                               uint32_t          offset2,
0807                               uint32_t          stride3,
0808                               uint32_t          offset3,
0809                               uint8_t           depth,
0810                               uint8_t           bpp,
0811                               uint64_t          modifier,
0812                               const int32_t    *buffers);
0813 
0814 int
0815 xcb_dri3_buffers_from_pixmap_sizeof (const void  *_buffer,
0816                                      int32_t      buffers);
0817 
0818 /**
0819  *
0820  * @param c The connection
0821  * @return A cookie
0822  *
0823  * Delivers a request to the X server.
0824  *
0825  */
0826 xcb_dri3_buffers_from_pixmap_cookie_t
0827 xcb_dri3_buffers_from_pixmap (xcb_connection_t *c,
0828                               xcb_pixmap_t      pixmap);
0829 
0830 /**
0831  *
0832  * @param c The connection
0833  * @return A cookie
0834  *
0835  * Delivers a request to the X server.
0836  *
0837  * This form can be used only if the request will cause
0838  * a reply to be generated. Any returned error will be
0839  * placed in the event queue.
0840  */
0841 xcb_dri3_buffers_from_pixmap_cookie_t
0842 xcb_dri3_buffers_from_pixmap_unchecked (xcb_connection_t *c,
0843                                         xcb_pixmap_t      pixmap);
0844 
0845 uint32_t *
0846 xcb_dri3_buffers_from_pixmap_strides (const xcb_dri3_buffers_from_pixmap_reply_t *R);
0847 
0848 int
0849 xcb_dri3_buffers_from_pixmap_strides_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
0850 
0851 xcb_generic_iterator_t
0852 xcb_dri3_buffers_from_pixmap_strides_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
0853 
0854 uint32_t *
0855 xcb_dri3_buffers_from_pixmap_offsets (const xcb_dri3_buffers_from_pixmap_reply_t *R);
0856 
0857 int
0858 xcb_dri3_buffers_from_pixmap_offsets_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
0859 
0860 xcb_generic_iterator_t
0861 xcb_dri3_buffers_from_pixmap_offsets_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
0862 
0863 int32_t *
0864 xcb_dri3_buffers_from_pixmap_buffers (const xcb_dri3_buffers_from_pixmap_reply_t *R);
0865 
0866 int
0867 xcb_dri3_buffers_from_pixmap_buffers_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
0868 
0869 xcb_generic_iterator_t
0870 xcb_dri3_buffers_from_pixmap_buffers_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
0871 
0872 /**
0873  * Return the reply
0874  * @param c      The connection
0875  * @param cookie The cookie
0876  * @param e      The xcb_generic_error_t supplied
0877  *
0878  * Returns the reply of the request asked by
0879  *
0880  * The parameter @p e supplied to this function must be NULL if
0881  * xcb_dri3_buffers_from_pixmap_unchecked(). is used.
0882  * Otherwise, it stores the error if any.
0883  *
0884  * The returned value must be freed by the caller using free().
0885  */
0886 xcb_dri3_buffers_from_pixmap_reply_t *
0887 xcb_dri3_buffers_from_pixmap_reply (xcb_connection_t                       *c,
0888                                     xcb_dri3_buffers_from_pixmap_cookie_t   cookie  /**< */,
0889                                     xcb_generic_error_t                   **e);
0890 
0891 /**
0892  * Return the reply fds
0893  * @param c      The connection
0894  * @param reply  The reply
0895  *
0896  * Returns a pointer to the array of reply fds of the reply.
0897  *
0898  * The returned value points into the reply and must not be free().
0899  * The fds are not managed by xcb. You must close() them before freeing the reply.
0900  */
0901 int *
0902 xcb_dri3_buffers_from_pixmap_reply_fds (xcb_connection_t                      *c  /**< */,
0903                                         xcb_dri3_buffers_from_pixmap_reply_t  *reply);
0904 
0905 /**
0906  *
0907  * @param c The connection
0908  * @return A cookie
0909  *
0910  * Delivers a request to the X server.
0911  *
0912  * This form can be used only if the request will not cause
0913  * a reply to be generated. Any returned error will be
0914  * saved for handling by xcb_request_check().
0915  */
0916 xcb_void_cookie_t
0917 xcb_dri3_set_drm_device_in_use_checked (xcb_connection_t *c,
0918                                         xcb_window_t      window,
0919                                         uint32_t          drmMajor,
0920                                         uint32_t          drmMinor);
0921 
0922 /**
0923  *
0924  * @param c The connection
0925  * @return A cookie
0926  *
0927  * Delivers a request to the X server.
0928  *
0929  */
0930 xcb_void_cookie_t
0931 xcb_dri3_set_drm_device_in_use (xcb_connection_t *c,
0932                                 xcb_window_t      window,
0933                                 uint32_t          drmMajor,
0934                                 uint32_t          drmMinor);
0935 
0936 /**
0937  *
0938  * @param c The connection
0939  * @return A cookie
0940  *
0941  * Delivers a request to the X server.
0942  *
0943  * This form can be used only if the request will not cause
0944  * a reply to be generated. Any returned error will be
0945  * saved for handling by xcb_request_check().
0946  */
0947 xcb_void_cookie_t
0948 xcb_dri3_import_syncobj_checked (xcb_connection_t   *c,
0949                                  xcb_dri3_syncobj_t  syncobj,
0950                                  xcb_drawable_t      drawable,
0951                                  int32_t             syncobj_fd);
0952 
0953 /**
0954  *
0955  * @param c The connection
0956  * @return A cookie
0957  *
0958  * Delivers a request to the X server.
0959  *
0960  */
0961 xcb_void_cookie_t
0962 xcb_dri3_import_syncobj (xcb_connection_t   *c,
0963                          xcb_dri3_syncobj_t  syncobj,
0964                          xcb_drawable_t      drawable,
0965                          int32_t             syncobj_fd);
0966 
0967 /**
0968  *
0969  * @param c The connection
0970  * @return A cookie
0971  *
0972  * Delivers a request to the X server.
0973  *
0974  * This form can be used only if the request will not cause
0975  * a reply to be generated. Any returned error will be
0976  * saved for handling by xcb_request_check().
0977  */
0978 xcb_void_cookie_t
0979 xcb_dri3_free_syncobj_checked (xcb_connection_t   *c,
0980                                xcb_dri3_syncobj_t  syncobj);
0981 
0982 /**
0983  *
0984  * @param c The connection
0985  * @return A cookie
0986  *
0987  * Delivers a request to the X server.
0988  *
0989  */
0990 xcb_void_cookie_t
0991 xcb_dri3_free_syncobj (xcb_connection_t   *c,
0992                        xcb_dri3_syncobj_t  syncobj);
0993 
0994 
0995 #ifdef __cplusplus
0996 }
0997 #endif
0998 
0999 #endif
1000 
1001 /**
1002  * @}
1003  */