jpayne@69: /* jpayne@69: * This file generated automatically from dri3.xml by c_client.py. jpayne@69: * Edit at your peril. jpayne@69: */ jpayne@69: jpayne@69: /** jpayne@69: * @defgroup XCB_DRI3_API XCB DRI3 API jpayne@69: * @brief DRI3 XCB Protocol Implementation. jpayne@69: * @{ jpayne@69: **/ jpayne@69: jpayne@69: #ifndef __DRI3_H jpayne@69: #define __DRI3_H jpayne@69: jpayne@69: #include "xcb.h" jpayne@69: #include "xproto.h" jpayne@69: jpayne@69: #ifdef __cplusplus jpayne@69: extern "C" { jpayne@69: #endif jpayne@69: jpayne@69: #define XCB_DRI3_MAJOR_VERSION 1 jpayne@69: #define XCB_DRI3_MINOR_VERSION 4 jpayne@69: jpayne@69: extern xcb_extension_t xcb_dri3_id; jpayne@69: jpayne@69: typedef uint32_t xcb_dri3_syncobj_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_syncobj_iterator_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_syncobj_iterator_t { jpayne@69: xcb_dri3_syncobj_t *data; jpayne@69: int rem; jpayne@69: int index; jpayne@69: } xcb_dri3_syncobj_iterator_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_query_version_cookie_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_query_version_cookie_t { jpayne@69: unsigned int sequence; jpayne@69: } xcb_dri3_query_version_cookie_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_query_version. */ jpayne@69: #define XCB_DRI3_QUERY_VERSION 0 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_query_version_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_query_version_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: uint32_t major_version; jpayne@69: uint32_t minor_version; jpayne@69: } xcb_dri3_query_version_request_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_query_version_reply_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_query_version_reply_t { jpayne@69: uint8_t response_type; jpayne@69: uint8_t pad0; jpayne@69: uint16_t sequence; jpayne@69: uint32_t length; jpayne@69: uint32_t major_version; jpayne@69: uint32_t minor_version; jpayne@69: } xcb_dri3_query_version_reply_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_open_cookie_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_open_cookie_t { jpayne@69: unsigned int sequence; jpayne@69: } xcb_dri3_open_cookie_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_open. */ jpayne@69: #define XCB_DRI3_OPEN 1 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_open_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_open_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: xcb_drawable_t drawable; jpayne@69: uint32_t provider; jpayne@69: } xcb_dri3_open_request_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_open_reply_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_open_reply_t { jpayne@69: uint8_t response_type; jpayne@69: uint8_t nfd; jpayne@69: uint16_t sequence; jpayne@69: uint32_t length; jpayne@69: uint8_t pad0[24]; jpayne@69: } xcb_dri3_open_reply_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_pixmap_from_buffer. */ jpayne@69: #define XCB_DRI3_PIXMAP_FROM_BUFFER 2 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_pixmap_from_buffer_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_pixmap_from_buffer_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: xcb_pixmap_t pixmap; jpayne@69: xcb_drawable_t drawable; jpayne@69: uint32_t size; jpayne@69: uint16_t width; jpayne@69: uint16_t height; jpayne@69: uint16_t stride; jpayne@69: uint8_t depth; jpayne@69: uint8_t bpp; jpayne@69: } xcb_dri3_pixmap_from_buffer_request_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_buffer_from_pixmap_cookie_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_buffer_from_pixmap_cookie_t { jpayne@69: unsigned int sequence; jpayne@69: } xcb_dri3_buffer_from_pixmap_cookie_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_buffer_from_pixmap. */ jpayne@69: #define XCB_DRI3_BUFFER_FROM_PIXMAP 3 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_buffer_from_pixmap_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_buffer_from_pixmap_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: xcb_pixmap_t pixmap; jpayne@69: } xcb_dri3_buffer_from_pixmap_request_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_buffer_from_pixmap_reply_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_buffer_from_pixmap_reply_t { jpayne@69: uint8_t response_type; jpayne@69: uint8_t nfd; jpayne@69: uint16_t sequence; jpayne@69: uint32_t length; jpayne@69: uint32_t size; jpayne@69: uint16_t width; jpayne@69: uint16_t height; jpayne@69: uint16_t stride; jpayne@69: uint8_t depth; jpayne@69: uint8_t bpp; jpayne@69: uint8_t pad0[12]; jpayne@69: } xcb_dri3_buffer_from_pixmap_reply_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_fence_from_fd. */ jpayne@69: #define XCB_DRI3_FENCE_FROM_FD 4 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_fence_from_fd_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_fence_from_fd_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: xcb_drawable_t drawable; jpayne@69: uint32_t fence; jpayne@69: uint8_t initially_triggered; jpayne@69: uint8_t pad0[3]; jpayne@69: } xcb_dri3_fence_from_fd_request_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_fd_from_fence_cookie_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_fd_from_fence_cookie_t { jpayne@69: unsigned int sequence; jpayne@69: } xcb_dri3_fd_from_fence_cookie_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_fd_from_fence. */ jpayne@69: #define XCB_DRI3_FD_FROM_FENCE 5 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_fd_from_fence_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_fd_from_fence_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: xcb_drawable_t drawable; jpayne@69: uint32_t fence; jpayne@69: } xcb_dri3_fd_from_fence_request_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_fd_from_fence_reply_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_fd_from_fence_reply_t { jpayne@69: uint8_t response_type; jpayne@69: uint8_t nfd; jpayne@69: uint16_t sequence; jpayne@69: uint32_t length; jpayne@69: uint8_t pad0[24]; jpayne@69: } xcb_dri3_fd_from_fence_reply_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_get_supported_modifiers_cookie_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_get_supported_modifiers_cookie_t { jpayne@69: unsigned int sequence; jpayne@69: } xcb_dri3_get_supported_modifiers_cookie_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_get_supported_modifiers. */ jpayne@69: #define XCB_DRI3_GET_SUPPORTED_MODIFIERS 6 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_get_supported_modifiers_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_get_supported_modifiers_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: uint32_t window; jpayne@69: uint8_t depth; jpayne@69: uint8_t bpp; jpayne@69: uint8_t pad0[2]; jpayne@69: } xcb_dri3_get_supported_modifiers_request_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_get_supported_modifiers_reply_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_get_supported_modifiers_reply_t { jpayne@69: uint8_t response_type; jpayne@69: uint8_t pad0; jpayne@69: uint16_t sequence; jpayne@69: uint32_t length; jpayne@69: uint32_t num_window_modifiers; jpayne@69: uint32_t num_screen_modifiers; jpayne@69: uint8_t pad1[16]; jpayne@69: } xcb_dri3_get_supported_modifiers_reply_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_pixmap_from_buffers. */ jpayne@69: #define XCB_DRI3_PIXMAP_FROM_BUFFERS 7 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_pixmap_from_buffers_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_pixmap_from_buffers_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: xcb_pixmap_t pixmap; jpayne@69: xcb_window_t window; jpayne@69: uint8_t num_buffers; jpayne@69: uint8_t pad0[3]; jpayne@69: uint16_t width; jpayne@69: uint16_t height; jpayne@69: uint32_t stride0; jpayne@69: uint32_t offset0; jpayne@69: uint32_t stride1; jpayne@69: uint32_t offset1; jpayne@69: uint32_t stride2; jpayne@69: uint32_t offset2; jpayne@69: uint32_t stride3; jpayne@69: uint32_t offset3; jpayne@69: uint8_t depth; jpayne@69: uint8_t bpp; jpayne@69: uint8_t pad1[2]; jpayne@69: uint64_t modifier; jpayne@69: } xcb_dri3_pixmap_from_buffers_request_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_buffers_from_pixmap_cookie_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_buffers_from_pixmap_cookie_t { jpayne@69: unsigned int sequence; jpayne@69: } xcb_dri3_buffers_from_pixmap_cookie_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_buffers_from_pixmap. */ jpayne@69: #define XCB_DRI3_BUFFERS_FROM_PIXMAP 8 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_buffers_from_pixmap_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_buffers_from_pixmap_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: xcb_pixmap_t pixmap; jpayne@69: } xcb_dri3_buffers_from_pixmap_request_t; jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_buffers_from_pixmap_reply_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_buffers_from_pixmap_reply_t { jpayne@69: uint8_t response_type; jpayne@69: uint8_t nfd; jpayne@69: uint16_t sequence; jpayne@69: uint32_t length; jpayne@69: uint16_t width; jpayne@69: uint16_t height; jpayne@69: uint8_t pad0[4]; jpayne@69: uint64_t modifier; jpayne@69: uint8_t depth; jpayne@69: uint8_t bpp; jpayne@69: uint8_t pad1[6]; jpayne@69: } xcb_dri3_buffers_from_pixmap_reply_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_set_drm_device_in_use. */ jpayne@69: #define XCB_DRI3_SET_DRM_DEVICE_IN_USE 9 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_set_drm_device_in_use_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_set_drm_device_in_use_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: xcb_window_t window; jpayne@69: uint32_t drmMajor; jpayne@69: uint32_t drmMinor; jpayne@69: } xcb_dri3_set_drm_device_in_use_request_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_import_syncobj. */ jpayne@69: #define XCB_DRI3_IMPORT_SYNCOBJ 10 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_import_syncobj_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_import_syncobj_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: xcb_dri3_syncobj_t syncobj; jpayne@69: xcb_drawable_t drawable; jpayne@69: } xcb_dri3_import_syncobj_request_t; jpayne@69: jpayne@69: /** Opcode for xcb_dri3_free_syncobj. */ jpayne@69: #define XCB_DRI3_FREE_SYNCOBJ 11 jpayne@69: jpayne@69: /** jpayne@69: * @brief xcb_dri3_free_syncobj_request_t jpayne@69: **/ jpayne@69: typedef struct xcb_dri3_free_syncobj_request_t { jpayne@69: uint8_t major_opcode; jpayne@69: uint8_t minor_opcode; jpayne@69: uint16_t length; jpayne@69: xcb_dri3_syncobj_t syncobj; jpayne@69: } xcb_dri3_free_syncobj_request_t; jpayne@69: jpayne@69: /** jpayne@69: * Get the next element of the iterator jpayne@69: * @param i Pointer to a xcb_dri3_syncobj_iterator_t jpayne@69: * jpayne@69: * Get the next element in the iterator. The member rem is jpayne@69: * decreased by one. The member data points to the next jpayne@69: * element. The member index is increased by sizeof(xcb_dri3_syncobj_t) jpayne@69: */ jpayne@69: void jpayne@69: xcb_dri3_syncobj_next (xcb_dri3_syncobj_iterator_t *i); jpayne@69: jpayne@69: /** jpayne@69: * Return the iterator pointing to the last element jpayne@69: * @param i An xcb_dri3_syncobj_iterator_t jpayne@69: * @return The iterator pointing to the last element jpayne@69: * jpayne@69: * Set the current element in the iterator to the last element. jpayne@69: * The member rem is set to 0. The member data points to the jpayne@69: * last element. jpayne@69: */ jpayne@69: xcb_generic_iterator_t jpayne@69: xcb_dri3_syncobj_end (xcb_dri3_syncobj_iterator_t i); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_dri3_query_version_cookie_t jpayne@69: xcb_dri3_query_version (xcb_connection_t *c, jpayne@69: uint32_t major_version, jpayne@69: uint32_t minor_version); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * placed in the event queue. jpayne@69: */ jpayne@69: xcb_dri3_query_version_cookie_t jpayne@69: xcb_dri3_query_version_unchecked (xcb_connection_t *c, jpayne@69: uint32_t major_version, jpayne@69: uint32_t minor_version); jpayne@69: jpayne@69: /** jpayne@69: * Return the reply jpayne@69: * @param c The connection jpayne@69: * @param cookie The cookie jpayne@69: * @param e The xcb_generic_error_t supplied jpayne@69: * jpayne@69: * Returns the reply of the request asked by jpayne@69: * jpayne@69: * The parameter @p e supplied to this function must be NULL if jpayne@69: * xcb_dri3_query_version_unchecked(). is used. jpayne@69: * Otherwise, it stores the error if any. jpayne@69: * jpayne@69: * The returned value must be freed by the caller using free(). jpayne@69: */ jpayne@69: xcb_dri3_query_version_reply_t * jpayne@69: xcb_dri3_query_version_reply (xcb_connection_t *c, jpayne@69: xcb_dri3_query_version_cookie_t cookie /**< */, jpayne@69: xcb_generic_error_t **e); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_dri3_open_cookie_t jpayne@69: xcb_dri3_open (xcb_connection_t *c, jpayne@69: xcb_drawable_t drawable, jpayne@69: uint32_t provider); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * placed in the event queue. jpayne@69: */ jpayne@69: xcb_dri3_open_cookie_t jpayne@69: xcb_dri3_open_unchecked (xcb_connection_t *c, jpayne@69: xcb_drawable_t drawable, jpayne@69: uint32_t provider); jpayne@69: jpayne@69: /** jpayne@69: * Return the reply jpayne@69: * @param c The connection jpayne@69: * @param cookie The cookie jpayne@69: * @param e The xcb_generic_error_t supplied jpayne@69: * jpayne@69: * Returns the reply of the request asked by jpayne@69: * jpayne@69: * The parameter @p e supplied to this function must be NULL if jpayne@69: * xcb_dri3_open_unchecked(). is used. jpayne@69: * Otherwise, it stores the error if any. jpayne@69: * jpayne@69: * The returned value must be freed by the caller using free(). jpayne@69: */ jpayne@69: xcb_dri3_open_reply_t * jpayne@69: xcb_dri3_open_reply (xcb_connection_t *c, jpayne@69: xcb_dri3_open_cookie_t cookie /**< */, jpayne@69: xcb_generic_error_t **e); jpayne@69: jpayne@69: /** jpayne@69: * Return the reply fds jpayne@69: * @param c The connection jpayne@69: * @param reply The reply jpayne@69: * jpayne@69: * Returns a pointer to the array of reply fds of the reply. jpayne@69: * jpayne@69: * The returned value points into the reply and must not be free(). jpayne@69: * The fds are not managed by xcb. You must close() them before freeing the reply. jpayne@69: */ jpayne@69: int * jpayne@69: xcb_dri3_open_reply_fds (xcb_connection_t *c /**< */, jpayne@69: xcb_dri3_open_reply_t *reply); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will not cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * saved for handling by xcb_request_check(). jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_pixmap_from_buffer_checked (xcb_connection_t *c, jpayne@69: xcb_pixmap_t pixmap, jpayne@69: xcb_drawable_t drawable, jpayne@69: uint32_t size, jpayne@69: uint16_t width, jpayne@69: uint16_t height, jpayne@69: uint16_t stride, jpayne@69: uint8_t depth, jpayne@69: uint8_t bpp, jpayne@69: int32_t pixmap_fd); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_pixmap_from_buffer (xcb_connection_t *c, jpayne@69: xcb_pixmap_t pixmap, jpayne@69: xcb_drawable_t drawable, jpayne@69: uint32_t size, jpayne@69: uint16_t width, jpayne@69: uint16_t height, jpayne@69: uint16_t stride, jpayne@69: uint8_t depth, jpayne@69: uint8_t bpp, jpayne@69: int32_t pixmap_fd); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_dri3_buffer_from_pixmap_cookie_t jpayne@69: xcb_dri3_buffer_from_pixmap (xcb_connection_t *c, jpayne@69: xcb_pixmap_t pixmap); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * placed in the event queue. jpayne@69: */ jpayne@69: xcb_dri3_buffer_from_pixmap_cookie_t jpayne@69: xcb_dri3_buffer_from_pixmap_unchecked (xcb_connection_t *c, jpayne@69: xcb_pixmap_t pixmap); jpayne@69: jpayne@69: /** jpayne@69: * Return the reply jpayne@69: * @param c The connection jpayne@69: * @param cookie The cookie jpayne@69: * @param e The xcb_generic_error_t supplied jpayne@69: * jpayne@69: * Returns the reply of the request asked by jpayne@69: * jpayne@69: * The parameter @p e supplied to this function must be NULL if jpayne@69: * xcb_dri3_buffer_from_pixmap_unchecked(). is used. jpayne@69: * Otherwise, it stores the error if any. jpayne@69: * jpayne@69: * The returned value must be freed by the caller using free(). jpayne@69: */ jpayne@69: xcb_dri3_buffer_from_pixmap_reply_t * jpayne@69: xcb_dri3_buffer_from_pixmap_reply (xcb_connection_t *c, jpayne@69: xcb_dri3_buffer_from_pixmap_cookie_t cookie /**< */, jpayne@69: xcb_generic_error_t **e); jpayne@69: jpayne@69: /** jpayne@69: * Return the reply fds jpayne@69: * @param c The connection jpayne@69: * @param reply The reply jpayne@69: * jpayne@69: * Returns a pointer to the array of reply fds of the reply. jpayne@69: * jpayne@69: * The returned value points into the reply and must not be free(). jpayne@69: * The fds are not managed by xcb. You must close() them before freeing the reply. jpayne@69: */ jpayne@69: int * jpayne@69: xcb_dri3_buffer_from_pixmap_reply_fds (xcb_connection_t *c /**< */, jpayne@69: xcb_dri3_buffer_from_pixmap_reply_t *reply); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will not cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * saved for handling by xcb_request_check(). jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_fence_from_fd_checked (xcb_connection_t *c, jpayne@69: xcb_drawable_t drawable, jpayne@69: uint32_t fence, jpayne@69: uint8_t initially_triggered, jpayne@69: int32_t fence_fd); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_fence_from_fd (xcb_connection_t *c, jpayne@69: xcb_drawable_t drawable, jpayne@69: uint32_t fence, jpayne@69: uint8_t initially_triggered, jpayne@69: int32_t fence_fd); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_dri3_fd_from_fence_cookie_t jpayne@69: xcb_dri3_fd_from_fence (xcb_connection_t *c, jpayne@69: xcb_drawable_t drawable, jpayne@69: uint32_t fence); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * placed in the event queue. jpayne@69: */ jpayne@69: xcb_dri3_fd_from_fence_cookie_t jpayne@69: xcb_dri3_fd_from_fence_unchecked (xcb_connection_t *c, jpayne@69: xcb_drawable_t drawable, jpayne@69: uint32_t fence); jpayne@69: jpayne@69: /** jpayne@69: * Return the reply jpayne@69: * @param c The connection jpayne@69: * @param cookie The cookie jpayne@69: * @param e The xcb_generic_error_t supplied jpayne@69: * jpayne@69: * Returns the reply of the request asked by jpayne@69: * jpayne@69: * The parameter @p e supplied to this function must be NULL if jpayne@69: * xcb_dri3_fd_from_fence_unchecked(). is used. jpayne@69: * Otherwise, it stores the error if any. jpayne@69: * jpayne@69: * The returned value must be freed by the caller using free(). jpayne@69: */ jpayne@69: xcb_dri3_fd_from_fence_reply_t * jpayne@69: xcb_dri3_fd_from_fence_reply (xcb_connection_t *c, jpayne@69: xcb_dri3_fd_from_fence_cookie_t cookie /**< */, jpayne@69: xcb_generic_error_t **e); jpayne@69: jpayne@69: /** jpayne@69: * Return the reply fds jpayne@69: * @param c The connection jpayne@69: * @param reply The reply jpayne@69: * jpayne@69: * Returns a pointer to the array of reply fds of the reply. jpayne@69: * jpayne@69: * The returned value points into the reply and must not be free(). jpayne@69: * The fds are not managed by xcb. You must close() them before freeing the reply. jpayne@69: */ jpayne@69: int * jpayne@69: xcb_dri3_fd_from_fence_reply_fds (xcb_connection_t *c /**< */, jpayne@69: xcb_dri3_fd_from_fence_reply_t *reply); jpayne@69: jpayne@69: int jpayne@69: xcb_dri3_get_supported_modifiers_sizeof (const void *_buffer); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_dri3_get_supported_modifiers_cookie_t jpayne@69: xcb_dri3_get_supported_modifiers (xcb_connection_t *c, jpayne@69: uint32_t window, jpayne@69: uint8_t depth, jpayne@69: uint8_t bpp); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * placed in the event queue. jpayne@69: */ jpayne@69: xcb_dri3_get_supported_modifiers_cookie_t jpayne@69: xcb_dri3_get_supported_modifiers_unchecked (xcb_connection_t *c, jpayne@69: uint32_t window, jpayne@69: uint8_t depth, jpayne@69: uint8_t bpp); jpayne@69: jpayne@69: uint64_t * jpayne@69: xcb_dri3_get_supported_modifiers_window_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R); jpayne@69: jpayne@69: int jpayne@69: xcb_dri3_get_supported_modifiers_window_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R); jpayne@69: jpayne@69: xcb_generic_iterator_t jpayne@69: xcb_dri3_get_supported_modifiers_window_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R); jpayne@69: jpayne@69: uint64_t * jpayne@69: xcb_dri3_get_supported_modifiers_screen_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R); jpayne@69: jpayne@69: int jpayne@69: xcb_dri3_get_supported_modifiers_screen_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R); jpayne@69: jpayne@69: xcb_generic_iterator_t jpayne@69: xcb_dri3_get_supported_modifiers_screen_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R); jpayne@69: jpayne@69: /** jpayne@69: * Return the reply jpayne@69: * @param c The connection jpayne@69: * @param cookie The cookie jpayne@69: * @param e The xcb_generic_error_t supplied jpayne@69: * jpayne@69: * Returns the reply of the request asked by jpayne@69: * jpayne@69: * The parameter @p e supplied to this function must be NULL if jpayne@69: * xcb_dri3_get_supported_modifiers_unchecked(). is used. jpayne@69: * Otherwise, it stores the error if any. jpayne@69: * jpayne@69: * The returned value must be freed by the caller using free(). jpayne@69: */ jpayne@69: xcb_dri3_get_supported_modifiers_reply_t * jpayne@69: xcb_dri3_get_supported_modifiers_reply (xcb_connection_t *c, jpayne@69: xcb_dri3_get_supported_modifiers_cookie_t cookie /**< */, jpayne@69: xcb_generic_error_t **e); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will not cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * saved for handling by xcb_request_check(). jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_pixmap_from_buffers_checked (xcb_connection_t *c, jpayne@69: xcb_pixmap_t pixmap, jpayne@69: xcb_window_t window, jpayne@69: uint8_t num_buffers, jpayne@69: uint16_t width, jpayne@69: uint16_t height, jpayne@69: uint32_t stride0, jpayne@69: uint32_t offset0, jpayne@69: uint32_t stride1, jpayne@69: uint32_t offset1, jpayne@69: uint32_t stride2, jpayne@69: uint32_t offset2, jpayne@69: uint32_t stride3, jpayne@69: uint32_t offset3, jpayne@69: uint8_t depth, jpayne@69: uint8_t bpp, jpayne@69: uint64_t modifier, jpayne@69: const int32_t *buffers); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_pixmap_from_buffers (xcb_connection_t *c, jpayne@69: xcb_pixmap_t pixmap, jpayne@69: xcb_window_t window, jpayne@69: uint8_t num_buffers, jpayne@69: uint16_t width, jpayne@69: uint16_t height, jpayne@69: uint32_t stride0, jpayne@69: uint32_t offset0, jpayne@69: uint32_t stride1, jpayne@69: uint32_t offset1, jpayne@69: uint32_t stride2, jpayne@69: uint32_t offset2, jpayne@69: uint32_t stride3, jpayne@69: uint32_t offset3, jpayne@69: uint8_t depth, jpayne@69: uint8_t bpp, jpayne@69: uint64_t modifier, jpayne@69: const int32_t *buffers); jpayne@69: jpayne@69: int jpayne@69: xcb_dri3_buffers_from_pixmap_sizeof (const void *_buffer, jpayne@69: int32_t buffers); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_dri3_buffers_from_pixmap_cookie_t jpayne@69: xcb_dri3_buffers_from_pixmap (xcb_connection_t *c, jpayne@69: xcb_pixmap_t pixmap); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * placed in the event queue. jpayne@69: */ jpayne@69: xcb_dri3_buffers_from_pixmap_cookie_t jpayne@69: xcb_dri3_buffers_from_pixmap_unchecked (xcb_connection_t *c, jpayne@69: xcb_pixmap_t pixmap); jpayne@69: jpayne@69: uint32_t * jpayne@69: xcb_dri3_buffers_from_pixmap_strides (const xcb_dri3_buffers_from_pixmap_reply_t *R); jpayne@69: jpayne@69: int jpayne@69: xcb_dri3_buffers_from_pixmap_strides_length (const xcb_dri3_buffers_from_pixmap_reply_t *R); jpayne@69: jpayne@69: xcb_generic_iterator_t jpayne@69: xcb_dri3_buffers_from_pixmap_strides_end (const xcb_dri3_buffers_from_pixmap_reply_t *R); jpayne@69: jpayne@69: uint32_t * jpayne@69: xcb_dri3_buffers_from_pixmap_offsets (const xcb_dri3_buffers_from_pixmap_reply_t *R); jpayne@69: jpayne@69: int jpayne@69: xcb_dri3_buffers_from_pixmap_offsets_length (const xcb_dri3_buffers_from_pixmap_reply_t *R); jpayne@69: jpayne@69: xcb_generic_iterator_t jpayne@69: xcb_dri3_buffers_from_pixmap_offsets_end (const xcb_dri3_buffers_from_pixmap_reply_t *R); jpayne@69: jpayne@69: int32_t * jpayne@69: xcb_dri3_buffers_from_pixmap_buffers (const xcb_dri3_buffers_from_pixmap_reply_t *R); jpayne@69: jpayne@69: int jpayne@69: xcb_dri3_buffers_from_pixmap_buffers_length (const xcb_dri3_buffers_from_pixmap_reply_t *R); jpayne@69: jpayne@69: xcb_generic_iterator_t jpayne@69: xcb_dri3_buffers_from_pixmap_buffers_end (const xcb_dri3_buffers_from_pixmap_reply_t *R); jpayne@69: jpayne@69: /** jpayne@69: * Return the reply jpayne@69: * @param c The connection jpayne@69: * @param cookie The cookie jpayne@69: * @param e The xcb_generic_error_t supplied jpayne@69: * jpayne@69: * Returns the reply of the request asked by jpayne@69: * jpayne@69: * The parameter @p e supplied to this function must be NULL if jpayne@69: * xcb_dri3_buffers_from_pixmap_unchecked(). is used. jpayne@69: * Otherwise, it stores the error if any. jpayne@69: * jpayne@69: * The returned value must be freed by the caller using free(). jpayne@69: */ jpayne@69: xcb_dri3_buffers_from_pixmap_reply_t * jpayne@69: xcb_dri3_buffers_from_pixmap_reply (xcb_connection_t *c, jpayne@69: xcb_dri3_buffers_from_pixmap_cookie_t cookie /**< */, jpayne@69: xcb_generic_error_t **e); jpayne@69: jpayne@69: /** jpayne@69: * Return the reply fds jpayne@69: * @param c The connection jpayne@69: * @param reply The reply jpayne@69: * jpayne@69: * Returns a pointer to the array of reply fds of the reply. jpayne@69: * jpayne@69: * The returned value points into the reply and must not be free(). jpayne@69: * The fds are not managed by xcb. You must close() them before freeing the reply. jpayne@69: */ jpayne@69: int * jpayne@69: xcb_dri3_buffers_from_pixmap_reply_fds (xcb_connection_t *c /**< */, jpayne@69: xcb_dri3_buffers_from_pixmap_reply_t *reply); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will not cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * saved for handling by xcb_request_check(). jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_set_drm_device_in_use_checked (xcb_connection_t *c, jpayne@69: xcb_window_t window, jpayne@69: uint32_t drmMajor, jpayne@69: uint32_t drmMinor); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_set_drm_device_in_use (xcb_connection_t *c, jpayne@69: xcb_window_t window, jpayne@69: uint32_t drmMajor, jpayne@69: uint32_t drmMinor); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will not cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * saved for handling by xcb_request_check(). jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_import_syncobj_checked (xcb_connection_t *c, jpayne@69: xcb_dri3_syncobj_t syncobj, jpayne@69: xcb_drawable_t drawable, jpayne@69: int32_t syncobj_fd); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_import_syncobj (xcb_connection_t *c, jpayne@69: xcb_dri3_syncobj_t syncobj, jpayne@69: xcb_drawable_t drawable, jpayne@69: int32_t syncobj_fd); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: * This form can be used only if the request will not cause jpayne@69: * a reply to be generated. Any returned error will be jpayne@69: * saved for handling by xcb_request_check(). jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_free_syncobj_checked (xcb_connection_t *c, jpayne@69: xcb_dri3_syncobj_t syncobj); jpayne@69: jpayne@69: /** jpayne@69: * jpayne@69: * @param c The connection jpayne@69: * @return A cookie jpayne@69: * jpayne@69: * Delivers a request to the X server. jpayne@69: * jpayne@69: */ jpayne@69: xcb_void_cookie_t jpayne@69: xcb_dri3_free_syncobj (xcb_connection_t *c, jpayne@69: xcb_dri3_syncobj_t syncobj); jpayne@69: jpayne@69: jpayne@69: #ifdef __cplusplus jpayne@69: } jpayne@69: #endif jpayne@69: jpayne@69: #endif jpayne@69: jpayne@69: /** jpayne@69: * @} jpayne@69: */