- Main Page
- Modules
- Data Structures
- Files
- Related Pages

# XCB DRI2 API

DRI2 XCB Protocol Implementation. More...

## Data Structures
struct | xcb_dri2_dri2_buffer_t
| xcb_dri2_dri2_buffer_t More...
struct | xcb_dri2_dri2_buffer_iterator_t
| xcb_dri2_dri2_buffer_iterator_t More...
struct | xcb_dri2_attach_format_t
| xcb_dri2_attach_format_t More...
struct | xcb_dri2_attach_format_iterator_t
| xcb_dri2_attach_format_iterator_t More...
struct | xcb_dri2_query_version_cookie_t
| xcb_dri2_query_version_cookie_t More...
struct | xcb_dri2_query_version_request_t
| xcb_dri2_query_version_request_t More...
struct | xcb_dri2_query_version_reply_t
| xcb_dri2_query_version_reply_t More...
struct | xcb_dri2_connect_cookie_t
| xcb_dri2_connect_cookie_t More...
struct | xcb_dri2_connect_request_t
| xcb_dri2_connect_request_t More...
struct | xcb_dri2_connect_reply_t
| xcb_dri2_connect_reply_t More...
struct | xcb_dri2_authenticate_cookie_t
| xcb_dri2_authenticate_cookie_t More...
struct | xcb_dri2_authenticate_request_t
| xcb_dri2_authenticate_request_t More...
struct | xcb_dri2_authenticate_reply_t
| xcb_dri2_authenticate_reply_t More...
struct | xcb_dri2_create_drawable_request_t
| xcb_dri2_create_drawable_request_t More...
struct | xcb_dri2_destroy_drawable_request_t
| xcb_dri2_destroy_drawable_request_t More...
struct | xcb_dri2_get_buffers_cookie_t
| xcb_dri2_get_buffers_cookie_t More...
struct | xcb_dri2_get_buffers_request_t
| xcb_dri2_get_buffers_request_t More...
struct | xcb_dri2_get_buffers_reply_t
| xcb_dri2_get_buffers_reply_t More...
struct | xcb_dri2_copy_region_cookie_t
| xcb_dri2_copy_region_cookie_t More...
struct | xcb_dri2_copy_region_request_t
| xcb_dri2_copy_region_request_t More...
struct | xcb_dri2_copy_region_reply_t
| xcb_dri2_copy_region_reply_t More...
struct | xcb_dri2_get_buffers_with_format_cookie_t
| xcb_dri2_get_buffers_with_format_cookie_t More...
struct | xcb_dri2_get_buffers_with_format_request_t
| xcb_dri2_get_buffers_with_format_request_t More...
struct | xcb_dri2_get_buffers_with_format_reply_t
| xcb_dri2_get_buffers_with_format_reply_t More...
## Defines
#define | XCB_DRI2_MAJOR_VERSION 1
#define | XCB_DRI2_MINOR_VERSION 1
#define | XCB_DRI2_QUERY_VERSION 0
#define | XCB_DRI2_CONNECT 1
#define | XCB_DRI2_AUTHENTICATE 2
#define | XCB_DRI2_CREATE_DRAWABLE 3
#define | XCB_DRI2_DESTROY_DRAWABLE 4
#define | XCB_DRI2_GET_BUFFERS 5
#define | XCB_DRI2_COPY_REGION 6
#define | XCB_DRI2_GET_BUFFERS_WITH_FORMAT 7
## Enumerations
enum | xcb_dri2_attachment_t { XCB_DRI2_ATTACHMENT_BUFFER_FRONT_LEFT, XCB_DRI2_ATTACHMENT_BUFFER_BACK_LEFT, XCB_DRI2_ATTACHMENT_BUFFER_FRONT_RIGHT, XCB_DRI2_ATTACHMENT_BUFFER_BACK_RIGHT, XCB_DRI2_ATTACHMENT_BUFFER_DEPTH, XCB_DRI2_ATTACHMENT_BUFFER_STENCIL, XCB_DRI2_ATTACHMENT_BUFFER_ACCUM, XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_LEFT, XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_RIGHT, XCB_DRI2_ATTACHMENT_BUFFER_DEPTH_STENCIL }
enum | xcb_dri2_driver_type_t { XCB_DRI2_DRIVER_TYPE_DRI }
## Functions
void | xcb_dri2_dri2_buffer_next (xcb_dri2_dri2_buffer_iterator_t *i)
xcb_generic_iterator_t | xcb_dri2_dri2_buffer_end (xcb_dri2_dri2_buffer_iterator_t i)
void | xcb_dri2_attach_format_next (xcb_dri2_attach_format_iterator_t *i)
xcb_generic_iterator_t | xcb_dri2_attach_format_end (xcb_dri2_attach_format_iterator_t i)
xcb_dri2_query_version_cookie_t | xcb_dri2_query_version (xcb_connection_t *c, uint32_t major_version, uint32_t minor_version)
xcb_dri2_query_version_cookie_t | xcb_dri2_query_version_unchecked (xcb_connection_t *c, uint32_t major_version, uint32_t minor_version)
xcb_dri2_query_version_reply_t * | xcb_dri2_query_version_reply (xcb_connection_t *c, xcb_dri2_query_version_cookie_t cookie, xcb_generic_error_t **e)
xcb_dri2_connect_cookie_t | xcb_dri2_connect (xcb_connection_t *c, xcb_window_t window, uint32_t driver_type)
xcb_dri2_connect_cookie_t | xcb_dri2_connect_unchecked (xcb_connection_t *c, xcb_window_t window, uint32_t driver_type)
char * | xcb_dri2_connect_driver_name (const xcb_dri2_connect_reply_t *R)
int | xcb_dri2_connect_driver_name_length (const xcb_dri2_connect_reply_t *R)
xcb_generic_iterator_t | xcb_dri2_connect_driver_name_end (const xcb_dri2_connect_reply_t *R)
char * | xcb_dri2_connect_device_name (const xcb_dri2_connect_reply_t *R)
int | xcb_dri2_connect_device_name_length (const xcb_dri2_connect_reply_t *R)
xcb_generic_iterator_t | xcb_dri2_connect_device_name_end (const xcb_dri2_connect_reply_t *R)
xcb_dri2_connect_reply_t * | xcb_dri2_connect_reply (xcb_connection_t *c, xcb_dri2_connect_cookie_t cookie, xcb_generic_error_t **e)
xcb_dri2_authenticate_cookie_t | xcb_dri2_authenticate (xcb_connection_t *c, xcb_window_t window, uint32_t magic)
xcb_dri2_authenticate_cookie_t | xcb_dri2_authenticate_unchecked (xcb_connection_t *c, xcb_window_t window, uint32_t magic)
xcb_dri2_authenticate_reply_t * | xcb_dri2_authenticate_reply (xcb_connection_t *c, xcb_dri2_authenticate_cookie_t cookie, xcb_generic_error_t **e)
xcb_void_cookie_t | xcb_dri2_create_drawable_checked (xcb_connection_t *c, xcb_drawable_t drawable)
xcb_void_cookie_t | xcb_dri2_create_drawable (xcb_connection_t *c, xcb_drawable_t drawable)
xcb_void_cookie_t | xcb_dri2_destroy_drawable_checked (xcb_connection_t *c, xcb_drawable_t drawable)
xcb_void_cookie_t | xcb_dri2_destroy_drawable (xcb_connection_t *c, xcb_drawable_t drawable)
xcb_dri2_get_buffers_cookie_t | xcb_dri2_get_buffers (xcb_connection_t *c, xcb_drawable_t drawable, uint32_t count, uint32_t attachments_len, const uint32_t *attachments)
xcb_dri2_get_buffers_cookie_t | xcb_dri2_get_buffers_unchecked (xcb_connection_t *c, xcb_drawable_t drawable, uint32_t count, uint32_t attachments_len, const uint32_t *attachments)
xcb_dri2_dri2_buffer_t * | xcb_dri2_get_buffers_buffers (const xcb_dri2_get_buffers_reply_t *R)
int | xcb_dri2_get_buffers_buffers_length (const xcb_dri2_get_buffers_reply_t *R)
xcb_dri2_dri2_buffer_iterator_t | xcb_dri2_get_buffers_buffers_iterator (const xcb_dri2_get_buffers_reply_t *R)
xcb_dri2_get_buffers_reply_t * | xcb_dri2_get_buffers_reply (xcb_connection_t *c, xcb_dri2_get_buffers_cookie_t cookie, xcb_generic_error_t **e)
xcb_dri2_copy_region_cookie_t | xcb_dri2_copy_region (xcb_connection_t *c, xcb_drawable_t drawable, uint32_t region, uint32_t dest, uint32_t src)
xcb_dri2_copy_region_cookie_t | xcb_dri2_copy_region_unchecked (xcb_connection_t *c, xcb_drawable_t drawable, uint32_t region, uint32_t dest, uint32_t src)
xcb_dri2_copy_region_reply_t * | xcb_dri2_copy_region_reply (xcb_connection_t *c, xcb_dri2_copy_region_cookie_t cookie, xcb_generic_error_t **e)
xcb_dri2_get_buffers_with_format_cookie_t | xcb_dri2_get_buffers_with_format (xcb_connection_t *c, xcb_drawable_t drawable, uint32_t count, uint32_t attachments_len, const xcb_dri2_attach_format_t *attachments)
xcb_dri2_get_buffers_with_format_cookie_t | xcb_dri2_get_buffers_with_format_unchecked (xcb_connection_t *c, xcb_drawable_t drawable, uint32_t count, uint32_t attachments_len, const xcb_dri2_attach_format_t *attachments)
xcb_dri2_dri2_buffer_t * | xcb_dri2_get_buffers_with_format_buffers (const xcb_dri2_get_buffers_with_format_reply_t *R)
int | xcb_dri2_get_buffers_with_format_buffers_length (const xcb_dri2_get_buffers_with_format_reply_t *R)
xcb_dri2_dri2_buffer_iterator_t | xcb_dri2_get_buffers_with_format_buffers_iterator (const xcb_dri2_get_buffers_with_format_reply_t *R)
xcb_dri2_get_buffers_with_format_reply_t * | xcb_dri2_get_buffers_with_format_reply (xcb_connection_t *c, xcb_dri2_get_buffers_with_format_cookie_t cookie, xcb_generic_error_t **e)
## Variables
xcb_extension_t | xcb_dri2_id

