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 uint8_t pad1[4];
00320 } xcb_xf86dri_get_drawable_info_reply_t;
00321
00325 typedef struct xcb_xf86dri_get_device_info_cookie_t {
00326 unsigned int sequence;
00327 } xcb_xf86dri_get_device_info_cookie_t;
00328
00330 #define XCB_XF86DRI_GET_DEVICE_INFO 10
00331
00335 typedef struct xcb_xf86dri_get_device_info_request_t {
00336 uint8_t major_opcode;
00337 uint8_t minor_opcode;
00338 uint16_t length;
00339 uint32_t screen;
00340 } xcb_xf86dri_get_device_info_request_t;
00341
00345 typedef struct xcb_xf86dri_get_device_info_reply_t {
00346 uint8_t response_type;
00347 uint8_t pad0;
00348 uint16_t sequence;
00349 uint32_t length;
00350 uint32_t framebuffer_handle_low;
00351 uint32_t framebuffer_handle_high;
00352 uint32_t framebuffer_origin_offset;
00353 uint32_t framebuffer_size;
00354 uint32_t framebuffer_stride;
00355 uint32_t device_private_size;
00356 } xcb_xf86dri_get_device_info_reply_t;
00357
00361 typedef struct xcb_xf86dri_auth_connection_cookie_t {
00362 unsigned int sequence;
00363 } xcb_xf86dri_auth_connection_cookie_t;
00364
00366 #define XCB_XF86DRI_AUTH_CONNECTION 11
00367
00371 typedef struct xcb_xf86dri_auth_connection_request_t {
00372 uint8_t major_opcode;
00373 uint8_t minor_opcode;
00374 uint16_t length;
00375 uint32_t screen;
00376 uint32_t magic;
00377 } xcb_xf86dri_auth_connection_request_t;
00378
00382 typedef struct xcb_xf86dri_auth_connection_reply_t {
00383 uint8_t response_type;
00384 uint8_t pad0;
00385 uint16_t sequence;
00386 uint32_t length;
00387 uint32_t authenticated;
00388 } xcb_xf86dri_auth_connection_reply_t;
00389
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408 void
00409 xcb_xf86dri_drm_clip_rect_next (xcb_xf86dri_drm_clip_rect_iterator_t *i );
00410
00421
00422
00423
00424
00425
00426
00427
00428
00429
00430 xcb_generic_iterator_t
00431 xcb_xf86dri_drm_clip_rect_end (xcb_xf86dri_drm_clip_rect_iterator_t i );
00432
00442
00443
00444
00445
00446
00447
00448
00449
00450
00451 xcb_xf86dri_query_version_cookie_t
00452 xcb_xf86dri_query_version (xcb_connection_t *c );
00453
00466
00467
00468
00469
00470
00471
00472
00473
00474
00475 xcb_xf86dri_query_version_cookie_t
00476 xcb_xf86dri_query_version_unchecked (xcb_connection_t *c );
00477
00493
00494
00495
00496
00497
00498
00499
00500
00501
00502
00503
00504 xcb_xf86dri_query_version_reply_t *
00505 xcb_xf86dri_query_version_reply (xcb_connection_t *c ,
00506 xcb_xf86dri_query_version_cookie_t cookie ,
00507 xcb_generic_error_t **e );
00508
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528 xcb_xf86dri_query_direct_rendering_capable_cookie_t
00529 xcb_xf86dri_query_direct_rendering_capable (xcb_connection_t *c ,
00530 uint32_t screen );
00531
00544
00545
00546
00547
00548
00549
00550
00551
00552
00553
00554 xcb_xf86dri_query_direct_rendering_capable_cookie_t
00555 xcb_xf86dri_query_direct_rendering_capable_unchecked (xcb_connection_t *c ,
00556 uint32_t screen );
00557
00573
00574
00575
00576
00577
00578
00579
00580
00581
00582
00583
00584 xcb_xf86dri_query_direct_rendering_capable_reply_t *
00585 xcb_xf86dri_query_direct_rendering_capable_reply (xcb_connection_t *c ,
00586 xcb_xf86dri_query_direct_rendering_capable_cookie_t cookie ,
00587 xcb_generic_error_t **e );
00588
00598
00599
00600
00601
00602
00603
00604
00605
00606
00607
00608 xcb_xf86dri_open_connection_cookie_t
00609 xcb_xf86dri_open_connection (xcb_connection_t *c ,
00610 uint32_t screen );
00611
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634 xcb_xf86dri_open_connection_cookie_t
00635 xcb_xf86dri_open_connection_unchecked (xcb_connection_t *c ,
00636 uint32_t screen );
00637
00638
00639
00640
00641
00642
00643
00644
00645
00646
00647
00648 char *
00649 xcb_xf86dri_open_connection_bus_id (const xcb_xf86dri_open_connection_reply_t *R );
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661 int
00662 xcb_xf86dri_open_connection_bus_id_length (const xcb_xf86dri_open_connection_reply_t *R );
00663
00664
00665
00666
00667
00668
00669
00670
00671
00672
00673
00674 xcb_generic_iterator_t
00675 xcb_xf86dri_open_connection_bus_id_end (const xcb_xf86dri_open_connection_reply_t *R );
00676
00692
00693
00694
00695
00696
00697
00698
00699
00700
00701
00702
00703 xcb_xf86dri_open_connection_reply_t *
00704 xcb_xf86dri_open_connection_reply (xcb_connection_t *c ,
00705 xcb_xf86dri_open_connection_cookie_t cookie ,
00706 xcb_generic_error_t **e );
00707
00720
00721
00722
00723
00724
00725
00726
00727
00728
00729
00730 xcb_void_cookie_t
00731 xcb_xf86dri_close_connection_checked (xcb_connection_t *c ,
00732 uint32_t screen );
00733
00743
00744
00745
00746
00747
00748
00749
00750
00751
00752
00753 xcb_void_cookie_t
00754 xcb_xf86dri_close_connection (xcb_connection_t *c ,
00755 uint32_t screen );
00756
00766
00767
00768
00769
00770
00771
00772
00773
00774
00775
00776 xcb_xf86dri_get_client_driver_name_cookie_t
00777 xcb_xf86dri_get_client_driver_name (xcb_connection_t *c ,
00778 uint32_t screen );
00779
00792
00793
00794
00795
00796
00797
00798
00799
00800
00801
00802 xcb_xf86dri_get_client_driver_name_cookie_t
00803 xcb_xf86dri_get_client_driver_name_unchecked (xcb_connection_t *c ,
00804 uint32_t screen );
00805
00806
00807
00808
00809
00810
00811
00812
00813
00814
00815
00816 char *
00817 xcb_xf86dri_get_client_driver_name_client_driver_name (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00818
00819
00820
00821
00822
00823
00824
00825
00826
00827
00828
00829 int
00830 xcb_xf86dri_get_client_driver_name_client_driver_name_length (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00831
00832
00833
00834
00835
00836
00837
00838
00839
00840
00841
00842 xcb_generic_iterator_t
00843 xcb_xf86dri_get_client_driver_name_client_driver_name_end (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00844
00860
00861
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871 xcb_xf86dri_get_client_driver_name_reply_t *
00872 xcb_xf86dri_get_client_driver_name_reply (xcb_connection_t *c ,
00873 xcb_xf86dri_get_client_driver_name_cookie_t cookie ,
00874 xcb_generic_error_t **e );
00875
00885
00886
00887
00888
00889
00890
00891
00892
00893
00894
00895
00896
00897 xcb_xf86dri_create_context_cookie_t
00898 xcb_xf86dri_create_context (xcb_connection_t *c ,
00899 uint32_t screen ,
00900 uint32_t visual ,
00901 uint32_t context );
00902
00915
00916
00917
00918
00919
00920
00921
00922
00923
00924
00925
00926
00927 xcb_xf86dri_create_context_cookie_t
00928 xcb_xf86dri_create_context_unchecked (xcb_connection_t *c ,
00929 uint32_t screen ,
00930 uint32_t visual ,
00931 uint32_t context );
00932
00948
00949
00950
00951
00952
00953
00954
00955
00956
00957
00958
00959 xcb_xf86dri_create_context_reply_t *
00960 xcb_xf86dri_create_context_reply (xcb_connection_t *c ,
00961 xcb_xf86dri_create_context_cookie_t cookie ,
00962 xcb_generic_error_t **e );
00963
00976
00977
00978
00979
00980
00981
00982
00983
00984
00985
00986
00987 xcb_void_cookie_t
00988 xcb_xf86dri_destroy_context_checked (xcb_connection_t *c ,
00989 uint32_t screen ,
00990 uint32_t context );
00991
01001
01002
01003
01004
01005
01006
01007
01008
01009
01010
01011
01012 xcb_void_cookie_t
01013 xcb_xf86dri_destroy_context (xcb_connection_t *c ,
01014 uint32_t screen ,
01015 uint32_t context );
01016
01026
01027
01028
01029
01030
01031
01032
01033
01034
01035
01036
01037 xcb_xf86dri_create_drawable_cookie_t
01038 xcb_xf86dri_create_drawable (xcb_connection_t *c ,
01039 uint32_t screen ,
01040 uint32_t drawable );
01041
01054
01055
01056
01057
01058
01059
01060
01061
01062
01063
01064
01065 xcb_xf86dri_create_drawable_cookie_t
01066 xcb_xf86dri_create_drawable_unchecked (xcb_connection_t *c ,
01067 uint32_t screen ,
01068 uint32_t drawable );
01069
01085
01086
01087
01088
01089
01090
01091
01092
01093
01094
01095
01096 xcb_xf86dri_create_drawable_reply_t *
01097 xcb_xf86dri_create_drawable_reply (xcb_connection_t *c ,
01098 xcb_xf86dri_create_drawable_cookie_t cookie ,
01099 xcb_generic_error_t **e );
01100
01113
01114
01115
01116
01117
01118
01119
01120
01121
01122
01123
01124 xcb_void_cookie_t
01125 xcb_xf86dri_destroy_drawable_checked (xcb_connection_t *c ,
01126 uint32_t screen ,
01127 uint32_t drawable );
01128
01138
01139
01140
01141
01142
01143
01144
01145
01146
01147
01148
01149 xcb_void_cookie_t
01150 xcb_xf86dri_destroy_drawable (xcb_connection_t *c ,
01151 uint32_t screen ,
01152 uint32_t drawable );
01153
01163
01164
01165
01166
01167
01168
01169
01170
01171
01172
01173
01174 xcb_xf86dri_get_drawable_info_cookie_t
01175 xcb_xf86dri_get_drawable_info (xcb_connection_t *c ,
01176 uint32_t screen ,
01177 uint32_t drawable );
01178
01191
01192
01193
01194
01195
01196
01197
01198
01199
01200
01201
01202 xcb_xf86dri_get_drawable_info_cookie_t
01203 xcb_xf86dri_get_drawable_info_unchecked (xcb_connection_t *c ,
01204 uint32_t screen ,
01205 uint32_t drawable );
01206
01207
01208
01209
01210
01211
01212
01213
01214
01215
01216
01217 xcb_xf86dri_drm_clip_rect_t *
01218 xcb_xf86dri_get_drawable_info_clip_rects (const xcb_xf86dri_get_drawable_info_reply_t *R );
01219
01220
01221
01222
01223
01224
01225
01226
01227
01228
01229
01230 int
01231 xcb_xf86dri_get_drawable_info_clip_rects_length (const xcb_xf86dri_get_drawable_info_reply_t *R );
01232
01233
01234
01235
01236
01237
01238
01239
01240
01241
01242
01243 xcb_xf86dri_drm_clip_rect_iterator_t
01244 xcb_xf86dri_get_drawable_info_clip_rects_iterator (const xcb_xf86dri_get_drawable_info_reply_t *R );
01245
01261
01262
01263
01264
01265
01266
01267
01268
01269
01270
01271
01272 xcb_xf86dri_get_drawable_info_reply_t *
01273 xcb_xf86dri_get_drawable_info_reply (xcb_connection_t *c ,
01274 xcb_xf86dri_get_drawable_info_cookie_t cookie ,
01275 xcb_generic_error_t **e );
01276
01286
01287
01288
01289
01290
01291
01292
01293
01294
01295
01296 xcb_xf86dri_get_device_info_cookie_t
01297 xcb_xf86dri_get_device_info (xcb_connection_t *c ,
01298 uint32_t screen );
01299
01312
01313
01314
01315
01316
01317
01318
01319
01320
01321
01322 xcb_xf86dri_get_device_info_cookie_t
01323 xcb_xf86dri_get_device_info_unchecked (xcb_connection_t *c ,
01324 uint32_t screen );
01325
01326
01327
01328
01329
01330
01331
01332
01333
01334
01335
01336 uint32_t *
01337 xcb_xf86dri_get_device_info_device_private (const xcb_xf86dri_get_device_info_reply_t *R );
01338
01339
01340
01341
01342
01343
01344
01345
01346
01347
01348
01349 int
01350 xcb_xf86dri_get_device_info_device_private_length (const xcb_xf86dri_get_device_info_reply_t *R );
01351
01352
01353
01354
01355
01356
01357
01358
01359
01360
01361
01362 xcb_generic_iterator_t
01363 xcb_xf86dri_get_device_info_device_private_end (const xcb_xf86dri_get_device_info_reply_t *R );
01364
01380
01381
01382
01383
01384
01385
01386
01387
01388
01389
01390
01391 xcb_xf86dri_get_device_info_reply_t *
01392 xcb_xf86dri_get_device_info_reply (xcb_connection_t *c ,
01393 xcb_xf86dri_get_device_info_cookie_t cookie ,
01394 xcb_generic_error_t **e );
01395
01405
01406
01407
01408
01409
01410
01411
01412
01413
01414
01415
01416 xcb_xf86dri_auth_connection_cookie_t
01417 xcb_xf86dri_auth_connection (xcb_connection_t *c ,
01418 uint32_t screen ,
01419 uint32_t magic );
01420
01433
01434
01435
01436
01437
01438
01439
01440
01441
01442
01443
01444 xcb_xf86dri_auth_connection_cookie_t
01445 xcb_xf86dri_auth_connection_unchecked (xcb_connection_t *c ,
01446 uint32_t screen ,
01447 uint32_t magic );
01448
01464
01465
01466
01467
01468
01469
01470
01471
01472
01473
01474
01475 xcb_xf86dri_auth_connection_reply_t *
01476 xcb_xf86dri_auth_connection_reply (xcb_connection_t *c ,
01477 xcb_xf86dri_auth_connection_cookie_t cookie ,
01478 xcb_generic_error_t **e );
01479
01480
01481 #ifdef __cplusplus
01482 }
01483 #endif
01484
01485 #endif
01486