29#ifndef __VMWGFX_DRM_H__
30#define __VMWGFX_DRM_H__
34#if defined(__cplusplus)
38#define DRM_VMW_MAX_SURFACE_FACES 6
39#define DRM_VMW_MAX_MIP_LEVELS 24
42#define DRM_VMW_GET_PARAM 0
43#define DRM_VMW_ALLOC_DMABUF 1
44#define DRM_VMW_ALLOC_BO 1
45#define DRM_VMW_UNREF_DMABUF 2
46#define DRM_VMW_HANDLE_CLOSE 2
47#define DRM_VMW_CURSOR_BYPASS 3
49#define DRM_VMW_CONTROL_STREAM 4
50#define DRM_VMW_CLAIM_STREAM 5
51#define DRM_VMW_UNREF_STREAM 6
53#define DRM_VMW_CREATE_CONTEXT 7
54#define DRM_VMW_UNREF_CONTEXT 8
55#define DRM_VMW_CREATE_SURFACE 9
56#define DRM_VMW_UNREF_SURFACE 10
57#define DRM_VMW_REF_SURFACE 11
58#define DRM_VMW_EXECBUF 12
59#define DRM_VMW_GET_3D_CAP 13
60#define DRM_VMW_FENCE_WAIT 14
61#define DRM_VMW_FENCE_SIGNALED 15
62#define DRM_VMW_FENCE_UNREF 16
63#define DRM_VMW_FENCE_EVENT 17
64#define DRM_VMW_PRESENT 18
65#define DRM_VMW_PRESENT_READBACK 19
66#define DRM_VMW_UPDATE_LAYOUT 20
67#define DRM_VMW_CREATE_SHADER 21
68#define DRM_VMW_UNREF_SHADER 22
69#define DRM_VMW_GB_SURFACE_CREATE 23
70#define DRM_VMW_GB_SURFACE_REF 24
71#define DRM_VMW_SYNCCPU 25
72#define DRM_VMW_CREATE_EXTENDED_CONTEXT 26
73#define DRM_VMW_GB_SURFACE_CREATE_EXT 27
74#define DRM_VMW_GB_SURFACE_REF_EXT 28
76#define DRM_VMW_MKSSTAT_RESET 30
77#define DRM_VMW_MKSSTAT_ADD 31
78#define DRM_VMW_MKSSTAT_REMOVE 32
104#define DRM_VMW_PARAM_NUM_STREAMS 0
105#define DRM_VMW_PARAM_NUM_FREE_STREAMS 1
106#define DRM_VMW_PARAM_3D 2
107#define DRM_VMW_PARAM_HW_CAPS 3
108#define DRM_VMW_PARAM_FIFO_CAPS 4
109#define DRM_VMW_PARAM_MAX_FB_SIZE 5
110#define DRM_VMW_PARAM_FIFO_HW_VERSION 6
111#define DRM_VMW_PARAM_MAX_SURF_MEMORY 7
112#define DRM_VMW_PARAM_3D_CAPS_SIZE 8
113#define DRM_VMW_PARAM_MAX_MOB_MEMORY 9
114#define DRM_VMW_PARAM_MAX_MOB_SIZE 10
115#define DRM_VMW_PARAM_SCREEN_TARGET 11
116#define DRM_VMW_PARAM_DX 12
117#define DRM_VMW_PARAM_HW_CAPS2 13
118#define DRM_VMW_PARAM_SM4_1 14
119#define DRM_VMW_PARAM_SM5 15
120#define DRM_VMW_PARAM_GL43 16
121#define DRM_VMW_PARAM_DEVICE_ID 17
331#define DRM_VMW_EXECBUF_VERSION 2
333#define DRM_VMW_EXECBUF_FLAG_IMPORT_FENCE_FD (1 << 0)
334#define DRM_VMW_EXECBUF_FLAG_EXPORT_FENCE_FD (1 << 1)
412#define drm_vmw_alloc_dmabuf_req drm_vmw_alloc_bo_req
434#define drm_vmw_dmabuf_rep drm_vmw_bo_rep
449#define drm_vmw_alloc_dmabuf_arg drm_vmw_alloc_bo_arg
521#define DRM_VMW_CURSOR_BYPASS_ALL (1 << 0)
522#define DRM_VMW_CURSOR_BYPASS_FLAGS (1)
622#define DRM_VMW_FENCE_FLAG_EXEC (1 << 0)
623#define DRM_VMW_FENCE_FLAG_QUERY (1 << 1)
625#define DRM_VMW_WAIT_OPTION_UNREF (1 << 0)
718#define DRM_VMW_EVENT_FENCE_SIGNALED 0x80000000
731#define DRM_VMW_FE_FLAG_REQ_TIME (1 << 0)
1132#define drm_vmw_unref_dmabuf_arg drm_vmw_handle_close_arg
1290#if defined(__cplusplus)
int32_t __s32
Definition drm.h:41
uint32_t __u32
Definition drm.h:42
uint64_t __u64
Definition drm.h:44
Definition vmwgfx_drm.h:408
__u32 size
Definition vmwgfx_drm.h:409
__u32 pad64
Definition vmwgfx_drm.h:410
Definition vmwgfx_drm.h:427
__u32 pad64
Definition vmwgfx_drm.h:432
__u32 handle
Definition vmwgfx_drm.h:429
__u32 cur_gmr_offset
Definition vmwgfx_drm.h:431
__u64 map_handle
Definition vmwgfx_drm.h:428
__u32 cur_gmr_id
Definition vmwgfx_drm.h:430
Definition vmwgfx_drm.h:164
__s32 cid
Definition vmwgfx_drm.h:165
__u32 pad64
Definition vmwgfx_drm.h:166
Definition vmwgfx_drm.h:495
__u32 enabled
Definition vmwgfx_drm.h:497
__u32 handle
Definition vmwgfx_drm.h:502
__u32 offset
Definition vmwgfx_drm.h:503
__u32 flags
Definition vmwgfx_drm.h:499
__u32 stream_id
Definition vmwgfx_drm.h:496
__u32 color_key
Definition vmwgfx_drm.h:500
struct drm_vmw_rect src
Definition vmwgfx_drm.h:511
__s32 format
Definition vmwgfx_drm.h:504
__u32 pitch[3]
Definition vmwgfx_drm.h:508
__u32 width
Definition vmwgfx_drm.h:506
__u32 size
Definition vmwgfx_drm.h:505
struct drm_vmw_rect dst
Definition vmwgfx_drm.h:512
__u32 pad64
Definition vmwgfx_drm.h:510
__u32 height
Definition vmwgfx_drm.h:507
Definition vmwgfx_drm.h:537
__s32 yhot
Definition vmwgfx_drm.h:543
__u32 flags
Definition vmwgfx_drm.h:538
__s32 ypos
Definition vmwgfx_drm.h:541
__u32 crtc_id
Definition vmwgfx_drm.h:539
__s32 xhot
Definition vmwgfx_drm.h:542
__s32 xpos
Definition vmwgfx_drm.h:540
Definition vmwgfx_drm.h:720
struct drm_event base
Definition vmwgfx_drm.h:721
__u32 tv_sec
Definition vmwgfx_drm.h:723
__u32 tv_usec
Definition vmwgfx_drm.h:724
__u64 user_data
Definition vmwgfx_drm.h:722
Definition vmwgfx_drm.h:336
__u32 context_handle
Definition vmwgfx_drm.h:343
__u32 throttle_us
Definition vmwgfx_drm.h:339
__u32 flags
Definition vmwgfx_drm.h:342
__u32 version
Definition vmwgfx_drm.h:341
__s32 imported_fence_fd
Definition vmwgfx_drm.h:344
__u64 commands
Definition vmwgfx_drm.h:337
__u32 command_size
Definition vmwgfx_drm.h:338
__u64 fence_rep
Definition vmwgfx_drm.h:340
Definition vmwgfx_drm.h:699
__u32 pad64
Definition vmwgfx_drm.h:701
__u32 handle
Definition vmwgfx_drm.h:700
Definition vmwgfx_drm.h:742
__u32 flags
Definition vmwgfx_drm.h:746
__u32 handle
Definition vmwgfx_drm.h:745
__u64 fence_rep
Definition vmwgfx_drm.h:743
__u64 user_data
Definition vmwgfx_drm.h:744
Definition vmwgfx_drm.h:373
__u32 mask
Definition vmwgfx_drm.h:375
__s32 error
Definition vmwgfx_drm.h:379
__u32 handle
Definition vmwgfx_drm.h:374
__u32 passed_seqno
Definition vmwgfx_drm.h:377
__u32 seqno
Definition vmwgfx_drm.h:376
__s32 fd
Definition vmwgfx_drm.h:378
Definition vmwgfx_drm.h:673
__u32 pad64
Definition vmwgfx_drm.h:679
__s32 signaled
Definition vmwgfx_drm.h:676
__u32 signaled_flags
Definition vmwgfx_drm.h:678
__u32 passed_seqno
Definition vmwgfx_drm.h:677
__u32 handle
Definition vmwgfx_drm.h:674
__u32 flags
Definition vmwgfx_drm.h:675
Definition vmwgfx_drm.h:642
__s32 cookie_valid
Definition vmwgfx_drm.h:644
__s32 wait_options
Definition vmwgfx_drm.h:649
__u64 timeout_us
Definition vmwgfx_drm.h:646
__u64 kernel_cookie
Definition vmwgfx_drm.h:645
__s32 lazy
Definition vmwgfx_drm.h:647
__u32 handle
Definition vmwgfx_drm.h:643
__s32 flags
Definition vmwgfx_drm.h:648
__s32 pad64
Definition vmwgfx_drm.h:650
Definition vmwgfx_drm.h:1170
__u32 svga3d_flags_upper_32_bits
Definition vmwgfx_drm.h:1173
enum drm_vmw_surface_version version
Definition vmwgfx_drm.h:1172
__u32 quality_level
Definition vmwgfx_drm.h:1175
__u32 buffer_byte_stride
Definition vmwgfx_drm.h:1176
__u32 must_be_zero
Definition vmwgfx_drm.h:1177
__u32 multisample_pattern
Definition vmwgfx_drm.h:1174
struct drm_vmw_gb_surface_create_req base
Definition vmwgfx_drm.h:1171
Definition vmwgfx_drm.h:965
__u32 backup_size
Definition vmwgfx_drm.h:967
__u32 handle
Definition vmwgfx_drm.h:966
__u64 buffer_map_handle
Definition vmwgfx_drm.h:970
__u32 buffer_handle
Definition vmwgfx_drm.h:968
__u32 buffer_size
Definition vmwgfx_drm.h:969
Definition vmwgfx_drm.h:939
__u32 multisample_count
Definition vmwgfx_drm.h:944
__u32 buffer_handle
Definition vmwgfx_drm.h:946
__u32 autogen_filter
Definition vmwgfx_drm.h:945
__u32 format
Definition vmwgfx_drm.h:941
enum drm_vmw_surface_flags drm_surface_flags
Definition vmwgfx_drm.h:943
__u32 array_size
Definition vmwgfx_drm.h:947
__u32 svga3d_flags
Definition vmwgfx_drm.h:940
struct drm_vmw_size base_size
Definition vmwgfx_drm.h:948
__u32 mip_levels
Definition vmwgfx_drm.h:942
Definition vmwgfx_drm.h:1217
struct drm_vmw_gb_surface_create_rep crep
Definition vmwgfx_drm.h:1219
struct drm_vmw_gb_surface_create_ext_req creq
Definition vmwgfx_drm.h:1218
Definition vmwgfx_drm.h:1010
struct drm_vmw_gb_surface_create_req creq
Definition vmwgfx_drm.h:1011
struct drm_vmw_gb_surface_create_rep crep
Definition vmwgfx_drm.h:1012
Definition vmwgfx_drm.h:591
__u64 buffer
Definition vmwgfx_drm.h:592
__u32 max_size
Definition vmwgfx_drm.h:593
__u32 pad64
Definition vmwgfx_drm.h:594
Definition vmwgfx_drm.h:141
__u32 pad64
Definition vmwgfx_drm.h:144
__u64 value
Definition vmwgfx_drm.h:142
__u32 param
Definition vmwgfx_drm.h:143
Definition vmwgfx_drm.h:1128
__u32 handle
Definition vmwgfx_drm.h:1129
__u32 pad64
Definition vmwgfx_drm.h:1130
Definition vmwgfx_drm.h:1267
__u64 info
Definition vmwgfx_drm.h:1269
__u64 stat
Definition vmwgfx_drm.h:1268
__u64 id
Definition vmwgfx_drm.h:1275
__u64 info_len
Definition vmwgfx_drm.h:1272
__u64 description
Definition vmwgfx_drm.h:1274
__u64 stat_len
Definition vmwgfx_drm.h:1271
__u64 strs_len
Definition vmwgfx_drm.h:1273
__u64 strs
Definition vmwgfx_drm.h:1270
Definition vmwgfx_drm.h:1286
__u64 id
Definition vmwgfx_drm.h:1287
Definition vmwgfx_drm.h:1245
__u64 send
Definition vmwgfx_drm.h:1246
__u64 receive
Definition vmwgfx_drm.h:1247
__u32 receive_len
Definition vmwgfx_drm.h:1249
__s32 send_only
Definition vmwgfx_drm.h:1248
Definition vmwgfx_drm.h:774
__s32 dest_x
Definition vmwgfx_drm.h:777
__u32 sid
Definition vmwgfx_drm.h:776
__u32 pad64
Definition vmwgfx_drm.h:781
__u64 clips_ptr
Definition vmwgfx_drm.h:779
__u32 num_clips
Definition vmwgfx_drm.h:780
__s32 dest_y
Definition vmwgfx_drm.h:778
__u32 fb_id
Definition vmwgfx_drm.h:775
Definition vmwgfx_drm.h:804
__u32 num_clips
Definition vmwgfx_drm.h:806
__u64 fence_rep
Definition vmwgfx_drm.h:808
__u32 fb_id
Definition vmwgfx_drm.h:805
__u64 clips_ptr
Definition vmwgfx_drm.h:807
Definition vmwgfx_drm.h:470
__s32 y
Definition vmwgfx_drm.h:472
__u32 h
Definition vmwgfx_drm.h:474
__u32 w
Definition vmwgfx_drm.h:473
__s32 x
Definition vmwgfx_drm.h:471
Definition vmwgfx_drm.h:889
__u32 handle
Definition vmwgfx_drm.h:890
__u32 pad64
Definition vmwgfx_drm.h:891
Definition vmwgfx_drm.h:866
__u32 buffer_handle
Definition vmwgfx_drm.h:869
__u32 shader_handle
Definition vmwgfx_drm.h:870
__u32 size
Definition vmwgfx_drm.h:868
enum drm_vmw_shader_type shader_type
Definition vmwgfx_drm.h:867
__u64 offset
Definition vmwgfx_drm.h:871
Definition vmwgfx_drm.h:243
__u32 depth
Definition vmwgfx_drm.h:246
__u32 pad64
Definition vmwgfx_drm.h:247
__u32 width
Definition vmwgfx_drm.h:244
__u32 height
Definition vmwgfx_drm.h:245
Definition vmwgfx_drm.h:560
__u32 pad64
Definition vmwgfx_drm.h:562
__u32 stream_id
Definition vmwgfx_drm.h:561
Definition vmwgfx_drm.h:227
__s32 sid
Definition vmwgfx_drm.h:228
enum drm_vmw_handle_type handle_type
Definition vmwgfx_drm.h:229
Definition vmwgfx_drm.h:207
__s32 shareable
Definition vmwgfx_drm.h:212
__u32 mip_levels[DRM_VMW_MAX_SURFACE_FACES]
Definition vmwgfx_drm.h:210
__u32 flags
Definition vmwgfx_drm.h:208
__u64 size_addr
Definition vmwgfx_drm.h:211
__u32 format
Definition vmwgfx_drm.h:209
__s32 scanout
Definition vmwgfx_drm.h:213
Definition vmwgfx_drm.h:1080
enum drm_vmw_synccpu_flags flags
Definition vmwgfx_drm.h:1082
__u32 pad64
Definition vmwgfx_drm.h:1084
__u32 handle
Definition vmwgfx_drm.h:1083
enum drm_vmw_synccpu_op op
Definition vmwgfx_drm.h:1081
Definition vmwgfx_drm.h:828
__u32 num_outputs
Definition vmwgfx_drm.h:829
__u64 rects
Definition vmwgfx_drm.h:831
__u32 pad64
Definition vmwgfx_drm.h:830
Definition vmwgfx_drm.h:445
struct drm_vmw_alloc_bo_req req
Definition vmwgfx_drm.h:446
struct drm_vmw_bo_rep rep
Definition vmwgfx_drm.h:447
Definition vmwgfx_drm.h:1107
enum drm_vmw_extended_context req
Definition vmwgfx_drm.h:1108
struct drm_vmw_context_arg rep
Definition vmwgfx_drm.h:1109
Definition vmwgfx_drm.h:981
struct drm_vmw_gb_surface_create_req req
Definition vmwgfx_drm.h:983
struct drm_vmw_gb_surface_create_rep rep
Definition vmwgfx_drm.h:982
Definition vmwgfx_drm.h:1188
struct drm_vmw_gb_surface_create_rep rep
Definition vmwgfx_drm.h:1189
struct drm_vmw_gb_surface_create_ext_req req
Definition vmwgfx_drm.h:1190
Definition vmwgfx_drm.h:1023
struct drm_vmw_gb_surface_ref_rep rep
Definition vmwgfx_drm.h:1024
struct drm_vmw_surface_arg req
Definition vmwgfx_drm.h:1025
Definition vmwgfx_drm.h:1231
struct drm_vmw_gb_surface_ref_ext_rep rep
Definition vmwgfx_drm.h:1232
struct drm_vmw_surface_arg req
Definition vmwgfx_drm.h:1233
Definition vmwgfx_drm.h:259
struct drm_vmw_surface_arg rep
Definition vmwgfx_drm.h:260
struct drm_vmw_surface_create_req req
Definition vmwgfx_drm.h:261
Definition vmwgfx_drm.h:287
struct drm_vmw_surface_arg req
Definition vmwgfx_drm.h:289
struct drm_vmw_surface_create_req rep
Definition vmwgfx_drm.h:288
drm_vmw_synccpu_op
Definition vmwgfx_drm.h:1068
@ drm_vmw_synccpu_release
Definition vmwgfx_drm.h:1070
@ drm_vmw_synccpu_grab
Definition vmwgfx_drm.h:1069
drm_vmw_synccpu_flags
Definition vmwgfx_drm.h:1055
@ drm_vmw_synccpu_write
Definition vmwgfx_drm.h:1057
@ drm_vmw_synccpu_read
Definition vmwgfx_drm.h:1056
@ drm_vmw_synccpu_dontblock
Definition vmwgfx_drm.h:1058
@ drm_vmw_synccpu_allow_cs
Definition vmwgfx_drm.h:1059
drm_vmw_handle_type
Definition vmwgfx_drm.h:127
@ DRM_VMW_HANDLE_LEGACY
Definition vmwgfx_drm.h:128
@ DRM_VMW_HANDLE_PRIME
Definition vmwgfx_drm.h:129
drm_vmw_extended_context
Definition vmwgfx_drm.h:1094
@ drm_vmw_context_dx
Definition vmwgfx_drm.h:1096
@ drm_vmw_context_legacy
Definition vmwgfx_drm.h:1095
drm_vmw_surface_version
Definition vmwgfx_drm.h:1152
@ drm_vmw_gb_surface_v1
Definition vmwgfx_drm.h:1153
drm_vmw_shader_type
Definition vmwgfx_drm.h:846
@ drm_vmw_shader_type_ps
Definition vmwgfx_drm.h:848
@ drm_vmw_shader_type_vs
Definition vmwgfx_drm.h:847
#define DRM_VMW_MAX_SURFACE_FACES
Definition vmwgfx_drm.h:38
drm_vmw_surface_flags
Definition vmwgfx_drm.h:914
@ drm_vmw_surface_flag_scanout
Definition vmwgfx_drm.h:916
@ drm_vmw_surface_flag_coherent
Definition vmwgfx_drm.h:918
@ drm_vmw_surface_flag_create_buffer
Definition vmwgfx_drm.h:917
@ drm_vmw_surface_flag_shareable
Definition vmwgfx_drm.h:915