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 sarea_handle_low;
00137 uint32_t sarea_handle_high;
00138 uint32_t bus_id_len;
00139 uint8_t pad1[12];
00140 } xcb_xf86dri_open_connection_reply_t;
00141
00143 #define XCB_XF86DRI_CLOSE_CONNECTION 3
00144
00148 typedef struct xcb_xf86dri_close_connection_request_t {
00149 uint8_t major_opcode;
00150 uint8_t minor_opcode;
00151 uint16_t length;
00152 uint32_t screen;
00153 } xcb_xf86dri_close_connection_request_t;
00154
00158 typedef struct xcb_xf86dri_get_client_driver_name_cookie_t {
00159 unsigned int sequence;
00160 } xcb_xf86dri_get_client_driver_name_cookie_t;
00161
00163 #define XCB_XF86DRI_GET_CLIENT_DRIVER_NAME 4
00164
00168 typedef struct xcb_xf86dri_get_client_driver_name_request_t {
00169 uint8_t major_opcode;
00170 uint8_t minor_opcode;
00171 uint16_t length;
00172 uint32_t screen;
00173 } xcb_xf86dri_get_client_driver_name_request_t;
00174
00178 typedef struct xcb_xf86dri_get_client_driver_name_reply_t {
00179 uint8_t response_type;
00180 uint8_t pad0;
00181 uint16_t sequence;
00182 uint32_t length;
00183 uint32_t client_driver_major_version;
00184 uint32_t client_driver_minor_version;
00185 uint32_t client_driver_patch_version;
00186 uint32_t client_driver_name_len;
00187 uint8_t pad1[8];
00188 } xcb_xf86dri_get_client_driver_name_reply_t;
00189
00193 typedef struct xcb_xf86dri_create_context_cookie_t {
00194 unsigned int sequence;
00195 } xcb_xf86dri_create_context_cookie_t;
00196
00198 #define XCB_XF86DRI_CREATE_CONTEXT 5
00199
00203 typedef struct xcb_xf86dri_create_context_request_t {
00204 uint8_t major_opcode;
00205 uint8_t minor_opcode;
00206 uint16_t length;
00207 uint32_t screen;
00208 uint32_t visual;
00209 uint32_t context;
00210 } xcb_xf86dri_create_context_request_t;
00211
00215 typedef struct xcb_xf86dri_create_context_reply_t {
00216 uint8_t response_type;
00217 uint8_t pad0;
00218 uint16_t sequence;
00219 uint32_t length;
00220 uint32_t hw_context;
00221 } xcb_xf86dri_create_context_reply_t;
00222
00224 #define XCB_XF86DRI_DESTROY_CONTEXT 6
00225
00229 typedef struct xcb_xf86dri_destroy_context_request_t {
00230 uint8_t major_opcode;
00231 uint8_t minor_opcode;
00232 uint16_t length;
00233 uint32_t screen;
00234 uint32_t context;
00235 } xcb_xf86dri_destroy_context_request_t;
00236
00240 typedef struct xcb_xf86dri_create_drawable_cookie_t {
00241 unsigned int sequence;
00242 } xcb_xf86dri_create_drawable_cookie_t;
00243
00245 #define XCB_XF86DRI_CREATE_DRAWABLE 7
00246
00250 typedef struct xcb_xf86dri_create_drawable_request_t {
00251 uint8_t major_opcode;
00252 uint8_t minor_opcode;
00253 uint16_t length;
00254 uint32_t screen;
00255 uint32_t drawable;
00256 } xcb_xf86dri_create_drawable_request_t;
00257
00261 typedef struct xcb_xf86dri_create_drawable_reply_t {
00262 uint8_t response_type;
00263 uint8_t pad0;
00264 uint16_t sequence;
00265 uint32_t length;
00266 uint32_t hw_drawable_handle;
00267 } xcb_xf86dri_create_drawable_reply_t;
00268
00270 #define XCB_XF86DRI_DESTROY_DRAWABLE 8
00271
00275 typedef struct xcb_xf86dri_destroy_drawable_request_t {
00276 uint8_t major_opcode;
00277 uint8_t minor_opcode;
00278 uint16_t length;
00279 uint32_t screen;
00280 uint32_t drawable;
00281 } xcb_xf86dri_destroy_drawable_request_t;
00282
00286 typedef struct xcb_xf86dri_get_drawable_info_cookie_t {
00287 unsigned int sequence;
00288 } xcb_xf86dri_get_drawable_info_cookie_t;
00289
00291 #define XCB_XF86DRI_GET_DRAWABLE_INFO 9
00292
00296 typedef struct xcb_xf86dri_get_drawable_info_request_t {
00297 uint8_t major_opcode;
00298 uint8_t minor_opcode;
00299 uint16_t length;
00300 uint32_t screen;
00301 uint32_t drawable;
00302 } xcb_xf86dri_get_drawable_info_request_t;
00303
00307 typedef struct xcb_xf86dri_get_drawable_info_reply_t {
00308 uint8_t response_type;
00309 uint8_t pad0;
00310 uint16_t sequence;
00311 uint32_t length;
00312 uint32_t drawable_table_index;
00313 uint32_t drawable_table_stamp;
00314 int16_t drawable_origin_X;
00315 int16_t drawable_origin_Y;
00316 int16_t drawable_size_W;
00317 int16_t drawable_size_H;
00318 uint32_t num_clip_rects;
00319 int16_t back_x;
00320 int16_t back_y;
00321 uint32_t num_back_clip_rects;
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 screen ,
00902 uint32_t visual ,
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 screen ,
00932 uint32_t visual ,
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
01248
01249
01250
01251
01252
01253
01254
01255
01256
01257
01258 xcb_xf86dri_drm_clip_rect_t *
01259 xcb_xf86dri_get_drawable_info_back_clip_rects (const xcb_xf86dri_get_drawable_info_reply_t *R );
01260
01261
01262
01263
01264
01265
01266
01267
01268
01269
01270
01271 int
01272 xcb_xf86dri_get_drawable_info_back_clip_rects_length (const xcb_xf86dri_get_drawable_info_reply_t *R );
01273
01274
01275
01276
01277
01278
01279
01280
01281
01282
01283
01284 xcb_xf86dri_drm_clip_rect_iterator_t
01285 xcb_xf86dri_get_drawable_info_back_clip_rects_iterator (const xcb_xf86dri_get_drawable_info_reply_t *R );
01286
01302
01303
01304
01305
01306
01307
01308
01309
01310
01311
01312
01313 xcb_xf86dri_get_drawable_info_reply_t *
01314 xcb_xf86dri_get_drawable_info_reply (xcb_connection_t *c ,
01315 xcb_xf86dri_get_drawable_info_cookie_t cookie ,
01316 xcb_generic_error_t **e );
01317
01327
01328
01329
01330
01331
01332
01333
01334
01335
01336
01337 xcb_xf86dri_get_device_info_cookie_t
01338 xcb_xf86dri_get_device_info (xcb_connection_t *c ,
01339 uint32_t screen );
01340
01353
01354
01355
01356
01357
01358
01359
01360
01361
01362
01363 xcb_xf86dri_get_device_info_cookie_t
01364 xcb_xf86dri_get_device_info_unchecked (xcb_connection_t *c ,
01365 uint32_t screen );
01366
01367
01368
01369
01370
01371
01372
01373
01374
01375
01376
01377 uint32_t *
01378 xcb_xf86dri_get_device_info_device_private (const xcb_xf86dri_get_device_info_reply_t *R );
01379
01380
01381
01382
01383
01384
01385
01386
01387
01388
01389
01390 int
01391 xcb_xf86dri_get_device_info_device_private_length (const xcb_xf86dri_get_device_info_reply_t *R );
01392
01393
01394
01395
01396
01397
01398
01399
01400
01401
01402
01403 xcb_generic_iterator_t
01404 xcb_xf86dri_get_device_info_device_private_end (const xcb_xf86dri_get_device_info_reply_t *R );
01405
01421
01422
01423
01424
01425
01426
01427
01428
01429
01430
01431
01432 xcb_xf86dri_get_device_info_reply_t *
01433 xcb_xf86dri_get_device_info_reply (xcb_connection_t *c ,
01434 xcb_xf86dri_get_device_info_cookie_t cookie ,
01435 xcb_generic_error_t **e );
01436
01446
01447
01448
01449
01450
01451
01452
01453
01454
01455
01456
01457 xcb_xf86dri_auth_connection_cookie_t
01458 xcb_xf86dri_auth_connection (xcb_connection_t *c ,
01459 uint32_t screen ,
01460 uint32_t magic );
01461
01474
01475
01476
01477
01478
01479
01480
01481
01482
01483
01484
01485 xcb_xf86dri_auth_connection_cookie_t
01486 xcb_xf86dri_auth_connection_unchecked (xcb_connection_t *c ,
01487 uint32_t screen ,
01488 uint32_t magic );
01489
01505
01506
01507
01508
01509
01510
01511
01512
01513
01514
01515
01516 xcb_xf86dri_auth_connection_reply_t *
01517 xcb_xf86dri_auth_connection_reply (xcb_connection_t *c ,
01518 xcb_xf86dri_auth_connection_cookie_t cookie ,
01519 xcb_generic_error_t **e );
01520
01521
01522 #ifdef __cplusplus
01523 }
01524 #endif
01525
01526 #endif
01527