00001
00002
00003
00004
00005
00012 #ifndef __XF86DRI_H
00013 #define __XF86DRI_H
00014
00015 #include "xcb.h"
00016
00017 #define XCB_XF86DRI_MAJOR_VERSION 4
00018 #define XCB_XF86DRI_MINOR_VERSION 1
00019
00020 extern xcb_extension_t xcb_xf86dri_id;
00021
00025 typedef struct xcb_xf86dri_drm_clip_rect_t {
00026 int16_t x1;
00027 int16_t y1;
00028 int16_t x2;
00029 int16_t x3;
00030 } xcb_xf86dri_drm_clip_rect_t;
00031
00035 typedef struct xcb_xf86dri_drm_clip_rect_iterator_t {
00036 xcb_xf86dri_drm_clip_rect_t *data;
00037 int rem;
00038 int index;
00039 } xcb_xf86dri_drm_clip_rect_iterator_t;
00040
00044 typedef struct xcb_xf86dri_query_version_cookie_t {
00045 unsigned int sequence;
00046 } xcb_xf86dri_query_version_cookie_t;
00047
00049 #define XCB_XF86DRI_QUERY_VERSION 0
00050
00054 typedef struct xcb_xf86dri_query_version_request_t {
00055 uint8_t major_opcode;
00056 uint8_t minor_opcode;
00057 uint16_t length;
00058 } xcb_xf86dri_query_version_request_t;
00059
00063 typedef struct xcb_xf86dri_query_version_reply_t {
00064 uint8_t response_type;
00065 uint8_t pad0;
00066 uint16_t sequence;
00067 uint32_t length;
00068 uint16_t dri_major_version;
00069 uint16_t dri_minor_version;
00070 uint32_t dri_minor_patch;
00071 } xcb_xf86dri_query_version_reply_t;
00072
00076 typedef struct xcb_xf86dri_query_direct_rendering_capable_cookie_t {
00077 unsigned int sequence;
00078 } xcb_xf86dri_query_direct_rendering_capable_cookie_t;
00079
00081 #define XCB_XF86DRI_QUERY_DIRECT_RENDERING_CAPABLE 1
00082
00086 typedef struct xcb_xf86dri_query_direct_rendering_capable_request_t {
00087 uint8_t major_opcode;
00088 uint8_t minor_opcode;
00089 uint16_t length;
00090 uint32_t screen;
00091 } xcb_xf86dri_query_direct_rendering_capable_request_t;
00092
00096 typedef struct xcb_xf86dri_query_direct_rendering_capable_reply_t {
00097 uint8_t response_type;
00098 uint8_t pad0;
00099 uint16_t sequence;
00100 uint32_t length;
00101 uint8_t is_capable;
00102 } xcb_xf86dri_query_direct_rendering_capable_reply_t;
00103
00107 typedef struct xcb_xf86dri_open_connection_cookie_t {
00108 unsigned int sequence;
00109 } xcb_xf86dri_open_connection_cookie_t;
00110
00112 #define XCB_XF86DRI_OPEN_CONNECTION 2
00113
00117 typedef struct xcb_xf86dri_open_connection_request_t {
00118 uint8_t major_opcode;
00119 uint8_t minor_opcode;
00120 uint16_t length;
00121 uint32_t screen;
00122 } xcb_xf86dri_open_connection_request_t;
00123
00127 typedef struct xcb_xf86dri_open_connection_reply_t {
00128 uint8_t response_type;
00129 uint8_t pad0;
00130 uint16_t sequence;
00131 uint32_t length;
00132 uint32_t drm_client_key_low;
00133 uint32_t drm_client_key_high;
00134 uint32_t sarea_handle_low;
00135 uint32_t sarea_handle_high;
00136 uint32_t bus_id_len;
00137 uint8_t pad1[12];
00138 } xcb_xf86dri_open_connection_reply_t;
00139
00141 #define XCB_XF86DRI_CLOSE_CONNECTION 3
00142
00146 typedef struct xcb_xf86dri_close_connection_request_t {
00147 uint8_t major_opcode;
00148 uint8_t minor_opcode;
00149 uint16_t length;
00150 uint32_t screen;
00151 } xcb_xf86dri_close_connection_request_t;
00152
00156 typedef struct xcb_xf86dri_get_client_driver_name_cookie_t {
00157 unsigned int sequence;
00158 } xcb_xf86dri_get_client_driver_name_cookie_t;
00159
00161 #define XCB_XF86DRI_GET_CLIENT_DRIVER_NAME 4
00162
00166 typedef struct xcb_xf86dri_get_client_driver_name_request_t {
00167 uint8_t major_opcode;
00168 uint8_t minor_opcode;
00169 uint16_t length;
00170 uint32_t screen;
00171 } xcb_xf86dri_get_client_driver_name_request_t;
00172
00176 typedef struct xcb_xf86dri_get_client_driver_name_reply_t {
00177 uint8_t response_type;
00178 uint8_t pad0;
00179 uint16_t sequence;
00180 uint32_t length;
00181 uint32_t client_driver_major_version;
00182 uint32_t client_driver_minor_version;
00183 uint32_t client_driver_patch_version;
00184 uint32_t client_driver_name_len;
00185 uint8_t pad1[8];
00186 } xcb_xf86dri_get_client_driver_name_reply_t;
00187
00191 typedef struct xcb_xf86dri_create_context_cookie_t {
00192 unsigned int sequence;
00193 } xcb_xf86dri_create_context_cookie_t;
00194
00196 #define XCB_XF86DRI_CREATE_CONTEXT 5
00197
00201 typedef struct xcb_xf86dri_create_context_request_t {
00202 uint8_t major_opcode;
00203 uint8_t minor_opcode;
00204 uint16_t length;
00205 uint32_t visual;
00206 uint32_t screen;
00207 uint32_t context;
00208 } xcb_xf86dri_create_context_request_t;
00209
00213 typedef struct xcb_xf86dri_create_context_reply_t {
00214 uint8_t response_type;
00215 uint8_t pad0;
00216 uint16_t sequence;
00217 uint32_t length;
00218 uint32_t hw_context;
00219 } xcb_xf86dri_create_context_reply_t;
00220
00222 #define XCB_XF86DRI_DESTROY_CONTEXT 6
00223
00227 typedef struct xcb_xf86dri_destroy_context_request_t {
00228 uint8_t major_opcode;
00229 uint8_t minor_opcode;
00230 uint16_t length;
00231 uint32_t screen;
00232 uint32_t context;
00233 } xcb_xf86dri_destroy_context_request_t;
00234
00238 typedef struct xcb_xf86dri_create_drawable_cookie_t {
00239 unsigned int sequence;
00240 } xcb_xf86dri_create_drawable_cookie_t;
00241
00243 #define XCB_XF86DRI_CREATE_DRAWABLE 7
00244
00248 typedef struct xcb_xf86dri_create_drawable_request_t {
00249 uint8_t major_opcode;
00250 uint8_t minor_opcode;
00251 uint16_t length;
00252 uint32_t screen;
00253 uint32_t drawable;
00254 } xcb_xf86dri_create_drawable_request_t;
00255
00259 typedef struct xcb_xf86dri_create_drawable_reply_t {
00260 uint8_t response_type;
00261 uint8_t pad0;
00262 uint16_t sequence;
00263 uint32_t length;
00264 uint32_t hw_drawable_handle;
00265 } xcb_xf86dri_create_drawable_reply_t;
00266
00268 #define XCB_XF86DRI_DESTROY_DRAWABLE 8
00269
00273 typedef struct xcb_xf86dri_destroy_drawable_request_t {
00274 uint8_t major_opcode;
00275 uint8_t minor_opcode;
00276 uint16_t length;
00277 uint32_t screen;
00278 uint32_t drawable;
00279 } xcb_xf86dri_destroy_drawable_request_t;
00280
00284 typedef struct xcb_xf86dri_get_drawable_info_cookie_t {
00285 unsigned int sequence;
00286 } xcb_xf86dri_get_drawable_info_cookie_t;
00287
00289 #define XCB_XF86DRI_GET_DRAWABLE_INFO 9
00290
00294 typedef struct xcb_xf86dri_get_drawable_info_request_t {
00295 uint8_t major_opcode;
00296 uint8_t minor_opcode;
00297 uint16_t length;
00298 uint32_t screen;
00299 uint32_t drawable;
00300 } xcb_xf86dri_get_drawable_info_request_t;
00301
00305 typedef struct xcb_xf86dri_get_drawable_info_reply_t {
00306 uint8_t response_type;
00307 uint8_t pad0;
00308 uint16_t sequence;
00309 uint32_t length;
00310 uint32_t drawable_table_index;
00311 uint32_t drawable_table_stamp;
00312 int16_t drawable_origin_X;
00313 int16_t drawable_origin_Y;
00314 int16_t drawable_size_W;
00315 int16_t drawable_size_H;
00316 uint32_t num_clip_rects;
00317 uint8_t pad1[4];
00318 } xcb_xf86dri_get_drawable_info_reply_t;
00319
00323 typedef struct xcb_xf86dri_get_device_info_cookie_t {
00324 unsigned int sequence;
00325 } xcb_xf86dri_get_device_info_cookie_t;
00326
00328 #define XCB_XF86DRI_GET_DEVICE_INFO 10
00329
00333 typedef struct xcb_xf86dri_get_device_info_request_t {
00334 uint8_t major_opcode;
00335 uint8_t minor_opcode;
00336 uint16_t length;
00337 uint32_t screen;
00338 } xcb_xf86dri_get_device_info_request_t;
00339
00343 typedef struct xcb_xf86dri_get_device_info_reply_t {
00344 uint8_t response_type;
00345 uint8_t pad0;
00346 uint16_t sequence;
00347 uint32_t length;
00348 uint32_t framebuffer_handle_low;
00349 uint32_t framebuffer_handle_high;
00350 uint32_t framebuffer_origin_offset;
00351 uint32_t framebuffer_size;
00352 uint32_t framebuffer_stride;
00353 uint32_t device_private_size;
00354 } xcb_xf86dri_get_device_info_reply_t;
00355
00359 typedef struct xcb_xf86dri_auth_connection_cookie_t {
00360 unsigned int sequence;
00361 } xcb_xf86dri_auth_connection_cookie_t;
00362
00364 #define XCB_XF86DRI_AUTH_CONNECTION 11
00365
00369 typedef struct xcb_xf86dri_auth_connection_request_t {
00370 uint8_t major_opcode;
00371 uint8_t minor_opcode;
00372 uint16_t length;
00373 uint32_t screen;
00374 uint32_t magic;
00375 } xcb_xf86dri_auth_connection_request_t;
00376
00380 typedef struct xcb_xf86dri_auth_connection_reply_t {
00381 uint8_t response_type;
00382 uint8_t pad0;
00383 uint16_t sequence;
00384 uint32_t length;
00385 uint32_t authenticated;
00386 } xcb_xf86dri_auth_connection_reply_t;
00387
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406 void
00407 xcb_xf86dri_drm_clip_rect_next (xcb_xf86dri_drm_clip_rect_iterator_t *i );
00408
00419
00420
00421
00422
00423
00424
00425
00426
00427
00428 xcb_generic_iterator_t
00429 xcb_xf86dri_drm_clip_rect_end (xcb_xf86dri_drm_clip_rect_iterator_t i );
00430
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449 xcb_xf86dri_query_version_cookie_t
00450 xcb_xf86dri_query_version (xcb_connection_t *c );
00451
00464
00465
00466
00467
00468
00469
00470
00471
00472
00473 xcb_xf86dri_query_version_cookie_t
00474 xcb_xf86dri_query_version_unchecked (xcb_connection_t *c );
00475
00491
00492
00493
00494
00495
00496
00497
00498
00499
00500
00501
00502 xcb_xf86dri_query_version_reply_t *
00503 xcb_xf86dri_query_version_reply (xcb_connection_t *c ,
00504 xcb_xf86dri_query_version_cookie_t cookie ,
00505 xcb_generic_error_t **e );
00506
00516
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526 xcb_xf86dri_query_direct_rendering_capable_cookie_t
00527 xcb_xf86dri_query_direct_rendering_capable (xcb_connection_t *c ,
00528 uint32_t screen );
00529
00542
00543
00544
00545
00546
00547
00548
00549
00550
00551
00552 xcb_xf86dri_query_direct_rendering_capable_cookie_t
00553 xcb_xf86dri_query_direct_rendering_capable_unchecked (xcb_connection_t *c ,
00554 uint32_t screen );
00555
00571
00572
00573
00574
00575
00576
00577
00578
00579
00580
00581
00582 xcb_xf86dri_query_direct_rendering_capable_reply_t *
00583 xcb_xf86dri_query_direct_rendering_capable_reply (xcb_connection_t *c ,
00584 xcb_xf86dri_query_direct_rendering_capable_cookie_t cookie ,
00585 xcb_generic_error_t **e );
00586
00596
00597
00598
00599
00600
00601
00602
00603
00604
00605
00606 xcb_xf86dri_open_connection_cookie_t
00607 xcb_xf86dri_open_connection (xcb_connection_t *c ,
00608 uint32_t screen );
00609
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632 xcb_xf86dri_open_connection_cookie_t
00633 xcb_xf86dri_open_connection_unchecked (xcb_connection_t *c ,
00634 uint32_t screen );
00635
00636
00637
00638
00639
00640
00641
00642
00643
00644
00645
00646 uint8_t *
00647 xcb_xf86dri_open_connection_bus_id (const xcb_xf86dri_open_connection_reply_t *R );
00648
00649
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659 int
00660 xcb_xf86dri_open_connection_bus_id_length (const xcb_xf86dri_open_connection_reply_t *R );
00661
00662
00663
00664
00665
00666
00667
00668
00669
00670
00671
00672 xcb_generic_iterator_t
00673 xcb_xf86dri_open_connection_bus_id_end (const xcb_xf86dri_open_connection_reply_t *R );
00674
00690
00691
00692
00693
00694
00695
00696
00697
00698
00699
00700
00701 xcb_xf86dri_open_connection_reply_t *
00702 xcb_xf86dri_open_connection_reply (xcb_connection_t *c ,
00703 xcb_xf86dri_open_connection_cookie_t cookie ,
00704 xcb_generic_error_t **e );
00705
00718
00719
00720
00721
00722
00723
00724
00725
00726
00727
00728 xcb_void_cookie_t
00729 xcb_xf86dri_close_connection_checked (xcb_connection_t *c ,
00730 uint32_t screen );
00731
00741
00742
00743
00744
00745
00746
00747
00748
00749
00750
00751 xcb_void_cookie_t
00752 xcb_xf86dri_close_connection (xcb_connection_t *c ,
00753 uint32_t screen );
00754
00764
00765
00766
00767
00768
00769
00770
00771
00772
00773
00774 xcb_xf86dri_get_client_driver_name_cookie_t
00775 xcb_xf86dri_get_client_driver_name (xcb_connection_t *c ,
00776 uint32_t screen );
00777
00790
00791
00792
00793
00794
00795
00796
00797
00798
00799
00800 xcb_xf86dri_get_client_driver_name_cookie_t
00801 xcb_xf86dri_get_client_driver_name_unchecked (xcb_connection_t *c ,
00802 uint32_t screen );
00803
00804
00805
00806
00807
00808
00809
00810
00811
00812
00813
00814 uint8_t *
00815 xcb_xf86dri_get_client_driver_name_client_driver_name (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00816
00817
00818
00819
00820
00821
00822
00823
00824
00825
00826
00827 int
00828 xcb_xf86dri_get_client_driver_name_client_driver_name_length (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00829
00830
00831
00832
00833
00834
00835
00836
00837
00838
00839
00840 xcb_generic_iterator_t
00841 xcb_xf86dri_get_client_driver_name_client_driver_name_end (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00842
00858
00859
00860
00861
00862
00863
00864
00865
00866
00867
00868
00869 xcb_xf86dri_get_client_driver_name_reply_t *
00870 xcb_xf86dri_get_client_driver_name_reply (xcb_connection_t *c ,
00871 xcb_xf86dri_get_client_driver_name_cookie_t cookie ,
00872 xcb_generic_error_t **e );
00873
00883
00884
00885
00886
00887
00888
00889
00890
00891
00892
00893
00894
00895 xcb_xf86dri_create_context_cookie_t
00896 xcb_xf86dri_create_context (xcb_connection_t *c ,
00897 uint32_t visual ,
00898 uint32_t screen ,
00899 uint32_t context );
00900
00913
00914
00915
00916
00917
00918
00919
00920
00921
00922
00923
00924
00925 xcb_xf86dri_create_context_cookie_t
00926 xcb_xf86dri_create_context_unchecked (xcb_connection_t *c ,
00927 uint32_t visual ,
00928 uint32_t screen ,
00929 uint32_t context );
00930
00946
00947
00948
00949
00950
00951
00952
00953
00954
00955
00956
00957 xcb_xf86dri_create_context_reply_t *
00958 xcb_xf86dri_create_context_reply (xcb_connection_t *c ,
00959 xcb_xf86dri_create_context_cookie_t cookie ,
00960 xcb_generic_error_t **e );
00961
00974
00975
00976
00977
00978
00979
00980
00981
00982
00983
00984
00985 xcb_void_cookie_t
00986 xcb_xf86dri_destroy_context_checked (xcb_connection_t *c ,
00987 uint32_t screen ,
00988 uint32_t context );
00989
00999
01000
01001
01002
01003
01004
01005
01006
01007
01008
01009
01010 xcb_void_cookie_t
01011 xcb_xf86dri_destroy_context (xcb_connection_t *c ,
01012 uint32_t screen ,
01013 uint32_t context );
01014
01024
01025
01026
01027
01028
01029
01030
01031
01032
01033
01034
01035 xcb_xf86dri_create_drawable_cookie_t
01036 xcb_xf86dri_create_drawable (xcb_connection_t *c ,
01037 uint32_t screen ,
01038 uint32_t drawable );
01039
01052
01053
01054
01055
01056
01057
01058
01059
01060
01061
01062
01063 xcb_xf86dri_create_drawable_cookie_t
01064 xcb_xf86dri_create_drawable_unchecked (xcb_connection_t *c ,
01065 uint32_t screen ,
01066 uint32_t drawable );
01067
01083
01084
01085
01086
01087
01088
01089
01090
01091
01092
01093
01094 xcb_xf86dri_create_drawable_reply_t *
01095 xcb_xf86dri_create_drawable_reply (xcb_connection_t *c ,
01096 xcb_xf86dri_create_drawable_cookie_t cookie ,
01097 xcb_generic_error_t **e );
01098
01111
01112
01113
01114
01115
01116
01117
01118
01119
01120
01121
01122 xcb_void_cookie_t
01123 xcb_xf86dri_destroy_drawable_checked (xcb_connection_t *c ,
01124 uint32_t screen ,
01125 uint32_t drawable );
01126
01136
01137
01138
01139
01140
01141
01142
01143
01144
01145
01146
01147 xcb_void_cookie_t
01148 xcb_xf86dri_destroy_drawable (xcb_connection_t *c ,
01149 uint32_t screen ,
01150 uint32_t drawable );
01151
01161
01162
01163
01164
01165
01166
01167
01168
01169
01170
01171
01172 xcb_xf86dri_get_drawable_info_cookie_t
01173 xcb_xf86dri_get_drawable_info (xcb_connection_t *c ,
01174 uint32_t screen ,
01175 uint32_t drawable );
01176
01189
01190
01191
01192
01193
01194
01195
01196
01197
01198
01199
01200 xcb_xf86dri_get_drawable_info_cookie_t
01201 xcb_xf86dri_get_drawable_info_unchecked (xcb_connection_t *c ,
01202 uint32_t screen ,
01203 uint32_t drawable );
01204
01205
01206
01207
01208
01209
01210
01211
01212
01213
01214
01215 xcb_xf86dri_drm_clip_rect_t *
01216 xcb_xf86dri_get_drawable_info_clip_rects (const xcb_xf86dri_get_drawable_info_reply_t *R );
01217
01218
01219
01220
01221
01222
01223
01224
01225
01226
01227
01228 int
01229 xcb_xf86dri_get_drawable_info_clip_rects_length (const xcb_xf86dri_get_drawable_info_reply_t *R );
01230
01231
01232
01233
01234
01235
01236
01237
01238
01239
01240
01241 xcb_xf86dri_drm_clip_rect_iterator_t
01242 xcb_xf86dri_get_drawable_info_clip_rects_iterator (const xcb_xf86dri_get_drawable_info_reply_t *R );
01243
01259
01260
01261
01262
01263
01264
01265
01266
01267
01268
01269
01270 xcb_xf86dri_get_drawable_info_reply_t *
01271 xcb_xf86dri_get_drawable_info_reply (xcb_connection_t *c ,
01272 xcb_xf86dri_get_drawable_info_cookie_t cookie ,
01273 xcb_generic_error_t **e );
01274
01284
01285
01286
01287
01288
01289
01290
01291
01292
01293
01294 xcb_xf86dri_get_device_info_cookie_t
01295 xcb_xf86dri_get_device_info (xcb_connection_t *c ,
01296 uint32_t screen );
01297
01310
01311
01312
01313
01314
01315
01316
01317
01318
01319
01320 xcb_xf86dri_get_device_info_cookie_t
01321 xcb_xf86dri_get_device_info_unchecked (xcb_connection_t *c ,
01322 uint32_t screen );
01323
01324
01325
01326
01327
01328
01329
01330
01331
01332
01333
01334 uint32_t *
01335 xcb_xf86dri_get_device_info_device_private (const xcb_xf86dri_get_device_info_reply_t *R );
01336
01337
01338
01339
01340
01341
01342
01343
01344
01345
01346
01347 int
01348 xcb_xf86dri_get_device_info_device_private_length (const xcb_xf86dri_get_device_info_reply_t *R );
01349
01350
01351
01352
01353
01354
01355
01356
01357
01358
01359
01360 xcb_generic_iterator_t
01361 xcb_xf86dri_get_device_info_device_private_end (const xcb_xf86dri_get_device_info_reply_t *R );
01362
01378
01379
01380
01381
01382
01383
01384
01385
01386
01387
01388
01389 xcb_xf86dri_get_device_info_reply_t *
01390 xcb_xf86dri_get_device_info_reply (xcb_connection_t *c ,
01391 xcb_xf86dri_get_device_info_cookie_t cookie ,
01392 xcb_generic_error_t **e );
01393
01403
01404
01405
01406
01407
01408
01409
01410
01411
01412
01413
01414 xcb_xf86dri_auth_connection_cookie_t
01415 xcb_xf86dri_auth_connection (xcb_connection_t *c ,
01416 uint32_t screen ,
01417 uint32_t magic );
01418
01431
01432
01433
01434
01435
01436
01437
01438
01439
01440
01441
01442 xcb_xf86dri_auth_connection_cookie_t
01443 xcb_xf86dri_auth_connection_unchecked (xcb_connection_t *c ,
01444 uint32_t screen ,
01445 uint32_t magic );
01446
01462
01463
01464
01465
01466
01467
01468
01469
01470
01471
01472
01473 xcb_xf86dri_auth_connection_reply_t *
01474 xcb_xf86dri_auth_connection_reply (xcb_connection_t *c ,
01475 xcb_xf86dri_auth_connection_cookie_t cookie ,
01476 xcb_generic_error_t **e );
01477
01478
01479 #endif
01480