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
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398 void
00399 xcb_xf86dri_drm_clip_rect_next (xcb_xf86dri_drm_clip_rect_iterator_t *i );
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410
00411 xcb_generic_iterator_t
00412 xcb_xf86dri_drm_clip_rect_end (xcb_xf86dri_drm_clip_rect_iterator_t i );
00413
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423
00424 xcb_xf86dri_query_version_cookie_t
00425 xcb_xf86dri_query_version (xcb_connection_t *c );
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437 xcb_xf86dri_query_version_cookie_t
00438 xcb_xf86dri_query_version_unchecked (xcb_connection_t *c );
00439
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452 xcb_xf86dri_query_version_reply_t *
00453 xcb_xf86dri_query_version_reply (xcb_connection_t *c ,
00454 xcb_xf86dri_query_version_cookie_t cookie ,
00455 xcb_generic_error_t **e );
00456
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467
00468 xcb_xf86dri_query_direct_rendering_capable_cookie_t
00469 xcb_xf86dri_query_direct_rendering_capable (xcb_connection_t *c ,
00470 uint32_t screen );
00471
00472
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482
00483 xcb_xf86dri_query_direct_rendering_capable_cookie_t
00484 xcb_xf86dri_query_direct_rendering_capable_unchecked (xcb_connection_t *c ,
00485 uint32_t screen );
00486
00487
00488
00489
00490
00491
00492
00493
00494
00495
00496
00497
00498
00499 xcb_xf86dri_query_direct_rendering_capable_reply_t *
00500 xcb_xf86dri_query_direct_rendering_capable_reply (xcb_connection_t *c ,
00501 xcb_xf86dri_query_direct_rendering_capable_cookie_t cookie ,
00502 xcb_generic_error_t **e );
00503
00504
00505
00506
00507
00508
00509
00510
00511
00512
00513
00514
00515 xcb_xf86dri_open_connection_cookie_t
00516 xcb_xf86dri_open_connection (xcb_connection_t *c ,
00517 uint32_t screen );
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530 xcb_xf86dri_open_connection_cookie_t
00531 xcb_xf86dri_open_connection_unchecked (xcb_connection_t *c ,
00532 uint32_t screen );
00533
00534
00535
00536
00537
00538
00539
00540
00541
00542
00543
00544 uint8_t *
00545 xcb_xf86dri_open_connection_bus_id (const xcb_xf86dri_open_connection_reply_t *R );
00546
00547
00548
00549
00550
00551
00552
00553
00554
00555
00556
00557 int
00558 xcb_xf86dri_open_connection_bus_id_length (const xcb_xf86dri_open_connection_reply_t *R );
00559
00560
00561
00562
00563
00564
00565
00566
00567
00568
00569
00570 xcb_generic_iterator_t
00571 xcb_xf86dri_open_connection_bus_id_end (const xcb_xf86dri_open_connection_reply_t *R );
00572
00573
00574
00575
00576
00577
00578
00579
00580
00581
00582
00583
00584
00585 xcb_xf86dri_open_connection_reply_t *
00586 xcb_xf86dri_open_connection_reply (xcb_connection_t *c ,
00587 xcb_xf86dri_open_connection_cookie_t cookie ,
00588 xcb_generic_error_t **e );
00589
00590
00591
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601 xcb_void_cookie_t
00602 xcb_xf86dri_close_connection_checked (xcb_connection_t *c ,
00603 uint32_t screen );
00604
00605
00606
00607
00608
00609
00610
00611
00612
00613
00614
00615
00616 xcb_void_cookie_t
00617 xcb_xf86dri_close_connection (xcb_connection_t *c ,
00618 uint32_t screen );
00619
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631 xcb_xf86dri_get_client_driver_name_cookie_t
00632 xcb_xf86dri_get_client_driver_name (xcb_connection_t *c ,
00633 uint32_t screen );
00634
00635
00636
00637
00638
00639
00640
00641
00642
00643
00644
00645
00646 xcb_xf86dri_get_client_driver_name_cookie_t
00647 xcb_xf86dri_get_client_driver_name_unchecked (xcb_connection_t *c ,
00648 uint32_t screen );
00649
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659
00660 uint8_t *
00661 xcb_xf86dri_get_client_driver_name_client_driver_name (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00662
00663
00664
00665
00666
00667
00668
00669
00670
00671
00672
00673 int
00674 xcb_xf86dri_get_client_driver_name_client_driver_name_length (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00675
00676
00677
00678
00679
00680
00681
00682
00683
00684
00685
00686 xcb_generic_iterator_t
00687 xcb_xf86dri_get_client_driver_name_client_driver_name_end (const xcb_xf86dri_get_client_driver_name_reply_t *R );
00688
00689
00690
00691
00692
00693
00694
00695
00696
00697
00698
00699
00700
00701 xcb_xf86dri_get_client_driver_name_reply_t *
00702 xcb_xf86dri_get_client_driver_name_reply (xcb_connection_t *c ,
00703 xcb_xf86dri_get_client_driver_name_cookie_t cookie ,
00704 xcb_generic_error_t **e );
00705
00706
00707
00708
00709
00710
00711
00712
00713
00714
00715
00716
00717
00718
00719 xcb_xf86dri_create_context_cookie_t
00720 xcb_xf86dri_create_context (xcb_connection_t *c ,
00721 uint32_t visual ,
00722 uint32_t screen ,
00723 uint32_t context );
00724
00725
00726
00727
00728
00729
00730
00731
00732
00733
00734
00735
00736
00737
00738 xcb_xf86dri_create_context_cookie_t
00739 xcb_xf86dri_create_context_unchecked (xcb_connection_t *c ,
00740 uint32_t visual ,
00741 uint32_t screen ,
00742 uint32_t context );
00743
00744
00745
00746
00747
00748
00749
00750
00751
00752
00753
00754
00755
00756 xcb_xf86dri_create_context_reply_t *
00757 xcb_xf86dri_create_context_reply (xcb_connection_t *c ,
00758 xcb_xf86dri_create_context_cookie_t cookie ,
00759 xcb_generic_error_t **e );
00760
00761
00762
00763
00764
00765
00766
00767
00768
00769
00770
00771
00772
00773 xcb_void_cookie_t
00774 xcb_xf86dri_destroy_context_checked (xcb_connection_t *c ,
00775 uint32_t screen ,
00776 uint32_t context );
00777
00778
00779
00780
00781
00782
00783
00784
00785
00786
00787
00788
00789
00790 xcb_void_cookie_t
00791 xcb_xf86dri_destroy_context (xcb_connection_t *c ,
00792 uint32_t screen ,
00793 uint32_t context );
00794
00795
00796
00797
00798
00799
00800
00801
00802
00803
00804
00805
00806
00807 xcb_xf86dri_create_drawable_cookie_t
00808 xcb_xf86dri_create_drawable (xcb_connection_t *c ,
00809 uint32_t screen ,
00810 uint32_t drawable );
00811
00812
00813
00814
00815
00816
00817
00818
00819
00820
00821
00822
00823
00824 xcb_xf86dri_create_drawable_cookie_t
00825 xcb_xf86dri_create_drawable_unchecked (xcb_connection_t *c ,
00826 uint32_t screen ,
00827 uint32_t drawable );
00828
00829
00830
00831
00832
00833
00834
00835
00836
00837
00838
00839
00840
00841 xcb_xf86dri_create_drawable_reply_t *
00842 xcb_xf86dri_create_drawable_reply (xcb_connection_t *c ,
00843 xcb_xf86dri_create_drawable_cookie_t cookie ,
00844 xcb_generic_error_t **e );
00845
00846
00847
00848
00849
00850
00851
00852
00853
00854
00855
00856
00857
00858 xcb_void_cookie_t
00859 xcb_xf86dri_destroy_drawable_checked (xcb_connection_t *c ,
00860 uint32_t screen ,
00861 uint32_t drawable );
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871
00872
00873
00874
00875 xcb_void_cookie_t
00876 xcb_xf86dri_destroy_drawable (xcb_connection_t *c ,
00877 uint32_t screen ,
00878 uint32_t drawable );
00879
00880
00881
00882
00883
00884
00885
00886
00887
00888
00889
00890
00891
00892 xcb_xf86dri_get_drawable_info_cookie_t
00893 xcb_xf86dri_get_drawable_info (xcb_connection_t *c ,
00894 uint32_t screen ,
00895 uint32_t drawable );
00896
00897
00898
00899
00900
00901
00902
00903
00904
00905
00906
00907
00908
00909 xcb_xf86dri_get_drawable_info_cookie_t
00910 xcb_xf86dri_get_drawable_info_unchecked (xcb_connection_t *c ,
00911 uint32_t screen ,
00912 uint32_t drawable );
00913
00914
00915
00916
00917
00918
00919
00920
00921
00922
00923
00924 xcb_xf86dri_drm_clip_rect_t *
00925 xcb_xf86dri_get_drawable_info_clip_rects (const xcb_xf86dri_get_drawable_info_reply_t *R );
00926
00927
00928
00929
00930
00931
00932
00933
00934
00935
00936
00937 int
00938 xcb_xf86dri_get_drawable_info_clip_rects_length (const xcb_xf86dri_get_drawable_info_reply_t *R );
00939
00940
00941
00942
00943
00944
00945
00946
00947
00948
00949
00950 xcb_xf86dri_drm_clip_rect_iterator_t
00951 xcb_xf86dri_get_drawable_info_clip_rects_iterator (const xcb_xf86dri_get_drawable_info_reply_t *R );
00952
00953
00954
00955
00956
00957
00958
00959
00960
00961
00962
00963
00964
00965 xcb_xf86dri_get_drawable_info_reply_t *
00966 xcb_xf86dri_get_drawable_info_reply (xcb_connection_t *c ,
00967 xcb_xf86dri_get_drawable_info_cookie_t cookie ,
00968 xcb_generic_error_t **e );
00969
00970
00971
00972
00973
00974
00975
00976
00977
00978
00979
00980
00981 xcb_xf86dri_get_device_info_cookie_t
00982 xcb_xf86dri_get_device_info (xcb_connection_t *c ,
00983 uint32_t screen );
00984
00985
00986
00987
00988
00989
00990
00991
00992
00993
00994
00995
00996 xcb_xf86dri_get_device_info_cookie_t
00997 xcb_xf86dri_get_device_info_unchecked (xcb_connection_t *c ,
00998 uint32_t screen );
00999
01000
01001
01002
01003
01004
01005
01006
01007
01008
01009
01010 uint32_t *
01011 xcb_xf86dri_get_device_info_device_private (const xcb_xf86dri_get_device_info_reply_t *R );
01012
01013
01014
01015
01016
01017
01018
01019
01020
01021
01022
01023 int
01024 xcb_xf86dri_get_device_info_device_private_length (const xcb_xf86dri_get_device_info_reply_t *R );
01025
01026
01027
01028
01029
01030
01031
01032
01033
01034
01035
01036 xcb_generic_iterator_t
01037 xcb_xf86dri_get_device_info_device_private_end (const xcb_xf86dri_get_device_info_reply_t *R );
01038
01039
01040
01041
01042
01043
01044
01045
01046
01047
01048
01049
01050
01051 xcb_xf86dri_get_device_info_reply_t *
01052 xcb_xf86dri_get_device_info_reply (xcb_connection_t *c ,
01053 xcb_xf86dri_get_device_info_cookie_t cookie ,
01054 xcb_generic_error_t **e );
01055
01056
01057
01058
01059
01060
01061
01062
01063
01064
01065
01066
01067
01068 xcb_xf86dri_auth_connection_cookie_t
01069 xcb_xf86dri_auth_connection (xcb_connection_t *c ,
01070 uint32_t screen ,
01071 uint32_t magic );
01072
01073
01074
01075
01076
01077
01078
01079
01080
01081
01082
01083
01084
01085 xcb_xf86dri_auth_connection_cookie_t
01086 xcb_xf86dri_auth_connection_unchecked (xcb_connection_t *c ,
01087 uint32_t screen ,
01088 uint32_t magic );
01089
01090
01091
01092
01093
01094
01095
01096
01097
01098
01099
01100
01101
01102 xcb_xf86dri_auth_connection_reply_t *
01103 xcb_xf86dri_auth_connection_reply (xcb_connection_t *c ,
01104 xcb_xf86dri_auth_connection_cookie_t cookie ,
01105 xcb_generic_error_t **e );
01106
01107
01108 #endif
01109