| | |
| | |
| | |
| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| |
|
| | #ifndef __PRESENT_H |
| | #define __PRESENT_H |
| |
|
| | #include "xcb.h" |
| | #include "xproto.h" |
| | #include "randr.h" |
| | #include "xfixes.h" |
| | #include "sync.h" |
| | #include "dri3.h" |
| |
|
| | #ifdef __cplusplus |
| | extern "C" { |
| | #endif |
| |
|
| | #define XCB_PRESENT_MAJOR_VERSION 1 |
| | #define XCB_PRESENT_MINOR_VERSION 4 |
| |
|
| | extern xcb_extension_t xcb_present_id; |
| |
|
| | typedef enum xcb_present_event_enum_t { |
| | XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0, |
| | XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1, |
| | XCB_PRESENT_EVENT_IDLE_NOTIFY = 2, |
| | XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3 |
| | } xcb_present_event_enum_t; |
| |
|
| | typedef enum xcb_present_event_mask_t { |
| | XCB_PRESENT_EVENT_MASK_NO_EVENT = 0, |
| | XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1, |
| | XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2, |
| | XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4, |
| | XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8 |
| | } xcb_present_event_mask_t; |
| |
|
| | typedef enum xcb_present_option_t { |
| | XCB_PRESENT_OPTION_NONE = 0, |
| | XCB_PRESENT_OPTION_ASYNC = 1, |
| | XCB_PRESENT_OPTION_COPY = 2, |
| | XCB_PRESENT_OPTION_UST = 4, |
| | XCB_PRESENT_OPTION_SUBOPTIMAL = 8, |
| | XCB_PRESENT_OPTION_ASYNC_MAY_TEAR = 16 |
| | } xcb_present_option_t; |
| |
|
| | typedef enum xcb_present_capability_t { |
| | XCB_PRESENT_CAPABILITY_NONE = 0, |
| | XCB_PRESENT_CAPABILITY_ASYNC = 1, |
| | XCB_PRESENT_CAPABILITY_FENCE = 2, |
| | XCB_PRESENT_CAPABILITY_UST = 4, |
| | XCB_PRESENT_CAPABILITY_ASYNC_MAY_TEAR = 8, |
| | XCB_PRESENT_CAPABILITY_SYNCOBJ = 16 |
| | } xcb_present_capability_t; |
| |
|
| | typedef enum xcb_present_complete_kind_t { |
| | XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0, |
| | XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1 |
| | } xcb_present_complete_kind_t; |
| |
|
| | typedef enum xcb_present_complete_mode_t { |
| | XCB_PRESENT_COMPLETE_MODE_COPY = 0, |
| | XCB_PRESENT_COMPLETE_MODE_FLIP = 1, |
| | XCB_PRESENT_COMPLETE_MODE_SKIP = 2, |
| | XCB_PRESENT_COMPLETE_MODE_SUBOPTIMAL_COPY = 3 |
| | } xcb_present_complete_mode_t; |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_notify_t { |
| | xcb_window_t window; |
| | uint32_t serial; |
| | } xcb_present_notify_t; |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_notify_iterator_t { |
| | xcb_present_notify_t *data; |
| | int rem; |
| | int index; |
| | } xcb_present_notify_iterator_t; |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_query_version_cookie_t { |
| | unsigned int sequence; |
| | } xcb_present_query_version_cookie_t; |
| |
|
| | |
| | #define XCB_PRESENT_QUERY_VERSION 0 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_query_version_request_t { |
| | uint8_t major_opcode; |
| | uint8_t minor_opcode; |
| | uint16_t length; |
| | uint32_t major_version; |
| | uint32_t minor_version; |
| | } xcb_present_query_version_request_t; |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_query_version_reply_t { |
| | uint8_t response_type; |
| | uint8_t pad0; |
| | uint16_t sequence; |
| | uint32_t length; |
| | uint32_t major_version; |
| | uint32_t minor_version; |
| | } xcb_present_query_version_reply_t; |
| |
|
| | |
| | #define XCB_PRESENT_PIXMAP 1 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_pixmap_request_t { |
| | uint8_t major_opcode; |
| | uint8_t minor_opcode; |
| | uint16_t length; |
| | xcb_window_t window; |
| | xcb_pixmap_t pixmap; |
| | uint32_t serial; |
| | xcb_xfixes_region_t valid; |
| | xcb_xfixes_region_t update; |
| | int16_t x_off; |
| | int16_t y_off; |
| | xcb_randr_crtc_t target_crtc; |
| | xcb_sync_fence_t wait_fence; |
| | xcb_sync_fence_t idle_fence; |
| | uint32_t options; |
| | uint8_t pad0[4]; |
| | uint64_t target_msc; |
| | uint64_t divisor; |
| | uint64_t remainder; |
| | } xcb_present_pixmap_request_t; |
| |
|
| | |
| | #define XCB_PRESENT_NOTIFY_MSC 2 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_notify_msc_request_t { |
| | uint8_t major_opcode; |
| | uint8_t minor_opcode; |
| | uint16_t length; |
| | xcb_window_t window; |
| | uint32_t serial; |
| | uint8_t pad0[4]; |
| | uint64_t target_msc; |
| | uint64_t divisor; |
| | uint64_t remainder; |
| | } xcb_present_notify_msc_request_t; |
| |
|
| | typedef uint32_t xcb_present_event_t; |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_event_iterator_t { |
| | xcb_present_event_t *data; |
| | int rem; |
| | int index; |
| | } xcb_present_event_iterator_t; |
| |
|
| | |
| | #define XCB_PRESENT_SELECT_INPUT 3 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_select_input_request_t { |
| | uint8_t major_opcode; |
| | uint8_t minor_opcode; |
| | uint16_t length; |
| | xcb_present_event_t eid; |
| | xcb_window_t window; |
| | uint32_t event_mask; |
| | } xcb_present_select_input_request_t; |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_query_capabilities_cookie_t { |
| | unsigned int sequence; |
| | } xcb_present_query_capabilities_cookie_t; |
| |
|
| | |
| | #define XCB_PRESENT_QUERY_CAPABILITIES 4 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_query_capabilities_request_t { |
| | uint8_t major_opcode; |
| | uint8_t minor_opcode; |
| | uint16_t length; |
| | uint32_t target; |
| | } xcb_present_query_capabilities_request_t; |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_query_capabilities_reply_t { |
| | uint8_t response_type; |
| | uint8_t pad0; |
| | uint16_t sequence; |
| | uint32_t length; |
| | uint32_t capabilities; |
| | } xcb_present_query_capabilities_reply_t; |
| |
|
| | |
| | #define XCB_PRESENT_PIXMAP_SYNCED 5 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_pixmap_synced_request_t { |
| | uint8_t major_opcode; |
| | uint8_t minor_opcode; |
| | uint16_t length; |
| | xcb_window_t window; |
| | xcb_pixmap_t pixmap; |
| | uint32_t serial; |
| | xcb_xfixes_region_t valid; |
| | xcb_xfixes_region_t update; |
| | int16_t x_off; |
| | int16_t y_off; |
| | xcb_randr_crtc_t target_crtc; |
| | xcb_dri3_syncobj_t acquire_syncobj; |
| | xcb_dri3_syncobj_t release_syncobj; |
| | uint64_t acquire_point; |
| | uint64_t release_point; |
| | uint32_t options; |
| | uint8_t pad0[4]; |
| | uint64_t target_msc; |
| | uint64_t divisor; |
| | uint64_t remainder; |
| | } xcb_present_pixmap_synced_request_t; |
| |
|
| | |
| | #define XCB_PRESENT_GENERIC 0 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_generic_event_t { |
| | uint8_t response_type; |
| | uint8_t extension; |
| | uint16_t sequence; |
| | uint32_t length; |
| | uint16_t evtype; |
| | uint8_t pad0[2]; |
| | xcb_present_event_t event; |
| | } xcb_present_generic_event_t; |
| |
|
| | |
| | #define XCB_PRESENT_CONFIGURE_NOTIFY 0 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_configure_notify_event_t { |
| | uint8_t response_type; |
| | uint8_t extension; |
| | uint16_t sequence; |
| | uint32_t length; |
| | uint16_t event_type; |
| | uint8_t pad0[2]; |
| | xcb_present_event_t event; |
| | xcb_window_t window; |
| | int16_t x; |
| | int16_t y; |
| | uint16_t width; |
| | uint16_t height; |
| | int16_t off_x; |
| | int16_t off_y; |
| | uint32_t full_sequence; |
| | uint16_t pixmap_width; |
| | uint16_t pixmap_height; |
| | uint32_t pixmap_flags; |
| | } xcb_present_configure_notify_event_t; |
| |
|
| | |
| | #define XCB_PRESENT_COMPLETE_NOTIFY 1 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_complete_notify_event_t { |
| | uint8_t response_type; |
| | uint8_t extension; |
| | uint16_t sequence; |
| | uint32_t length; |
| | uint16_t event_type; |
| | uint8_t kind; |
| | uint8_t mode; |
| | xcb_present_event_t event; |
| | xcb_window_t window; |
| | uint32_t serial; |
| | uint64_t ust; |
| | uint32_t full_sequence; |
| | uint64_t msc; |
| | } XCB_PACKED xcb_present_complete_notify_event_t; |
| |
|
| | |
| | #define XCB_PRESENT_IDLE_NOTIFY 2 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_idle_notify_event_t { |
| | uint8_t response_type; |
| | uint8_t extension; |
| | uint16_t sequence; |
| | uint32_t length; |
| | uint16_t event_type; |
| | uint8_t pad0[2]; |
| | xcb_present_event_t event; |
| | xcb_window_t window; |
| | uint32_t serial; |
| | xcb_pixmap_t pixmap; |
| | xcb_sync_fence_t idle_fence; |
| | uint32_t full_sequence; |
| | } xcb_present_idle_notify_event_t; |
| |
|
| | |
| | #define XCB_PRESENT_REDIRECT_NOTIFY 3 |
| |
|
| | |
| | |
| | |
| | typedef struct xcb_present_redirect_notify_event_t { |
| | uint8_t response_type; |
| | uint8_t extension; |
| | uint16_t sequence; |
| | uint32_t length; |
| | uint16_t event_type; |
| | uint8_t update_window; |
| | uint8_t pad0; |
| | xcb_present_event_t event; |
| | xcb_window_t event_window; |
| | xcb_window_t window; |
| | xcb_pixmap_t pixmap; |
| | uint32_t serial; |
| | uint32_t full_sequence; |
| | xcb_xfixes_region_t valid_region; |
| | xcb_xfixes_region_t update_region; |
| | xcb_rectangle_t valid_rect; |
| | xcb_rectangle_t update_rect; |
| | int16_t x_off; |
| | int16_t y_off; |
| | xcb_randr_crtc_t target_crtc; |
| | xcb_sync_fence_t wait_fence; |
| | xcb_sync_fence_t idle_fence; |
| | uint32_t options; |
| | uint8_t pad1[4]; |
| | uint64_t target_msc; |
| | uint64_t divisor; |
| | uint64_t remainder; |
| | } XCB_PACKED xcb_present_redirect_notify_event_t; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | void |
| | xcb_present_notify_next (xcb_present_notify_iterator_t *i); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_generic_iterator_t |
| | xcb_present_notify_end (xcb_present_notify_iterator_t i); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_present_query_version_cookie_t |
| | xcb_present_query_version (xcb_connection_t *c, |
| | uint32_t major_version, |
| | uint32_t minor_version); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_present_query_version_cookie_t |
| | xcb_present_query_version_unchecked (xcb_connection_t *c, |
| | uint32_t major_version, |
| | uint32_t minor_version); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_present_query_version_reply_t * |
| | xcb_present_query_version_reply (xcb_connection_t *c, |
| | xcb_present_query_version_cookie_t cookie , |
| | xcb_generic_error_t **e); |
| |
|
| | int |
| | xcb_present_pixmap_sizeof (const void *_buffer, |
| | uint32_t notifies_len); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_void_cookie_t |
| | xcb_present_pixmap_checked (xcb_connection_t *c, |
| | xcb_window_t window, |
| | xcb_pixmap_t pixmap, |
| | uint32_t serial, |
| | xcb_xfixes_region_t valid, |
| | xcb_xfixes_region_t update, |
| | int16_t x_off, |
| | int16_t y_off, |
| | xcb_randr_crtc_t target_crtc, |
| | xcb_sync_fence_t wait_fence, |
| | xcb_sync_fence_t idle_fence, |
| | uint32_t options, |
| | uint64_t target_msc, |
| | uint64_t divisor, |
| | uint64_t remainder, |
| | uint32_t notifies_len, |
| | const xcb_present_notify_t *notifies); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_void_cookie_t |
| | xcb_present_pixmap (xcb_connection_t *c, |
| | xcb_window_t window, |
| | xcb_pixmap_t pixmap, |
| | uint32_t serial, |
| | xcb_xfixes_region_t valid, |
| | xcb_xfixes_region_t update, |
| | int16_t x_off, |
| | int16_t y_off, |
| | xcb_randr_crtc_t target_crtc, |
| | xcb_sync_fence_t wait_fence, |
| | xcb_sync_fence_t idle_fence, |
| | uint32_t options, |
| | uint64_t target_msc, |
| | uint64_t divisor, |
| | uint64_t remainder, |
| | uint32_t notifies_len, |
| | const xcb_present_notify_t *notifies); |
| |
|
| | xcb_present_notify_t * |
| | xcb_present_pixmap_notifies (const xcb_present_pixmap_request_t *R); |
| |
|
| | int |
| | xcb_present_pixmap_notifies_length (const xcb_present_pixmap_request_t *R); |
| |
|
| | xcb_present_notify_iterator_t |
| | xcb_present_pixmap_notifies_iterator (const xcb_present_pixmap_request_t *R); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_void_cookie_t |
| | xcb_present_notify_msc_checked (xcb_connection_t *c, |
| | xcb_window_t window, |
| | uint32_t serial, |
| | uint64_t target_msc, |
| | uint64_t divisor, |
| | uint64_t remainder); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_void_cookie_t |
| | xcb_present_notify_msc (xcb_connection_t *c, |
| | xcb_window_t window, |
| | uint32_t serial, |
| | uint64_t target_msc, |
| | uint64_t divisor, |
| | uint64_t remainder); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | void |
| | xcb_present_event_next (xcb_present_event_iterator_t *i); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_generic_iterator_t |
| | xcb_present_event_end (xcb_present_event_iterator_t i); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_void_cookie_t |
| | xcb_present_select_input_checked (xcb_connection_t *c, |
| | xcb_present_event_t eid, |
| | xcb_window_t window, |
| | uint32_t event_mask); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_void_cookie_t |
| | xcb_present_select_input (xcb_connection_t *c, |
| | xcb_present_event_t eid, |
| | xcb_window_t window, |
| | uint32_t event_mask); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_present_query_capabilities_cookie_t |
| | xcb_present_query_capabilities (xcb_connection_t *c, |
| | uint32_t target); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_present_query_capabilities_cookie_t |
| | xcb_present_query_capabilities_unchecked (xcb_connection_t *c, |
| | uint32_t target); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_present_query_capabilities_reply_t * |
| | xcb_present_query_capabilities_reply (xcb_connection_t *c, |
| | xcb_present_query_capabilities_cookie_t cookie , |
| | xcb_generic_error_t **e); |
| |
|
| | int |
| | xcb_present_pixmap_synced_sizeof (const void *_buffer, |
| | uint32_t notifies_len); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_void_cookie_t |
| | xcb_present_pixmap_synced_checked (xcb_connection_t *c, |
| | xcb_window_t window, |
| | xcb_pixmap_t pixmap, |
| | uint32_t serial, |
| | xcb_xfixes_region_t valid, |
| | xcb_xfixes_region_t update, |
| | int16_t x_off, |
| | int16_t y_off, |
| | xcb_randr_crtc_t target_crtc, |
| | xcb_dri3_syncobj_t acquire_syncobj, |
| | xcb_dri3_syncobj_t release_syncobj, |
| | uint64_t acquire_point, |
| | uint64_t release_point, |
| | uint32_t options, |
| | uint64_t target_msc, |
| | uint64_t divisor, |
| | uint64_t remainder, |
| | uint32_t notifies_len, |
| | const xcb_present_notify_t *notifies); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | xcb_void_cookie_t |
| | xcb_present_pixmap_synced (xcb_connection_t *c, |
| | xcb_window_t window, |
| | xcb_pixmap_t pixmap, |
| | uint32_t serial, |
| | xcb_xfixes_region_t valid, |
| | xcb_xfixes_region_t update, |
| | int16_t x_off, |
| | int16_t y_off, |
| | xcb_randr_crtc_t target_crtc, |
| | xcb_dri3_syncobj_t acquire_syncobj, |
| | xcb_dri3_syncobj_t release_syncobj, |
| | uint64_t acquire_point, |
| | uint64_t release_point, |
| | uint32_t options, |
| | uint64_t target_msc, |
| | uint64_t divisor, |
| | uint64_t remainder, |
| | uint32_t notifies_len, |
| | const xcb_present_notify_t *notifies); |
| |
|
| | xcb_present_notify_t * |
| | xcb_present_pixmap_synced_notifies (const xcb_present_pixmap_synced_request_t *R); |
| |
|
| | int |
| | xcb_present_pixmap_synced_notifies_length (const xcb_present_pixmap_synced_request_t *R); |
| |
|
| | xcb_present_notify_iterator_t |
| | xcb_present_pixmap_synced_notifies_iterator (const xcb_present_pixmap_synced_request_t *R); |
| |
|
| | int |
| | xcb_present_redirect_notify_sizeof (const void *_buffer, |
| | uint32_t notifies_len); |
| |
|
| | xcb_present_notify_t * |
| | xcb_present_redirect_notify_notifies (const xcb_present_redirect_notify_event_t *R); |
| |
|
| | int |
| | xcb_present_redirect_notify_notifies_length (const xcb_present_redirect_notify_event_t *R); |
| |
|
| | xcb_present_notify_iterator_t |
| | xcb_present_redirect_notify_notifies_iterator (const xcb_present_redirect_notify_event_t *R); |
| |
|
| |
|
| | #ifdef __cplusplus |
| | } |
| | #endif |
| |
|
| | #endif |
| |
|
| | |
| | |
| | |
| |
|