## Detailed Description

DRI2 XCB Protocol Implementation.

## Define Documentation

#define XCB_DRI2_AUTHENTICATE 2

Opcode for xcb_dri2_authenticate.

#define XCB_DRI2_CONNECT 1

Opcode for xcb_dri2_connect.

#define XCB_DRI2_COPY_REGION 6

Opcode for xcb_dri2_copy_region.

#define XCB_DRI2_CREATE_DRAWABLE 3

Opcode for xcb_dri2_create_drawable.

#define XCB_DRI2_DESTROY_DRAWABLE 4

Opcode for xcb_dri2_destroy_drawable.

#define XCB_DRI2_GET_BUFFERS 5

Opcode for xcb_dri2_get_buffers.

#define XCB_DRI2_GET_BUFFERS_WITH_FORMAT 7

Opcode for xcb_dri2_get_buffers_with_format.

#define XCB_DRI2_QUERY_VERSION 0

Opcode for xcb_dri2_query_version.

## Function Documentation

xcb_generic_iterator_t xcb_dri2_attach_format_end | ( | xcb_dri2_attach_format_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_dri2_attach_format_iterator_t

Returns:
  The iterator pointing to the last element

Set the current element in the iterator to the last element. The member rem is set to 0. The member data points to the last element.

void xcb_dri2_attach_format_next | ( | xcb_dri2_attach_format_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_dri2_attach_format_iterator_t

Get the next element in the iterator. The member rem is decreased by one. The member data points to the next element. The member index is increased by sizeof(xcb_dri2_attach_format_t)

xcb_dri2_authenticate_cookie_t xcb_dri2_authenticate | ( | xcb_connection_t * | c,
|  | xcb_window_t | window,
|  | uint32_t | magic |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_dri2_authenticate_reply_t* xcb_dri2_authenticate_reply | ( | xcb_connection_t * | c,
|  | xcb_dri2_authenticate_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter `e` supplied to this function must be NULL if xcb_dri2_authenticate_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

xcb_dri2_authenticate_cookie_t xcb_dri2_authenticate_unchecked | ( | xcb_connection_t * | c,
|  | xcb_window_t | window,
|  | uint32_t | magic |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will cause a reply to be generated. Any returned error will be placed in the event queue.

xcb_dri2_connect_cookie_t xcb_dri2_connect | ( | xcb_connection_t * | c,
|  | xcb_window_t | window,
|  | uint32_t | driver_type |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_dri2_connect_reply_t* xcb_dri2_connect_reply | ( | xcb_connection_t * | c,
|  | xcb_dri2_connect_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter `e` supplied to this function must be NULL if xcb_dri2_connect_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

xcb_dri2_connect_cookie_t xcb_dri2_connect_unchecked | ( | xcb_connection_t * | c,
|  | xcb_window_t | window,
|  | uint32_t | driver_type |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will cause a reply to be generated. Any returned error will be placed in the event queue.

xcb_dri2_copy_region_cookie_t xcb_dri2_copy_region | ( | xcb_connection_t * | c,
|  | xcb_drawable_t | drawable,
|  | uint32_t | region,
|  | uint32_t | dest,
|  | uint32_t | src |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_dri2_copy_region_reply_t* xcb_dri2_copy_region_reply | ( | xcb_connection_t * | c,
|  | xcb_dri2_copy_region_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter `e` supplied to this function must be NULL if xcb_dri2_copy_region_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

xcb_dri2_copy_region_cookie_t xcb_dri2_copy_region_unchecked | ( | xcb_connection_t * | c,
|  | xcb_drawable_t | drawable,
|  | uint32_t | region,
|  | uint32_t | dest,
|  | uint32_t | src |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will cause a reply to be generated. Any returned error will be placed in the event queue.

xcb_void_cookie_t xcb_dri2_create_drawable | ( | xcb_connection_t * | c,
|  | xcb_drawable_t | drawable |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_dri2_create_drawable_checked | ( | xcb_connection_t * | c,
|  | xcb_drawable_t | drawable |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will not cause a reply to be generated. Any returned error will be saved for handling by xcb_request_check().

xcb_void_cookie_t xcb_dri2_destroy_drawable | ( | xcb_connection_t * | c,
|  | xcb_drawable_t | drawable |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_dri2_destroy_drawable_checked | ( | xcb_connection_t * | c,
|  | xcb_drawable_t | drawable |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will not cause a reply to be generated. Any returned error will be saved for handling by xcb_request_check().

xcb_generic_iterator_t xcb_dri2_dri2_buffer_end | ( | xcb_dri2_dri2_buffer_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_dri2_dri2_buffer_iterator_t

Returns:
  The iterator pointing to the last element

Set the current element in the iterator to the last element. The member rem is set to 0. The member data points to the last element.

void xcb_dri2_dri2_buffer_next | ( | xcb_dri2_dri2_buffer_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_dri2_dri2_buffer_iterator_t

Get the next element in the iterator. The member rem is decreased by one. The member data points to the next element. The member index is increased by sizeof(xcb_dri2_dri2_buffer_t)

xcb_dri2_get_buffers_cookie_t xcb_dri2_get_buffers | ( | xcb_connection_t * | c,
|  | xcb_drawable_t | drawable,
|  | uint32_t | count,
|  | uint32_t | attachments_len,
|  | const uint32_t * | attachments |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_dri2_get_buffers_reply_t* xcb_dri2_get_buffers_reply | ( | xcb_connection_t * | c,
|  | xcb_dri2_get_buffers_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter `e` supplied to this function must be NULL if xcb_dri2_get_buffers_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

xcb_dri2_get_buffers_cookie_t xcb_dri2_get_buffers_unchecked | ( | xcb_connection_t * | c,
|  | xcb_drawable_t | drawable,
|  | uint32_t | count,
|  | uint32_t | attachments_len,
|  | const uint32_t * | attachments |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will cause a reply to be generated. Any returned error will be placed in the event queue.

xcb_dri2_get_buffers_with_format_cookie_t xcb_dri2_get_buffers_with_format | ( | xcb_connection_t * | c,
|  | xcb_drawable_t | drawable,
|  | uint32_t | count,
|  | uint32_t | attachments_len,
|  | const xcb_dri2_attach_format_t * | attachments |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_dri2_get_buffers_with_format_reply_t* xcb_dri2_get_buffers_with_format_reply | ( | xcb_connection_t * | c,
|  | xcb_dri2_get_buffers_with_format_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter `e` supplied to this function must be NULL if xcb_dri2_get_buffers_with_format_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

xcb_dri2_get_buffers_with_format_cookie_t xcb_dri2_get_buffers_with_format_unchecked | ( | xcb_connection_t * | c,
|  | xcb_drawable_t | drawable,
|  | uint32_t | count,
|  | uint32_t | attachments_len,
|  | const xcb_dri2_attach_format_t * | attachments |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will cause a reply to be generated. Any returned error will be placed in the event queue.

xcb_dri2_query_version_cookie_t xcb_dri2_query_version | ( | xcb_connection_t * | c,
|  | uint32_t | major_version,
|  | uint32_t | minor_version |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_dri2_query_version_reply_t* xcb_dri2_query_version_reply | ( | xcb_connection_t * | c,
|  | xcb_dri2_query_version_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter `e` supplied to this function must be NULL if xcb_dri2_query_version_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

xcb_dri2_query_version_cookie_t xcb_dri2_query_version_unchecked | ( | xcb_connection_t * | c,
|  | uint32_t | major_version,
|  | uint32_t | minor_version |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will cause a reply to be generated. Any returned error will be placed in the event queue.