00001
00002
00003
00004
00005
00012 #ifndef __XF86DRI_H
00013 #define __XF86DRI_H
00014
00015 #include "xcb.h"
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00021 #define XCB_XF86DRI_MAJOR_VERSION 4
00022 #define XCB_XF86DRI_MINOR_VERSION 1
00023
00024 extern xcb_extension_t xcb_xf86dri_id;
00025
00029 typedef struct xcb_xf86dri_drm_clip_rect_t {
00030 int16_t x1;
00031 int16_t y1;
00032 int16_t x2;
00033 int16_t x3;
00034 } xcb_xf86dri_drm_clip_rect_t;
00035
00039 typedef struct xcb_xf86dri_drm_clip_rect_iterator_t {
00040 xcb_xf86dri_drm_clip_rect_t *data;
00041 int rem;
00042 int index;
00043 } xcb_xf86dri_drm_clip_rect_iterator_t;
00044
00048 typedef struct xcb_xf86dri_query_version_cookie_t {
00049 unsigned int sequence;
00050 } xcb_xf86dri_query_version_cookie_t;
00051
00053 #define XCB_XF86DRI_QUERY_VERSION 0
00054
00058 typedef struct xcb_xf86dri_query_version_request_t {
00059 uint8_t major_opcode;
00060 uint8_t minor_opcode;
00061 uint16_t length;
00062 } xcb_xf86dri_query_version_request_t;
00063
00067 typedef struct xcb_xf86dri_query_version_reply_t {
00068 uint8_t response_type;
00069 uint8_t pad0;
00070 uint16_t sequence;
00071 uint32_t length;
00072 uint16_t dri_major_version;
00073 uint16_t dri_minor_version;
00074 uint32_t dri_minor_patch;
00075 } xcb_xf86dri_query_version_reply_t;
00076
00080 typedef struct xcb_xf86dri_query_direct_rendering_capable_cookie_t {
00081 unsigned int sequence;
00082 } xcb_xf86dri_query_direct_rendering_capable_cookie_t;
00083
00085 #define XCB_XF86DRI_QUERY_DIRECT_RENDERING_CAPABLE 1
00086
00090 typedef struct xcb_xf86dri_query_direct_rendering_capable_request_t {
00091 uint8_t major_opcode;
00092 uint8_t minor_opcode;
00093 uint16_t length;
00094 uint32_t screen;
00095 } xcb_xf86dri_query_direct_rendering_capable_request_t;
00096
00100 typedef struct xcb_xf86dri_query_direct_rendering_capable_reply_t {
00101 uint8_t response_type;
00102 uint8_t pad0;
00103 uint16_t sequence;
00104 uint32_t length;
00105 uint8_t is_capable;
00106 } xcb_xf86dri_query_direct_rendering_capable_reply_t;
00107
00111 typedef struct xcb_xf86dri_open_connection_cookie_t {
00112 unsigned int sequence;
00113 } xcb_xf86dri_open_connection_cookie_t;
00114
00116 #define XCB_XF86DRI_OPEN_CONNECTION 2
00117
00121 typedef struct xcb_xf86dri_open_connection_request_t {
00122 uint8_t major_opcode;
00123 uint8_t minor_opcode;
00124 uint16_t length;
00125 uint32_t screen;
00126 } xcb_xf86dri_open_connection_request_t;
00127
00131 typedef struct xcb_xf86dri_open_connection_reply_t {
00132 uint8_t response_type;
00133 uint8_t pad0;
00134 uint16_t sequence;
00135 uint32_t length;
00136 uint32_t drm_client_key_low;
00137 uint32_t drm_client_key_high;
00138 uint32_t sarea_handle_low;
00139 uint32_t sarea_handle_high;
00140 uint32_t bus_id_len;
00141 uint8_t pad1[12];
00142 } xcb_xf86dri_open_connection_reply_t;
00143
00145 #define XCB_XF86DRI_CLOSE_CONNECTION 3
00146
00150 typedef struct xcb_xf86dri_close_connection_request_t {
00151 uint8_t major_opcode;
00152 uint8_t minor_opcode;
00153 uint16_t length;
00154 uint32_t screen;
00155 } xcb_xf86dri_close_connection_request_t;
00156
00160 typedef struct xcb_xf86dri_get_client_driver_name_cookie_t {
00161 unsigned int sequence;
00162 } xcb_xf86dri_get_client_driver_name_cookie_t;
00163
00165 #define XCB_XF86DRI_GET_CLIENT_DRIVER_NAME 4
00166
00170 typedef struct xcb_xf86dri_get_client_driver_name_request_t {
00171 uint8_t major_opcode;
00172 uint8_t minor_opcode;
00173 uint16_t length;
00174 uint32_t screen;
00175 } xcb_xf86dri_get_client_driver_name_request_t;
00176
00180 typedef struct xcb_xf86dri_get_client_driver_name_reply_t {
00181 uint8_t response_type;
00182 uint8_t pad0;
00183 uint16_t sequence;
00184 uint32_t length;
00185 uint32_t client_driver_major_version;
00186 uint32_t client_driver_minor_version;
00187 uint32_t client_driver_patch_version;
00188 uint32_t client_driver_name_len;
00189 uint8_t pad1[8];
00190 } xcb_xf86dri_get_client_driver_name_reply_t;
00191
00195 typedef struct xcb_xf86dri_create_context_cookie_t {
00196 unsigned int sequence;
00197 } xcb_xf86dri_create_context_cookie_t;
00198
00200 #define XCB_XF86DRI_CREATE_CONTEXT 5
00201
00205 typedef struct xcb_xf86dri_create_context_request_t {
00206 uint8_t major_opcode;
00207 uint8_t minor_opcode;
00208 uint16_t length;
00209 uint32_t visual;
00210 uint32_t screen;
00211 uint32_t context;
00212 } xcb_xf86dri_create_context_request_t;
00213
00217 typedef struct xcb_xf86dri_create_context_reply_t {
00218 uint8_t response_type;
00219 uint8_t pad0;
00220 uint16_t sequence;
00221 uint32_t length;
00222 uint32_t hw_context;
00223 } xcb_xf86dri_create_context_reply_t;
00224
00226 #define XCB_XF86DRI_DESTROY_CONTEXT 6
00227
00231 typedef struct xcb_xf86dri_destroy_context_request_t {
00232 uint8_t major_opcode;
00233 uint8_t minor_opcode;
00234 uint16_t length;
00235 uint32_t screen;
00236 uint32_t context;
00237 } xcb_xf86dri_destroy_context_request_t;
00238
00242 typedef struct xcb_xf86dri_create_drawable_cookie_t {
00243 unsigned int sequence;
00244 } xcb_xf86dri_create_drawable_cookie_t;
00245
00247 #define XCB_XF86DRI_CREATE_DRAWABLE 7
00248
00252 typedef struct xcb_xf86dri_create_drawable_request_t {
00253 uint8_t major_opcode;
00254 uint8_t minor_opcode;
00255 uint16_t length;
00256 uint32_t screen;
00257 uint32_t drawable;
00258 } xcb_xf86dri_create_drawable_request_t;
00259
00263 typedef struct xcb_xf86dri_create_drawable_reply_t {
00264 uint8_t response_type;
00265 uint8_t pad0;
00266 uint16_t sequence;
00267 uint32_t length;
00268 uint32_t hw_drawable_handle;
00269 } xcb_xf86dri_create_drawable_reply_t;
00270
00272 #define XCB_XF86DRI_DESTROY_DRAWABLE 8
00273
00277 typedef struct xcb_xf86dri_destroy_drawable_request_t {
00278 uint8_t major_opcode;
00279 uint8_t minor_opcode;
00280 uint16_t length;
00281 uint32_t screen;
00282 uint32_t drawable;
00283 } xcb_xf86dri_destroy_drawable_request_t;
00284
00288 typedef struct xcb_xf86dri_get_drawable_info_cookie_t {
00289 unsigned int sequence;
00290 } xcb_xf86dri_get_drawable_info_cookie_t;
00291
00293 #define XCB_XF86DRI_GET_DRAWABLE_INFO 9
00294
00298 typedef struct xcb_xf86dri_get_drawable_info_request_t {
00299 uint8_t major_opcode;
00300 uint8_t minor_opcode;
00301 uint16_t length;
00302 uint32_t screen;
00303 uint32_t drawable;
00304 } xcb_xf86dri_get_drawable_info_request_t;
00305
00309 typedef struct xcb_xf86dri_get_drawable_info_reply_t {
00310 uint8_t response_type;
00311 uint8_t pad0;
00312 uint16_t sequence;
00313 uint32_t length;
00314 uint32_t drawable_table_index;
00315 uint32_t drawable_table_stamp;
00316 int16_t drawable_origin_X;
00317 int16_t drawable_origin_Y;
00318 int16_t drawable_size_W;
00319 int16_t drawable_size_H;
00320 uint32_t num_clip_rects;
00321 uint8_t pad1[4];
00322 } xcb_xf86dri_get_drawable_info_reply_t;
00323
00327 typedef struct xcb_xf86dri_get_device_info_cookie_t {
00328 unsigned int sequence;
00329 } xcb_xf86dri_get_device_info_cookie_t;
00330
00332 #define XCB_XF86DRI_GET_DEVICE_INFO 10
00333
00337 typedef struct xcb_xf86dri_get_device_info_request_t {
00338 uint8_t major_opcode;
00339 uint8_t minor_opcode;
00340 uint16_t length;
00341 uint32_t screen;
00342 } xcb_xf86dri_get_device_info_request_t;
00343
00347 typedef struct xcb_xf86dri_get_device_info_reply_t {
00348 uint8_t response_type;
00349 uint8_t pad0;
00350 uint16_t sequence;
00351 uint32_t length;
00352 uint32_t framebuffer_handle_low;
00353 uint32_t framebuffer_handle_high;
00354 uint32_t framebuffer_origin_offset;
00355 uint32_t framebuffer_size;
00356 uint32_t framebuffer_stride;
00357 uint32_t device_private_size;
00358 } xcb_xf86dri_get_device_info_reply_t;
00359
00363 typedef struct xcb_xf86dri_auth_connection_cookie_t {
00364 unsigned int sequence;
00365 } xcb_xf86dri_auth_connection_cookie_t;
00366
00368 #define XCB_XF86DRI_AUTH_CONNECTION 11
00369
00373 typedef struct xcb_xf86dri_auth_connection_request_t {
00374 uint8_t major_opcode;
00375 uint8_t minor_opcode;
00376 uint16_t length;
00377 uint32_t screen;
00378 uint32_t magic;
00379 } xcb_xf86dri_auth_connection_request_t;
00380
00384 typedef struct xcb_xf86dri_auth_connection_reply_t {
00385 uint8_t response_type;
00386 uint8_t pad0;
00387 uint16_t sequence;
00388 uint32_t length;
00389 uint32_t authenticated;
00390 } xcb_xf86dri_auth_connection_reply_t;
00391
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410 void
00411 xcb_xf86dri_drm_clip_rect_next (xcb_xf86dri_drm_clip_rect_iterator_t *i );
00412
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432 xcb_generic_iterator_t
00433 xcb_xf86dri_drm_clip_rect_end (xcb_xf86dri_drm_clip_rect_iterator_t i );
00434
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453 xcb_xf86dri_query_version_cookie_t
00454 xcb_xf86dri_query_version (xcb_connection_t *c );
00455
00468
00469
00470
00471
00472
00473
00474
00475
00476
00477 xcb_xf86dri_query_version_cookie_t
00478 xcb_xf86dri_query_version_unchecked (xcb_connection_t *c );
00479
00495
00496
00497
00498
00499
00500
00501
00502
00503
00504
00505
00506 xcb_xf86dri_query_version_reply_t *
00507 xcb_xf86dri_query_version_reply (xcb_connection_t *c ,
00508 xcb_xf86dri_query_version_cookie_t cookie ,
00509 xcb_generic_error_t **e );
00510
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530 xcb_xf86dri_query_direct_rendering_capable_cookie_t
00531 xcb_xf86dri_query_direct_rendering_capable (xcb_connection_t *c ,
00532 uint32_t screen );
00533
00546
00547
00548
00549
00550
00551
00552
00553
00554
00555
00556 xcb_xf86dri_query_direct_rendering_capable_cookie_t
00557 xcb_xf86dri_query_direct_rendering_capable_unchecked (xcb_connection_t *c ,
00558 uint32_t screen );
00559
00575
00576
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586 xcb_xf86dri_query_direct_rendering_capable_reply_t *
00587 xcb_xf86dri_query_direct_rendering_capable_reply (xcb_connection_t *c ,
00588 xcb_xf86dri_query_direct_rendering_capable_cookie_t cookie ,
00589 xcb_generic_error_t **e );
00590
00600
00601
00602
00603
00604
00605
00606
00607
00608
00609
00610 xcb_xf86dri_open_connection_cookie_t
00611 xcb_xf86dri_open_connection (xcb_connection_t *c ,
00612 uint32_t screen );
00613
00626
00627
00628
00629
00630
00631
00632
00633
00634
00635
00636 xcb_xf86dri_open_connection_cookie_t
00637 xcb_xf86dri_open_connection_unchecked (xcb_connection_t *c ,
00638 uint32_t screen );
00639
00640
00641
00642
00643
00644
00645
00646
00647
00648
00649
00650 char *
00651 xcb_xf86dri_open_connection_bus_id (const xcb_xf86dri_open_connection_reply_t *R );
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661
00662
00663 int
00664 xcb_xf86dri_open_connection_bus_id_length (const xcb_xf86dri_open_connection_reply_t *R );
00665
00666
00667
00668
00669
00670
00671
00672
00673
00674
00675
00676 xcb_generic_iterator_t
00677 xcb_xf86dri_open_connection_bus_id_end (const xcb_xf86dri_open_connection_reply_t *R );
00678
00694
00695
00696
00697
00698
00699
00700
00701
00702
00703
00704
00705 xcb_xf86dri_open_connection_reply_t *
00706 xcb_xf86dri_open_connection_reply (xcb_connection_t *c ,
00707 xcb_xf86dri_open_connection_cookie_t cookie ,
00708 xcb_generic_error_t **e );
00709
00722
00723
00724
00725
00726
00727
00728
00729
00730
00731
00732 xcb_void_cookie_t
00733 xcb_xf86dri_close_connection_checked (xcb_connection_t *c ,
00734 uint32_t screen );
00735
00745
00746
00747
00748
00749
00750
00751
00752
00753
00754
00755 xcb_void_cookie_t
00756 xcb_xf86dri_close_connection (xcb_connection_t *c ,
00757 uint32_t screen );
00758
00768
00769
00770
00771
00772
00773
00774
00775
00776
00777
00778 xcb_xf86dri_get_client_driver_name_cookie_t
00779 xcb_xf86dri_get_client_driver_name (xcb_connection_t *c ,
00780 uint32_t screen );
00781
00794
00795
00796
00797
00798
00799
00800
00801
00802
00803
00804 xcb_xf86dri_get_client_driver_name_cookie_t
00805 xcb_xf86dri_get_client_driver_name_unchecked (xcb_connection_t *c ,
00806 uint32_t screen );
00807
00808
00809
00810
00811
00812
00813
00814
00815
00816
00817
00818 char *
00819 xcb_xf86dri_get_client_driver_name_client_driver_name (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00820
00821
00822
00823
00824
00825
00826
00827
00828
00829
00830
00831 int
00832 xcb_xf86dri_get_client_driver_name_client_driver_name_length (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00833
00834
00835
00836
00837
00838
00839
00840
00841
00842
00843
00844 xcb_generic_iterator_t
00845 xcb_xf86dri_get_client_driver_name_client_driver_name_end (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00846
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871
00872
00873 xcb_xf86dri_get_client_driver_name_reply_t *
00874 xcb_xf86dri_get_client_driver_name_reply (xcb_connection_t *c ,
00875 xcb_xf86dri_get_client_driver_name_cookie_t cookie ,
00876 xcb_generic_error_t **e );
00877
00887
00888
00889
00890
00891
00892
00893
00894
00895
00896
00897
00898
00899 xcb_xf86dri_create_context_cookie_t
00900 xcb_xf86dri_create_context (xcb_connection_t *c ,
00901 uint32_t visual ,
00902 uint32_t screen ,
00903 uint32_t context );
00904
00917
00918
00919
00920
00921
00922
00923
00924
00925
00926
00927
00928
00929 xcb_xf86dri_create_context_cookie_t
00930 xcb_xf86dri_create_context_unchecked (xcb_connection_t *c ,
00931 uint32_t visual ,
00932 uint32_t screen ,
00933 uint32_t context );
00934
00950
00951
00952
00953
00954
00955
00956
00957
00958
00959
00960
00961 xcb_xf86dri_create_context_reply_t *
00962 xcb_xf86dri_create_context_reply (xcb_connection_t *c ,
00963 xcb_xf86dri_create_context_cookie_t cookie ,
00964 xcb_generic_error_t **e );
00965
00978
00979
00980
00981
00982
00983
00984
00985
00986
00987
00988
00989 xcb_void_cookie_t
00990 xcb_xf86dri_destroy_context_checked (xcb_connection_t *c ,
00991 uint32_t screen ,
00992 uint32_t context );
00993
01003
01004
01005
01006
01007
01008
01009
01010
01011
01012
01013
01014 xcb_void_cookie_t
01015 xcb_xf86dri_destroy_context (xcb_connection_t *c ,
01016 uint32_t screen ,
01017 uint32_t context );
01018
01028
01029
01030
01031
01032
01033
01034
01035
01036
01037
01038
01039 xcb_xf86dri_create_drawable_cookie_t
01040 xcb_xf86dri_create_drawable (xcb_connection_t *c ,
01041 uint32_t screen ,
01042 uint32_t drawable );
01043
01056
01057
01058
01059
01060
01061
01062
01063
01064
01065
01066
01067 xcb_xf86dri_create_drawable_cookie_t
01068 xcb_xf86dri_create_drawable_unchecked (xcb_connection_t *c ,
01069 uint32_t screen ,
01070 uint32_t drawable );
01071
01087
01088
01089
01090
01091
01092
01093
01094
01095
01096
01097
01098 xcb_xf86dri_create_drawable_reply_t *
01099 xcb_xf86dri_create_drawable_reply (xcb_connection_t *c ,
01100 xcb_xf86dri_create_drawable_cookie_t cookie ,
01101 xcb_generic_error_t **e );
01102
01115
01116
01117
01118
01119
01120
01121
01122
01123
01124
01125
01126 xcb_void_cookie_t
01127 xcb_xf86dri_destroy_drawable_checked (xcb_connection_t *c ,
01128 uint32_t screen ,
01129 uint32_t drawable );
01130
01140
01141
01142
01143
01144
01145
01146
01147
01148
01149
01150
01151 xcb_void_cookie_t
01152 xcb_xf86dri_destroy_drawable (xcb_connection_t *c ,
01153 uint32_t screen ,
01154 uint32_t drawable );
01155
01165
01166
01167
01168
01169
01170
01171
01172
01173
01174
01175
01176 xcb_xf86dri_get_drawable_info_cookie_t
01177 xcb_xf86dri_get_drawable_info (xcb_connection_t *c ,
01178 uint32_t screen ,
01179 uint32_t drawable );
01180
01193
01194
01195
01196
01197
01198
01199
01200
01201
01202
01203
01204 xcb_xf86dri_get_drawable_info_cookie_t
01205 xcb_xf86dri_get_drawable_info_unchecked (xcb_connection_t *c ,
01206 uint32_t screen ,
01207 uint32_t drawable );
01208
01209
01210
01211
01212
01213
01214
01215
01216
01217
01218
01219 xcb_xf86dri_drm_clip_rect_t *
01220 xcb_xf86dri_get_drawable_info_clip_rects (const xcb_xf86dri_get_drawable_info_reply_t *R );
01221
01222
01223
01224
01225
01226
01227
01228
01229
01230
01231
01232 int
01233 xcb_xf86dri_get_drawable_info_clip_rects_length (const xcb_xf86dri_get_drawable_info_reply_t *R );
01234
01235
01236
01237
01238
01239
01240
01241
01242
01243
01244
01245 xcb_xf86dri_drm_clip_rect_iterator_t
01246 xcb_xf86dri_get_drawable_info_clip_rects_iterator (const xcb_xf86dri_get_drawable_info_reply_t *R );
01247
01263
01264
01265
01266
01267
01268
01269
01270
01271
01272
01273
01274 xcb_xf86dri_get_drawable_info_reply_t *
01275 xcb_xf86dri_get_drawable_info_reply (xcb_connection_t *c ,
01276 xcb_xf86dri_get_drawable_info_cookie_t cookie ,
01277 xcb_generic_error_t **e );
01278
01288
01289
01290
01291
01292
01293
01294
01295
01296
01297
01298 xcb_xf86dri_get_device_info_cookie_t
01299 xcb_xf86dri_get_device_info (xcb_connection_t *c ,
01300 uint32_t screen );
01301
01314
01315
01316
01317
01318
01319
01320
01321
01322
01323
01324 xcb_xf86dri_get_device_info_cookie_t
01325 xcb_xf86dri_get_device_info_unchecked (xcb_connection_t *c ,
01326 uint32_t screen );
01327
01328
01329
01330
01331
01332
01333
01334
01335
01336
01337
01338 uint32_t *
01339 xcb_xf86dri_get_device_info_device_private (const xcb_xf86dri_get_device_info_reply_t *R );
01340
01341
01342
01343
01344
01345
01346
01347
01348
01349
01350
01351 int
01352 xcb_xf86dri_get_device_info_device_private_length (const xcb_xf86dri_get_device_info_reply_t *R );
01353
01354
01355
01356
01357
01358
01359
01360
01361
01362
01363
01364 xcb_generic_iterator_t
01365 xcb_xf86dri_get_device_info_device_private_end (const xcb_xf86dri_get_device_info_reply_t *R );
01366
01382
01383
01384
01385
01386
01387
01388
01389
01390
01391
01392
01393 xcb_xf86dri_get_device_info_reply_t *
01394 xcb_xf86dri_get_device_info_reply (xcb_connection_t *c ,
01395 xcb_xf86dri_get_device_info_cookie_t cookie ,
01396 xcb_generic_error_t **e );
01397
01407
01408
01409
01410
01411
01412
01413
01414
01415
01416
01417
01418 xcb_xf86dri_auth_connection_cookie_t
01419 xcb_xf86dri_auth_connection (xcb_connection_t *c ,
01420 uint32_t screen ,
01421 uint32_t magic );
01422
01435
01436
01437
01438
01439
01440
01441
01442
01443
01444
01445
01446 xcb_xf86dri_auth_connection_cookie_t
01447 xcb_xf86dri_auth_connection_unchecked (xcb_connection_t *c ,
01448 uint32_t screen ,
01449 uint32_t magic );
01450
01466
01467
01468
01469
01470
01471
01472
01473
01474
01475
01476
01477 xcb_xf86dri_auth_connection_reply_t *
01478 xcb_xf86dri_auth_connection_reply (xcb_connection_t *c ,
01479 xcb_xf86dri_auth_connection_cookie_t cookie ,
01480 xcb_generic_error_t **e );
01481
01482
01483 #ifdef __cplusplus
01484 }
01485 #endif
01486
01487 #endif
01488