00001
00002
00003
00004
00005
00012 #ifndef __DRI2_H
00013 #define __DRI2_H
00014
00015 #include "xcb.h"
00016 #include "xproto.h"
00017
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021
00022 #define XCB_DRI2_MAJOR_VERSION 1
00023 #define XCB_DRI2_MINOR_VERSION 3
00024
00025 extern xcb_extension_t xcb_dri2_id;
00026
00027 typedef enum xcb_dri2_attachment_t {
00028 XCB_DRI2_ATTACHMENT_BUFFER_FRONT_LEFT,
00029 XCB_DRI2_ATTACHMENT_BUFFER_BACK_LEFT,
00030 XCB_DRI2_ATTACHMENT_BUFFER_FRONT_RIGHT,
00031 XCB_DRI2_ATTACHMENT_BUFFER_BACK_RIGHT,
00032 XCB_DRI2_ATTACHMENT_BUFFER_DEPTH,
00033 XCB_DRI2_ATTACHMENT_BUFFER_STENCIL,
00034 XCB_DRI2_ATTACHMENT_BUFFER_ACCUM,
00035 XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_LEFT,
00036 XCB_DRI2_ATTACHMENT_BUFFER_FAKE_FRONT_RIGHT,
00037 XCB_DRI2_ATTACHMENT_BUFFER_DEPTH_STENCIL,
00038 XCB_DRI2_ATTACHMENT_BUFFER_HIZ
00039 } xcb_dri2_attachment_t;
00040
00041 typedef enum xcb_dri2_driver_type_t {
00042 XCB_DRI2_DRIVER_TYPE_DRI,
00043 XCB_DRI2_DRIVER_TYPE_VDPAU
00044 } xcb_dri2_driver_type_t;
00045
00046 typedef enum xcb_dri2_event_type_t {
00047 XCB_DRI2_EVENT_TYPE_EXCHANGE_COMPLETE = 1,
00048 XCB_DRI2_EVENT_TYPE_BLIT_COMPLETE = 2,
00049 XCB_DRI2_EVENT_TYPE_FLIP_COMPLETE = 3
00050 } xcb_dri2_event_type_t;
00051
00055 typedef struct xcb_dri2_dri2_buffer_t {
00056 uint32_t attachment;
00057 uint32_t name;
00058 uint32_t pitch;
00059 uint32_t cpp;
00060 uint32_t flags;
00061 } xcb_dri2_dri2_buffer_t;
00062
00066 typedef struct xcb_dri2_dri2_buffer_iterator_t {
00067 xcb_dri2_dri2_buffer_t *data;
00068 int rem;
00069 int index;
00070 } xcb_dri2_dri2_buffer_iterator_t;
00071
00075 typedef struct xcb_dri2_attach_format_t {
00076 uint32_t attachment;
00077 uint32_t format;
00078 } xcb_dri2_attach_format_t;
00079
00083 typedef struct xcb_dri2_attach_format_iterator_t {
00084 xcb_dri2_attach_format_t *data;
00085 int rem;
00086 int index;
00087 } xcb_dri2_attach_format_iterator_t;
00088
00092 typedef struct xcb_dri2_query_version_cookie_t {
00093 unsigned int sequence;
00094 } xcb_dri2_query_version_cookie_t;
00095
00097 #define XCB_DRI2_QUERY_VERSION 0
00098
00102 typedef struct xcb_dri2_query_version_request_t {
00103 uint8_t major_opcode;
00104 uint8_t minor_opcode;
00105 uint16_t length;
00106 uint32_t major_version;
00107 uint32_t minor_version;
00108 } xcb_dri2_query_version_request_t;
00109
00113 typedef struct xcb_dri2_query_version_reply_t {
00114 uint8_t response_type;
00115 uint8_t pad0;
00116 uint16_t sequence;
00117 uint32_t length;
00118 uint32_t major_version;
00119 uint32_t minor_version;
00120 } xcb_dri2_query_version_reply_t;
00121
00125 typedef struct xcb_dri2_connect_cookie_t {
00126 unsigned int sequence;
00127 } xcb_dri2_connect_cookie_t;
00128
00130 #define XCB_DRI2_CONNECT 1
00131
00135 typedef struct xcb_dri2_connect_request_t {
00136 uint8_t major_opcode;
00137 uint8_t minor_opcode;
00138 uint16_t length;
00139 xcb_window_t window;
00140 uint32_t driver_type;
00141 } xcb_dri2_connect_request_t;
00142
00146 typedef struct xcb_dri2_connect_reply_t {
00147 uint8_t response_type;
00148 uint8_t pad0;
00149 uint16_t sequence;
00150 uint32_t length;
00151 uint32_t driver_name_length;
00152 uint32_t device_name_length;
00153 uint8_t pad1[16];
00154 } xcb_dri2_connect_reply_t;
00155
00159 typedef struct xcb_dri2_authenticate_cookie_t {
00160 unsigned int sequence;
00161 } xcb_dri2_authenticate_cookie_t;
00162
00164 #define XCB_DRI2_AUTHENTICATE 2
00165
00169 typedef struct xcb_dri2_authenticate_request_t {
00170 uint8_t major_opcode;
00171 uint8_t minor_opcode;
00172 uint16_t length;
00173 xcb_window_t window;
00174 uint32_t magic;
00175 } xcb_dri2_authenticate_request_t;
00176
00180 typedef struct xcb_dri2_authenticate_reply_t {
00181 uint8_t response_type;
00182 uint8_t pad0;
00183 uint16_t sequence;
00184 uint32_t length;
00185 uint32_t authenticated;
00186 } xcb_dri2_authenticate_reply_t;
00187
00189 #define XCB_DRI2_CREATE_DRAWABLE 3
00190
00194 typedef struct xcb_dri2_create_drawable_request_t {
00195 uint8_t major_opcode;
00196 uint8_t minor_opcode;
00197 uint16_t length;
00198 xcb_drawable_t drawable;
00199 } xcb_dri2_create_drawable_request_t;
00200
00202 #define XCB_DRI2_DESTROY_DRAWABLE 4
00203
00207 typedef struct xcb_dri2_destroy_drawable_request_t {
00208 uint8_t major_opcode;
00209 uint8_t minor_opcode;
00210 uint16_t length;
00211 xcb_drawable_t drawable;
00212 } xcb_dri2_destroy_drawable_request_t;
00213
00217 typedef struct xcb_dri2_get_buffers_cookie_t {
00218 unsigned int sequence;
00219 } xcb_dri2_get_buffers_cookie_t;
00220
00222 #define XCB_DRI2_GET_BUFFERS 5
00223
00227 typedef struct xcb_dri2_get_buffers_request_t {
00228 uint8_t major_opcode;
00229 uint8_t minor_opcode;
00230 uint16_t length;
00231 xcb_drawable_t drawable;
00232 uint32_t count;
00233 } xcb_dri2_get_buffers_request_t;
00234
00238 typedef struct xcb_dri2_get_buffers_reply_t {
00239 uint8_t response_type;
00240 uint8_t pad0;
00241 uint16_t sequence;
00242 uint32_t length;
00243 uint32_t width;
00244 uint32_t height;
00245 uint32_t count;
00246 uint8_t pad1[12];
00247 } xcb_dri2_get_buffers_reply_t;
00248
00252 typedef struct xcb_dri2_copy_region_cookie_t {
00253 unsigned int sequence;
00254 } xcb_dri2_copy_region_cookie_t;
00255
00257 #define XCB_DRI2_COPY_REGION 6
00258
00262 typedef struct xcb_dri2_copy_region_request_t {
00263 uint8_t major_opcode;
00264 uint8_t minor_opcode;
00265 uint16_t length;
00266 xcb_drawable_t drawable;
00267 uint32_t region;
00268 uint32_t dest;
00269 uint32_t src;
00270 } xcb_dri2_copy_region_request_t;
00271
00275 typedef struct xcb_dri2_copy_region_reply_t {
00276 uint8_t response_type;
00277 uint8_t pad0;
00278 uint16_t sequence;
00279 uint32_t length;
00280 } xcb_dri2_copy_region_reply_t;
00281
00285 typedef struct xcb_dri2_get_buffers_with_format_cookie_t {
00286 unsigned int sequence;
00287 } xcb_dri2_get_buffers_with_format_cookie_t;
00288
00290 #define XCB_DRI2_GET_BUFFERS_WITH_FORMAT 7
00291
00295 typedef struct xcb_dri2_get_buffers_with_format_request_t {
00296 uint8_t major_opcode;
00297 uint8_t minor_opcode;
00298 uint16_t length;
00299 xcb_drawable_t drawable;
00300 uint32_t count;
00301 } xcb_dri2_get_buffers_with_format_request_t;
00302
00306 typedef struct xcb_dri2_get_buffers_with_format_reply_t {
00307 uint8_t response_type;
00308 uint8_t pad0;
00309 uint16_t sequence;
00310 uint32_t length;
00311 uint32_t width;
00312 uint32_t height;
00313 uint32_t count;
00314 uint8_t pad1[12];
00315 } xcb_dri2_get_buffers_with_format_reply_t;
00316
00320 typedef struct xcb_dri2_swap_buffers_cookie_t {
00321 unsigned int sequence;
00322 } xcb_dri2_swap_buffers_cookie_t;
00323
00325 #define XCB_DRI2_SWAP_BUFFERS 8
00326
00330 typedef struct xcb_dri2_swap_buffers_request_t {
00331 uint8_t major_opcode;
00332 uint8_t minor_opcode;
00333 uint16_t length;
00334 xcb_drawable_t drawable;
00335 uint32_t target_msc_hi;
00336 uint32_t target_msc_lo;
00337 uint32_t divisor_hi;
00338 uint32_t divisor_lo;
00339 uint32_t remainder_hi;
00340 uint32_t remainder_lo;
00341 } xcb_dri2_swap_buffers_request_t;
00342
00346 typedef struct xcb_dri2_swap_buffers_reply_t {
00347 uint8_t response_type;
00348 uint8_t pad0;
00349 uint16_t sequence;
00350 uint32_t length;
00351 uint32_t swap_hi;
00352 uint32_t swap_lo;
00353 } xcb_dri2_swap_buffers_reply_t;
00354
00358 typedef struct xcb_dri2_get_msc_cookie_t {
00359 unsigned int sequence;
00360 } xcb_dri2_get_msc_cookie_t;
00361
00363 #define XCB_DRI2_GET_MSC 9
00364
00368 typedef struct xcb_dri2_get_msc_request_t {
00369 uint8_t major_opcode;
00370 uint8_t minor_opcode;
00371 uint16_t length;
00372 xcb_drawable_t drawable;
00373 } xcb_dri2_get_msc_request_t;
00374
00378 typedef struct xcb_dri2_get_msc_reply_t {
00379 uint8_t response_type;
00380 uint8_t pad0;
00381 uint16_t sequence;
00382 uint32_t length;
00383 uint32_t ust_hi;
00384 uint32_t ust_lo;
00385 uint32_t msc_hi;
00386 uint32_t msc_lo;
00387 uint32_t sbc_hi;
00388 uint32_t sbc_lo;
00389 } xcb_dri2_get_msc_reply_t;
00390
00394 typedef struct xcb_dri2_wait_msc_cookie_t {
00395 unsigned int sequence;
00396 } xcb_dri2_wait_msc_cookie_t;
00397
00399 #define XCB_DRI2_WAIT_MSC 10
00400
00404 typedef struct xcb_dri2_wait_msc_request_t {
00405 uint8_t major_opcode;
00406 uint8_t minor_opcode;
00407 uint16_t length;
00408 xcb_drawable_t drawable;
00409 uint32_t target_msc_hi;
00410 uint32_t target_msc_lo;
00411 uint32_t divisor_hi;
00412 uint32_t divisor_lo;
00413 uint32_t remainder_hi;
00414 uint32_t remainder_lo;
00415 } xcb_dri2_wait_msc_request_t;
00416
00420 typedef struct xcb_dri2_wait_msc_reply_t {
00421 uint8_t response_type;
00422 uint8_t pad0;
00423 uint16_t sequence;
00424 uint32_t length;
00425 uint32_t ust_hi;
00426 uint32_t ust_lo;
00427 uint32_t msc_hi;
00428 uint32_t msc_lo;
00429 uint32_t sbc_hi;
00430 uint32_t sbc_lo;
00431 } xcb_dri2_wait_msc_reply_t;
00432
00436 typedef struct xcb_dri2_wait_sbc_cookie_t {
00437 unsigned int sequence;
00438 } xcb_dri2_wait_sbc_cookie_t;
00439
00441 #define XCB_DRI2_WAIT_SBC 11
00442
00446 typedef struct xcb_dri2_wait_sbc_request_t {
00447 uint8_t major_opcode;
00448 uint8_t minor_opcode;
00449 uint16_t length;
00450 xcb_drawable_t drawable;
00451 uint32_t target_sbc_hi;
00452 uint32_t target_sbc_lo;
00453 } xcb_dri2_wait_sbc_request_t;
00454
00458 typedef struct xcb_dri2_wait_sbc_reply_t {
00459 uint8_t response_type;
00460 uint8_t pad0;
00461 uint16_t sequence;
00462 uint32_t length;
00463 uint32_t ust_hi;
00464 uint32_t ust_lo;
00465 uint32_t msc_hi;
00466 uint32_t msc_lo;
00467 uint32_t sbc_hi;
00468 uint32_t sbc_lo;
00469 } xcb_dri2_wait_sbc_reply_t;
00470
00472 #define XCB_DRI2_SWAP_INTERVAL 12
00473
00477 typedef struct xcb_dri2_swap_interval_request_t {
00478 uint8_t major_opcode;
00479 uint8_t minor_opcode;
00480 uint16_t length;
00481 xcb_drawable_t drawable;
00482 uint32_t interval;
00483 } xcb_dri2_swap_interval_request_t;
00484
00486 #define XCB_DRI2_BUFFER_SWAP_COMPLETE 0
00487
00491 typedef struct xcb_dri2_buffer_swap_complete_event_t {
00492 uint8_t response_type;
00493 uint8_t pad0;
00494 uint16_t sequence;
00495 uint16_t event_type;
00496 uint8_t pad1[2];
00497 xcb_drawable_t drawable;
00498 uint32_t ust_hi;
00499 uint32_t ust_lo;
00500 uint32_t msc_hi;
00501 uint32_t msc_lo;
00502 uint32_t sbc;
00503 } xcb_dri2_buffer_swap_complete_event_t;
00504
00506 #define XCB_DRI2_INVALIDATE_BUFFERS 1
00507
00511 typedef struct xcb_dri2_invalidate_buffers_event_t {
00512 uint8_t response_type;
00513 uint8_t pad0;
00514 uint16_t sequence;
00515 xcb_drawable_t drawable;
00516 } xcb_dri2_invalidate_buffers_event_t;
00517
00527
00528
00529
00530
00531
00532
00533
00534
00535
00536 void
00537 xcb_dri2_dri2_buffer_next (xcb_dri2_dri2_buffer_iterator_t *i );
00538
00549
00550
00551
00552
00553
00554
00555
00556
00557
00558 xcb_generic_iterator_t
00559 xcb_dri2_dri2_buffer_end (xcb_dri2_dri2_buffer_iterator_t i );
00560
00570
00571
00572
00573
00574
00575
00576
00577
00578
00579 void
00580 xcb_dri2_attach_format_next (xcb_dri2_attach_format_iterator_t *i );
00581
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601 xcb_generic_iterator_t
00602 xcb_dri2_attach_format_end (xcb_dri2_attach_format_iterator_t i );
00603
00613
00614
00615
00616
00617
00618
00619
00620
00621
00622
00623
00624 xcb_dri2_query_version_cookie_t
00625 xcb_dri2_query_version (xcb_connection_t *c ,
00626 uint32_t major_version ,
00627 uint32_t minor_version );
00628
00641
00642
00643
00644
00645
00646
00647
00648
00649
00650
00651
00652 xcb_dri2_query_version_cookie_t
00653 xcb_dri2_query_version_unchecked (xcb_connection_t *c ,
00654 uint32_t major_version ,
00655 uint32_t minor_version );
00656
00672
00673
00674
00675
00676
00677
00678
00679
00680
00681
00682
00683 xcb_dri2_query_version_reply_t *
00684 xcb_dri2_query_version_reply (xcb_connection_t *c ,
00685 xcb_dri2_query_version_cookie_t cookie ,
00686 xcb_generic_error_t **e );
00687
00688 int
00689 xcb_dri2_connect_sizeof (const void *_buffer );
00690
00700
00701
00702
00703
00704
00705
00706
00707
00708
00709
00710
00711 xcb_dri2_connect_cookie_t
00712 xcb_dri2_connect (xcb_connection_t *c ,
00713 xcb_window_t window ,
00714 uint32_t driver_type );
00715
00728
00729
00730
00731
00732
00733
00734
00735
00736
00737
00738
00739 xcb_dri2_connect_cookie_t
00740 xcb_dri2_connect_unchecked (xcb_connection_t *c ,
00741 xcb_window_t window ,
00742 uint32_t driver_type );
00743
00744
00745
00746
00747
00748
00749
00750
00751
00752
00753
00754 char *
00755 xcb_dri2_connect_driver_name (const xcb_dri2_connect_reply_t *R );
00756
00757
00758
00759
00760
00761
00762
00763
00764
00765
00766
00767 int
00768 xcb_dri2_connect_driver_name_length (const xcb_dri2_connect_reply_t *R );
00769
00770
00771
00772
00773
00774
00775
00776
00777
00778
00779
00780 xcb_generic_iterator_t
00781 xcb_dri2_connect_driver_name_end (const xcb_dri2_connect_reply_t *R );
00782
00783
00784
00785
00786
00787
00788
00789
00790
00791
00792
00793 void *
00794 xcb_dri2_connect_alignment_pad (const xcb_dri2_connect_reply_t *R );
00795
00796
00797
00798
00799
00800
00801
00802
00803
00804
00805
00806 int
00807 xcb_dri2_connect_alignment_pad_length (const xcb_dri2_connect_reply_t *R );
00808
00809
00810
00811
00812
00813
00814
00815
00816
00817
00818
00819 xcb_generic_iterator_t
00820 xcb_dri2_connect_alignment_pad_end (const xcb_dri2_connect_reply_t *R );
00821
00822
00823
00824
00825
00826
00827
00828
00829
00830
00831
00832 char *
00833 xcb_dri2_connect_device_name (const xcb_dri2_connect_reply_t *R );
00834
00835
00836
00837
00838
00839
00840
00841
00842
00843
00844
00845 int
00846 xcb_dri2_connect_device_name_length (const xcb_dri2_connect_reply_t *R );
00847
00848
00849
00850
00851
00852
00853
00854
00855
00856
00857
00858 xcb_generic_iterator_t
00859 xcb_dri2_connect_device_name_end (const xcb_dri2_connect_reply_t *R );
00860
00876
00877
00878
00879
00880
00881
00882
00883
00884
00885
00886
00887 xcb_dri2_connect_reply_t *
00888 xcb_dri2_connect_reply (xcb_connection_t *c ,
00889 xcb_dri2_connect_cookie_t cookie ,
00890 xcb_generic_error_t **e );
00891
00901
00902
00903
00904
00905
00906
00907
00908
00909
00910
00911
00912 xcb_dri2_authenticate_cookie_t
00913 xcb_dri2_authenticate (xcb_connection_t *c ,
00914 xcb_window_t window ,
00915 uint32_t magic );
00916
00929
00930
00931
00932
00933
00934
00935
00936
00937
00938
00939
00940 xcb_dri2_authenticate_cookie_t
00941 xcb_dri2_authenticate_unchecked (xcb_connection_t *c ,
00942 xcb_window_t window ,
00943 uint32_t magic );
00944
00960
00961
00962
00963
00964
00965
00966
00967
00968
00969
00970
00971 xcb_dri2_authenticate_reply_t *
00972 xcb_dri2_authenticate_reply (xcb_connection_t *c ,
00973 xcb_dri2_authenticate_cookie_t cookie ,
00974 xcb_generic_error_t **e );
00975
00988
00989
00990
00991
00992
00993
00994
00995
00996
00997
00998 xcb_void_cookie_t
00999 xcb_dri2_create_drawable_checked (xcb_connection_t *c ,
01000 xcb_drawable_t drawable );
01001
01011
01012
01013
01014
01015
01016
01017
01018
01019
01020
01021 xcb_void_cookie_t
01022 xcb_dri2_create_drawable (xcb_connection_t *c ,
01023 xcb_drawable_t drawable );
01024
01037
01038
01039
01040
01041
01042
01043
01044
01045
01046
01047 xcb_void_cookie_t
01048 xcb_dri2_destroy_drawable_checked (xcb_connection_t *c ,
01049 xcb_drawable_t drawable );
01050
01060
01061
01062
01063
01064
01065
01066
01067
01068
01069
01070 xcb_void_cookie_t
01071 xcb_dri2_destroy_drawable (xcb_connection_t *c ,
01072 xcb_drawable_t drawable );
01073
01074 int
01075 xcb_dri2_get_buffers_sizeof (const void *_buffer ,
01076 uint32_t attachments_len );
01077
01087
01088
01089
01090
01091
01092
01093
01094
01095
01096
01097
01098
01099
01100 xcb_dri2_get_buffers_cookie_t
01101 xcb_dri2_get_buffers (xcb_connection_t *c ,
01102 xcb_drawable_t drawable ,
01103 uint32_t count ,
01104 uint32_t attachments_len ,
01105 const uint32_t *attachments );
01106
01119
01120
01121
01122
01123
01124
01125
01126
01127
01128
01129
01130
01131
01132 xcb_dri2_get_buffers_cookie_t
01133 xcb_dri2_get_buffers_unchecked (xcb_connection_t *c ,
01134 xcb_drawable_t drawable ,
01135 uint32_t count ,
01136 uint32_t attachments_len ,
01137 const uint32_t *attachments );
01138
01139
01140
01141
01142
01143
01144
01145
01146
01147
01148
01149 xcb_dri2_dri2_buffer_t *
01150 xcb_dri2_get_buffers_buffers (const xcb_dri2_get_buffers_reply_t *R );
01151
01152
01153
01154
01155
01156
01157
01158
01159
01160
01161
01162 int
01163 xcb_dri2_get_buffers_buffers_length (const xcb_dri2_get_buffers_reply_t *R );
01164
01165
01166
01167
01168
01169
01170
01171
01172
01173
01174
01175 xcb_dri2_dri2_buffer_iterator_t
01176 xcb_dri2_get_buffers_buffers_iterator (const xcb_dri2_get_buffers_reply_t *R );
01177
01193
01194
01195
01196
01197
01198
01199
01200
01201
01202
01203
01204 xcb_dri2_get_buffers_reply_t *
01205 xcb_dri2_get_buffers_reply (xcb_connection_t *c ,
01206 xcb_dri2_get_buffers_cookie_t cookie ,
01207 xcb_generic_error_t **e );
01208
01218
01219
01220
01221
01222
01223
01224
01225
01226
01227
01228
01229
01230
01231 xcb_dri2_copy_region_cookie_t
01232 xcb_dri2_copy_region (xcb_connection_t *c ,
01233 xcb_drawable_t drawable ,
01234 uint32_t region ,
01235 uint32_t dest ,
01236 uint32_t src );
01237
01250
01251
01252
01253
01254
01255
01256
01257
01258
01259
01260
01261
01262
01263 xcb_dri2_copy_region_cookie_t
01264 xcb_dri2_copy_region_unchecked (xcb_connection_t *c ,
01265 xcb_drawable_t drawable ,
01266 uint32_t region ,
01267 uint32_t dest ,
01268 uint32_t src );
01269
01285
01286
01287
01288
01289
01290
01291
01292
01293
01294
01295
01296 xcb_dri2_copy_region_reply_t *
01297 xcb_dri2_copy_region_reply (xcb_connection_t *c ,
01298 xcb_dri2_copy_region_cookie_t cookie ,
01299 xcb_generic_error_t **e );
01300
01301 int
01302 xcb_dri2_get_buffers_with_format_sizeof (const void *_buffer ,
01303 uint32_t attachments_len );
01304
01314
01315
01316
01317
01318
01319
01320
01321
01322
01323
01324
01325
01326
01327 xcb_dri2_get_buffers_with_format_cookie_t
01328 xcb_dri2_get_buffers_with_format (xcb_connection_t *c ,
01329 xcb_drawable_t drawable ,
01330 uint32_t count ,
01331 uint32_t attachments_len ,
01332 const xcb_dri2_attach_format_t *attachments );
01333
01346
01347
01348
01349
01350
01351
01352
01353
01354
01355
01356
01357
01358
01359 xcb_dri2_get_buffers_with_format_cookie_t
01360 xcb_dri2_get_buffers_with_format_unchecked (xcb_connection_t *c ,
01361 xcb_drawable_t drawable ,
01362 uint32_t count ,
01363 uint32_t attachments_len ,
01364 const xcb_dri2_attach_format_t *attachments );
01365
01366
01367
01368
01369
01370
01371
01372
01373
01374
01375
01376 xcb_dri2_dri2_buffer_t *
01377 xcb_dri2_get_buffers_with_format_buffers (const xcb_dri2_get_buffers_with_format_reply_t *R );
01378
01379
01380
01381
01382
01383
01384
01385
01386
01387
01388
01389 int
01390 xcb_dri2_get_buffers_with_format_buffers_length (const xcb_dri2_get_buffers_with_format_reply_t *R );
01391
01392
01393
01394
01395
01396
01397
01398
01399
01400
01401
01402 xcb_dri2_dri2_buffer_iterator_t
01403 xcb_dri2_get_buffers_with_format_buffers_iterator (const xcb_dri2_get_buffers_with_format_reply_t *R );
01404
01420
01421
01422
01423
01424
01425
01426
01427
01428
01429
01430
01431 xcb_dri2_get_buffers_with_format_reply_t *
01432 xcb_dri2_get_buffers_with_format_reply (xcb_connection_t *c ,
01433 xcb_dri2_get_buffers_with_format_cookie_t cookie ,
01434 xcb_generic_error_t **e );
01435
01445
01446
01447
01448
01449
01450
01451
01452
01453
01454
01455
01456
01457
01458
01459
01460
01461 xcb_dri2_swap_buffers_cookie_t
01462 xcb_dri2_swap_buffers (xcb_connection_t *c ,
01463 xcb_drawable_t drawable ,
01464 uint32_t target_msc_hi ,
01465 uint32_t target_msc_lo ,
01466 uint32_t divisor_hi ,
01467 uint32_t divisor_lo ,
01468 uint32_t remainder_hi ,
01469 uint32_t remainder_lo );
01470
01483
01484
01485
01486
01487
01488
01489
01490
01491
01492
01493
01494
01495
01496
01497
01498
01499 xcb_dri2_swap_buffers_cookie_t
01500 xcb_dri2_swap_buffers_unchecked (xcb_connection_t *c ,
01501 xcb_drawable_t drawable ,
01502 uint32_t target_msc_hi ,
01503 uint32_t target_msc_lo ,
01504 uint32_t divisor_hi ,
01505 uint32_t divisor_lo ,
01506 uint32_t remainder_hi ,
01507 uint32_t remainder_lo );
01508
01524
01525
01526
01527
01528
01529
01530
01531
01532
01533
01534
01535 xcb_dri2_swap_buffers_reply_t *
01536 xcb_dri2_swap_buffers_reply (xcb_connection_t *c ,
01537 xcb_dri2_swap_buffers_cookie_t cookie ,
01538 xcb_generic_error_t **e );
01539
01549
01550
01551
01552
01553
01554
01555
01556
01557
01558
01559 xcb_dri2_get_msc_cookie_t
01560 xcb_dri2_get_msc (xcb_connection_t *c ,
01561 xcb_drawable_t drawable );
01562
01575
01576
01577
01578
01579
01580
01581
01582
01583
01584
01585 xcb_dri2_get_msc_cookie_t
01586 xcb_dri2_get_msc_unchecked (xcb_connection_t *c ,
01587 xcb_drawable_t drawable );
01588
01604
01605
01606
01607
01608
01609
01610
01611
01612
01613
01614
01615 xcb_dri2_get_msc_reply_t *
01616 xcb_dri2_get_msc_reply (xcb_connection_t *c ,
01617 xcb_dri2_get_msc_cookie_t cookie ,
01618 xcb_generic_error_t **e );
01619
01629
01630
01631
01632
01633
01634
01635
01636
01637
01638
01639
01640
01641
01642
01643
01644
01645 xcb_dri2_wait_msc_cookie_t
01646 xcb_dri2_wait_msc (xcb_connection_t *c ,
01647 xcb_drawable_t drawable ,
01648 uint32_t target_msc_hi ,
01649 uint32_t target_msc_lo ,
01650 uint32_t divisor_hi ,
01651 uint32_t divisor_lo ,
01652 uint32_t remainder_hi ,
01653 uint32_t remainder_lo );
01654
01667
01668
01669
01670
01671
01672
01673
01674
01675
01676
01677
01678
01679
01680
01681
01682
01683 xcb_dri2_wait_msc_cookie_t
01684 xcb_dri2_wait_msc_unchecked (xcb_connection_t *c ,
01685 xcb_drawable_t drawable ,
01686 uint32_t target_msc_hi ,
01687 uint32_t target_msc_lo ,
01688 uint32_t divisor_hi ,
01689 uint32_t divisor_lo ,
01690 uint32_t remainder_hi ,
01691 uint32_t remainder_lo );
01692
01708
01709
01710
01711
01712
01713
01714
01715
01716
01717
01718
01719 xcb_dri2_wait_msc_reply_t *
01720 xcb_dri2_wait_msc_reply (xcb_connection_t *c ,
01721 xcb_dri2_wait_msc_cookie_t cookie ,
01722 xcb_generic_error_t **e );
01723
01733
01734
01735
01736
01737
01738
01739
01740
01741
01742
01743
01744
01745 xcb_dri2_wait_sbc_cookie_t
01746 xcb_dri2_wait_sbc (xcb_connection_t *c ,
01747 xcb_drawable_t drawable ,
01748 uint32_t target_sbc_hi ,
01749 uint32_t target_sbc_lo );
01750
01763
01764
01765
01766
01767
01768
01769
01770
01771
01772
01773
01774
01775 xcb_dri2_wait_sbc_cookie_t
01776 xcb_dri2_wait_sbc_unchecked (xcb_connection_t *c ,
01777 xcb_drawable_t drawable ,
01778 uint32_t target_sbc_hi ,
01779 uint32_t target_sbc_lo );
01780
01796
01797
01798
01799
01800
01801
01802
01803
01804
01805
01806
01807 xcb_dri2_wait_sbc_reply_t *
01808 xcb_dri2_wait_sbc_reply (xcb_connection_t *c ,
01809 xcb_dri2_wait_sbc_cookie_t cookie ,
01810 xcb_generic_error_t **e );
01811
01824
01825
01826
01827
01828
01829
01830
01831
01832
01833
01834
01835 xcb_void_cookie_t
01836 xcb_dri2_swap_interval_checked (xcb_connection_t *c ,
01837 xcb_drawable_t drawable ,
01838 uint32_t interval );
01839
01849
01850
01851
01852
01853
01854
01855
01856
01857
01858
01859
01860 xcb_void_cookie_t
01861 xcb_dri2_swap_interval (xcb_connection_t *c ,
01862 xcb_drawable_t drawable ,
01863 uint32_t interval );
01864
01865
01866 #ifdef __cplusplus
01867 }
01868 #endif
01869
01870 #endif
01871