1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef __VMWGFX_DRM_H__ 8*8d67ca89SAndroid Build Coastguard Worker #define __VMWGFX_DRM_H__ 9*8d67ca89SAndroid Build Coastguard Worker #include "drm.h" 10*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus 11*8d67ca89SAndroid Build Coastguard Worker extern "C" { 12*8d67ca89SAndroid Build Coastguard Worker #endif 13*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_MAX_SURFACE_FACES 6 14*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_MAX_MIP_LEVELS 24 15*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_GET_PARAM 0 16*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_ALLOC_DMABUF 1 17*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_ALLOC_BO 1 18*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_UNREF_DMABUF 2 19*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_HANDLE_CLOSE 2 20*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_CURSOR_BYPASS 3 21*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_CONTROL_STREAM 4 22*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_CLAIM_STREAM 5 23*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_UNREF_STREAM 6 24*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_CREATE_CONTEXT 7 25*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_UNREF_CONTEXT 8 26*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_CREATE_SURFACE 9 27*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_UNREF_SURFACE 10 28*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_REF_SURFACE 11 29*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_EXECBUF 12 30*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_GET_3D_CAP 13 31*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_FENCE_WAIT 14 32*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_FENCE_SIGNALED 15 33*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_FENCE_UNREF 16 34*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_FENCE_EVENT 17 35*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PRESENT 18 36*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PRESENT_READBACK 19 37*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_UPDATE_LAYOUT 20 38*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_CREATE_SHADER 21 39*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_UNREF_SHADER 22 40*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_GB_SURFACE_CREATE 23 41*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_GB_SURFACE_REF 24 42*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_SYNCCPU 25 43*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_CREATE_EXTENDED_CONTEXT 26 44*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_GB_SURFACE_CREATE_EXT 27 45*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_GB_SURFACE_REF_EXT 28 46*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_MSG 29 47*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_MKSSTAT_RESET 30 48*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_MKSSTAT_ADD 31 49*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_MKSSTAT_REMOVE 32 50*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_NUM_STREAMS 0 51*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_NUM_FREE_STREAMS 1 52*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_3D 2 53*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_HW_CAPS 3 54*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_FIFO_CAPS 4 55*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_MAX_FB_SIZE 5 56*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_FIFO_HW_VERSION 6 57*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_MAX_SURF_MEMORY 7 58*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_3D_CAPS_SIZE 8 59*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_MAX_MOB_MEMORY 9 60*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_MAX_MOB_SIZE 10 61*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_SCREEN_TARGET 11 62*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_DX 12 63*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_HW_CAPS2 13 64*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_SM4_1 14 65*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_SM5 15 66*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_GL43 16 67*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_PARAM_DEVICE_ID 17 68*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_handle_type { 69*8d67ca89SAndroid Build Coastguard Worker DRM_VMW_HANDLE_LEGACY = 0, 70*8d67ca89SAndroid Build Coastguard Worker DRM_VMW_HANDLE_PRIME = 1 71*8d67ca89SAndroid Build Coastguard Worker }; 72*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_getparam_arg { 73*8d67ca89SAndroid Build Coastguard Worker __u64 value; 74*8d67ca89SAndroid Build Coastguard Worker __u32 param; 75*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 76*8d67ca89SAndroid Build Coastguard Worker }; 77*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_context_arg { 78*8d67ca89SAndroid Build Coastguard Worker __s32 cid; 79*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 80*8d67ca89SAndroid Build Coastguard Worker }; 81*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_surface_create_req { 82*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 83*8d67ca89SAndroid Build Coastguard Worker __u32 format; 84*8d67ca89SAndroid Build Coastguard Worker __u32 mip_levels[DRM_VMW_MAX_SURFACE_FACES]; 85*8d67ca89SAndroid Build Coastguard Worker __u64 size_addr; 86*8d67ca89SAndroid Build Coastguard Worker __s32 shareable; 87*8d67ca89SAndroid Build Coastguard Worker __s32 scanout; 88*8d67ca89SAndroid Build Coastguard Worker }; 89*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_surface_arg { 90*8d67ca89SAndroid Build Coastguard Worker __s32 sid; 91*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_handle_type handle_type; 92*8d67ca89SAndroid Build Coastguard Worker }; 93*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_size { 94*8d67ca89SAndroid Build Coastguard Worker __u32 width; 95*8d67ca89SAndroid Build Coastguard Worker __u32 height; 96*8d67ca89SAndroid Build Coastguard Worker __u32 depth; 97*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 98*8d67ca89SAndroid Build Coastguard Worker }; 99*8d67ca89SAndroid Build Coastguard Worker union drm_vmw_surface_create_arg { 100*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_surface_arg rep; 101*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_surface_create_req req; 102*8d67ca89SAndroid Build Coastguard Worker }; 103*8d67ca89SAndroid Build Coastguard Worker union drm_vmw_surface_reference_arg { 104*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_surface_create_req rep; 105*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_surface_arg req; 106*8d67ca89SAndroid Build Coastguard Worker }; 107*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_EXECBUF_VERSION 2 108*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_EXECBUF_FLAG_IMPORT_FENCE_FD (1 << 0) 109*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_EXECBUF_FLAG_EXPORT_FENCE_FD (1 << 1) 110*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_execbuf_arg { 111*8d67ca89SAndroid Build Coastguard Worker __u64 commands; 112*8d67ca89SAndroid Build Coastguard Worker __u32 command_size; 113*8d67ca89SAndroid Build Coastguard Worker __u32 throttle_us; 114*8d67ca89SAndroid Build Coastguard Worker __u64 fence_rep; 115*8d67ca89SAndroid Build Coastguard Worker __u32 version; 116*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 117*8d67ca89SAndroid Build Coastguard Worker __u32 context_handle; 118*8d67ca89SAndroid Build Coastguard Worker __s32 imported_fence_fd; 119*8d67ca89SAndroid Build Coastguard Worker }; 120*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_fence_rep { 121*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 122*8d67ca89SAndroid Build Coastguard Worker __u32 mask; 123*8d67ca89SAndroid Build Coastguard Worker __u32 seqno; 124*8d67ca89SAndroid Build Coastguard Worker __u32 passed_seqno; 125*8d67ca89SAndroid Build Coastguard Worker __s32 fd; 126*8d67ca89SAndroid Build Coastguard Worker __s32 error; 127*8d67ca89SAndroid Build Coastguard Worker }; 128*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_alloc_bo_req { 129*8d67ca89SAndroid Build Coastguard Worker __u32 size; 130*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 131*8d67ca89SAndroid Build Coastguard Worker }; 132*8d67ca89SAndroid Build Coastguard Worker #define drm_vmw_alloc_dmabuf_req drm_vmw_alloc_bo_req 133*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_bo_rep { 134*8d67ca89SAndroid Build Coastguard Worker __u64 map_handle; 135*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 136*8d67ca89SAndroid Build Coastguard Worker __u32 cur_gmr_id; 137*8d67ca89SAndroid Build Coastguard Worker __u32 cur_gmr_offset; 138*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 139*8d67ca89SAndroid Build Coastguard Worker }; 140*8d67ca89SAndroid Build Coastguard Worker #define drm_vmw_dmabuf_rep drm_vmw_bo_rep 141*8d67ca89SAndroid Build Coastguard Worker union drm_vmw_alloc_bo_arg { 142*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_alloc_bo_req req; 143*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_bo_rep rep; 144*8d67ca89SAndroid Build Coastguard Worker }; 145*8d67ca89SAndroid Build Coastguard Worker #define drm_vmw_alloc_dmabuf_arg drm_vmw_alloc_bo_arg 146*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_rect { 147*8d67ca89SAndroid Build Coastguard Worker __s32 x; 148*8d67ca89SAndroid Build Coastguard Worker __s32 y; 149*8d67ca89SAndroid Build Coastguard Worker __u32 w; 150*8d67ca89SAndroid Build Coastguard Worker __u32 h; 151*8d67ca89SAndroid Build Coastguard Worker }; 152*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_control_stream_arg { 153*8d67ca89SAndroid Build Coastguard Worker __u32 stream_id; 154*8d67ca89SAndroid Build Coastguard Worker __u32 enabled; 155*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 156*8d67ca89SAndroid Build Coastguard Worker __u32 color_key; 157*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 158*8d67ca89SAndroid Build Coastguard Worker __u32 offset; 159*8d67ca89SAndroid Build Coastguard Worker __s32 format; 160*8d67ca89SAndroid Build Coastguard Worker __u32 size; 161*8d67ca89SAndroid Build Coastguard Worker __u32 width; 162*8d67ca89SAndroid Build Coastguard Worker __u32 height; 163*8d67ca89SAndroid Build Coastguard Worker __u32 pitch[3]; 164*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 165*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_rect src; 166*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_rect dst; 167*8d67ca89SAndroid Build Coastguard Worker }; 168*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_CURSOR_BYPASS_ALL (1 << 0) 169*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_CURSOR_BYPASS_FLAGS (1) 170*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_cursor_bypass_arg { 171*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 172*8d67ca89SAndroid Build Coastguard Worker __u32 crtc_id; 173*8d67ca89SAndroid Build Coastguard Worker __s32 xpos; 174*8d67ca89SAndroid Build Coastguard Worker __s32 ypos; 175*8d67ca89SAndroid Build Coastguard Worker __s32 xhot; 176*8d67ca89SAndroid Build Coastguard Worker __s32 yhot; 177*8d67ca89SAndroid Build Coastguard Worker }; 178*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_stream_arg { 179*8d67ca89SAndroid Build Coastguard Worker __u32 stream_id; 180*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 181*8d67ca89SAndroid Build Coastguard Worker }; 182*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_get_3d_cap_arg { 183*8d67ca89SAndroid Build Coastguard Worker __u64 buffer; 184*8d67ca89SAndroid Build Coastguard Worker __u32 max_size; 185*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 186*8d67ca89SAndroid Build Coastguard Worker }; 187*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_FENCE_FLAG_EXEC (1 << 0) 188*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_FENCE_FLAG_QUERY (1 << 1) 189*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_WAIT_OPTION_UNREF (1 << 0) 190*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_fence_wait_arg { 191*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 192*8d67ca89SAndroid Build Coastguard Worker __s32 cookie_valid; 193*8d67ca89SAndroid Build Coastguard Worker __u64 kernel_cookie; 194*8d67ca89SAndroid Build Coastguard Worker __u64 timeout_us; 195*8d67ca89SAndroid Build Coastguard Worker __s32 lazy; 196*8d67ca89SAndroid Build Coastguard Worker __s32 flags; 197*8d67ca89SAndroid Build Coastguard Worker __s32 wait_options; 198*8d67ca89SAndroid Build Coastguard Worker __s32 pad64; 199*8d67ca89SAndroid Build Coastguard Worker }; 200*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_fence_signaled_arg { 201*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 202*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 203*8d67ca89SAndroid Build Coastguard Worker __s32 signaled; 204*8d67ca89SAndroid Build Coastguard Worker __u32 passed_seqno; 205*8d67ca89SAndroid Build Coastguard Worker __u32 signaled_flags; 206*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 207*8d67ca89SAndroid Build Coastguard Worker }; 208*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_fence_arg { 209*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 210*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 211*8d67ca89SAndroid Build Coastguard Worker }; 212*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_EVENT_FENCE_SIGNALED 0x80000000 213*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_event_fence { 214*8d67ca89SAndroid Build Coastguard Worker struct drm_event base; 215*8d67ca89SAndroid Build Coastguard Worker __u64 user_data; 216*8d67ca89SAndroid Build Coastguard Worker __u32 tv_sec; 217*8d67ca89SAndroid Build Coastguard Worker __u32 tv_usec; 218*8d67ca89SAndroid Build Coastguard Worker }; 219*8d67ca89SAndroid Build Coastguard Worker #define DRM_VMW_FE_FLAG_REQ_TIME (1 << 0) 220*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_fence_event_arg { 221*8d67ca89SAndroid Build Coastguard Worker __u64 fence_rep; 222*8d67ca89SAndroid Build Coastguard Worker __u64 user_data; 223*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 224*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 225*8d67ca89SAndroid Build Coastguard Worker }; 226*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_present_arg { 227*8d67ca89SAndroid Build Coastguard Worker __u32 fb_id; 228*8d67ca89SAndroid Build Coastguard Worker __u32 sid; 229*8d67ca89SAndroid Build Coastguard Worker __s32 dest_x; 230*8d67ca89SAndroid Build Coastguard Worker __s32 dest_y; 231*8d67ca89SAndroid Build Coastguard Worker __u64 clips_ptr; 232*8d67ca89SAndroid Build Coastguard Worker __u32 num_clips; 233*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 234*8d67ca89SAndroid Build Coastguard Worker }; 235*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_present_readback_arg { 236*8d67ca89SAndroid Build Coastguard Worker __u32 fb_id; 237*8d67ca89SAndroid Build Coastguard Worker __u32 num_clips; 238*8d67ca89SAndroid Build Coastguard Worker __u64 clips_ptr; 239*8d67ca89SAndroid Build Coastguard Worker __u64 fence_rep; 240*8d67ca89SAndroid Build Coastguard Worker }; 241*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_update_layout_arg { 242*8d67ca89SAndroid Build Coastguard Worker __u32 num_outputs; 243*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 244*8d67ca89SAndroid Build Coastguard Worker __u64 rects; 245*8d67ca89SAndroid Build Coastguard Worker }; 246*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_shader_type { 247*8d67ca89SAndroid Build Coastguard Worker drm_vmw_shader_type_vs = 0, 248*8d67ca89SAndroid Build Coastguard Worker drm_vmw_shader_type_ps, 249*8d67ca89SAndroid Build Coastguard Worker }; 250*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_shader_create_arg { 251*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_shader_type shader_type; 252*8d67ca89SAndroid Build Coastguard Worker __u32 size; 253*8d67ca89SAndroid Build Coastguard Worker __u32 buffer_handle; 254*8d67ca89SAndroid Build Coastguard Worker __u32 shader_handle; 255*8d67ca89SAndroid Build Coastguard Worker __u64 offset; 256*8d67ca89SAndroid Build Coastguard Worker }; 257*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_shader_arg { 258*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 259*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 260*8d67ca89SAndroid Build Coastguard Worker }; 261*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_surface_flags { 262*8d67ca89SAndroid Build Coastguard Worker drm_vmw_surface_flag_shareable = (1 << 0), 263*8d67ca89SAndroid Build Coastguard Worker drm_vmw_surface_flag_scanout = (1 << 1), 264*8d67ca89SAndroid Build Coastguard Worker drm_vmw_surface_flag_create_buffer = (1 << 2), 265*8d67ca89SAndroid Build Coastguard Worker drm_vmw_surface_flag_coherent = (1 << 3), 266*8d67ca89SAndroid Build Coastguard Worker }; 267*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_req { 268*8d67ca89SAndroid Build Coastguard Worker __u32 svga3d_flags; 269*8d67ca89SAndroid Build Coastguard Worker __u32 format; 270*8d67ca89SAndroid Build Coastguard Worker __u32 mip_levels; 271*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_surface_flags drm_surface_flags; 272*8d67ca89SAndroid Build Coastguard Worker __u32 multisample_count; 273*8d67ca89SAndroid Build Coastguard Worker __u32 autogen_filter; 274*8d67ca89SAndroid Build Coastguard Worker __u32 buffer_handle; 275*8d67ca89SAndroid Build Coastguard Worker __u32 array_size; 276*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_size base_size; 277*8d67ca89SAndroid Build Coastguard Worker }; 278*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_rep { 279*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 280*8d67ca89SAndroid Build Coastguard Worker __u32 backup_size; 281*8d67ca89SAndroid Build Coastguard Worker __u32 buffer_handle; 282*8d67ca89SAndroid Build Coastguard Worker __u32 buffer_size; 283*8d67ca89SAndroid Build Coastguard Worker __u64 buffer_map_handle; 284*8d67ca89SAndroid Build Coastguard Worker }; 285*8d67ca89SAndroid Build Coastguard Worker union drm_vmw_gb_surface_create_arg { 286*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_rep rep; 287*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_req req; 288*8d67ca89SAndroid Build Coastguard Worker }; 289*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_ref_rep { 290*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_req creq; 291*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_rep crep; 292*8d67ca89SAndroid Build Coastguard Worker }; 293*8d67ca89SAndroid Build Coastguard Worker union drm_vmw_gb_surface_reference_arg { 294*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_ref_rep rep; 295*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_surface_arg req; 296*8d67ca89SAndroid Build Coastguard Worker }; 297*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_synccpu_flags { 298*8d67ca89SAndroid Build Coastguard Worker drm_vmw_synccpu_read = (1 << 0), 299*8d67ca89SAndroid Build Coastguard Worker drm_vmw_synccpu_write = (1 << 1), 300*8d67ca89SAndroid Build Coastguard Worker drm_vmw_synccpu_dontblock = (1 << 2), 301*8d67ca89SAndroid Build Coastguard Worker drm_vmw_synccpu_allow_cs = (1 << 3) 302*8d67ca89SAndroid Build Coastguard Worker }; 303*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_synccpu_op { 304*8d67ca89SAndroid Build Coastguard Worker drm_vmw_synccpu_grab, 305*8d67ca89SAndroid Build Coastguard Worker drm_vmw_synccpu_release 306*8d67ca89SAndroid Build Coastguard Worker }; 307*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_synccpu_arg { 308*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_synccpu_op op; 309*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_synccpu_flags flags; 310*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 311*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 312*8d67ca89SAndroid Build Coastguard Worker }; 313*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_extended_context { 314*8d67ca89SAndroid Build Coastguard Worker drm_vmw_context_legacy, 315*8d67ca89SAndroid Build Coastguard Worker drm_vmw_context_dx 316*8d67ca89SAndroid Build Coastguard Worker }; 317*8d67ca89SAndroid Build Coastguard Worker union drm_vmw_extended_context_arg { 318*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_extended_context req; 319*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_context_arg rep; 320*8d67ca89SAndroid Build Coastguard Worker }; 321*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_handle_close_arg { 322*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 323*8d67ca89SAndroid Build Coastguard Worker __u32 pad64; 324*8d67ca89SAndroid Build Coastguard Worker }; 325*8d67ca89SAndroid Build Coastguard Worker #define drm_vmw_unref_dmabuf_arg drm_vmw_handle_close_arg 326*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_surface_version { 327*8d67ca89SAndroid Build Coastguard Worker drm_vmw_gb_surface_v1, 328*8d67ca89SAndroid Build Coastguard Worker }; 329*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_ext_req { 330*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_req base; 331*8d67ca89SAndroid Build Coastguard Worker enum drm_vmw_surface_version version; 332*8d67ca89SAndroid Build Coastguard Worker __u32 svga3d_flags_upper_32_bits; 333*8d67ca89SAndroid Build Coastguard Worker __u32 multisample_pattern; 334*8d67ca89SAndroid Build Coastguard Worker __u32 quality_level; 335*8d67ca89SAndroid Build Coastguard Worker __u32 buffer_byte_stride; 336*8d67ca89SAndroid Build Coastguard Worker __u32 must_be_zero; 337*8d67ca89SAndroid Build Coastguard Worker }; 338*8d67ca89SAndroid Build Coastguard Worker union drm_vmw_gb_surface_create_ext_arg { 339*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_rep rep; 340*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_ext_req req; 341*8d67ca89SAndroid Build Coastguard Worker }; 342*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_ref_ext_rep { 343*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_ext_req creq; 344*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_create_rep crep; 345*8d67ca89SAndroid Build Coastguard Worker }; 346*8d67ca89SAndroid Build Coastguard Worker union drm_vmw_gb_surface_reference_ext_arg { 347*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_gb_surface_ref_ext_rep rep; 348*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_surface_arg req; 349*8d67ca89SAndroid Build Coastguard Worker }; 350*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_msg_arg { 351*8d67ca89SAndroid Build Coastguard Worker __u64 send; 352*8d67ca89SAndroid Build Coastguard Worker __u64 receive; 353*8d67ca89SAndroid Build Coastguard Worker __s32 send_only; 354*8d67ca89SAndroid Build Coastguard Worker __u32 receive_len; 355*8d67ca89SAndroid Build Coastguard Worker }; 356*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_mksstat_add_arg { 357*8d67ca89SAndroid Build Coastguard Worker __u64 stat; 358*8d67ca89SAndroid Build Coastguard Worker __u64 info; 359*8d67ca89SAndroid Build Coastguard Worker __u64 strs; 360*8d67ca89SAndroid Build Coastguard Worker __u64 stat_len; 361*8d67ca89SAndroid Build Coastguard Worker __u64 info_len; 362*8d67ca89SAndroid Build Coastguard Worker __u64 strs_len; 363*8d67ca89SAndroid Build Coastguard Worker __u64 description; 364*8d67ca89SAndroid Build Coastguard Worker __u64 id; 365*8d67ca89SAndroid Build Coastguard Worker }; 366*8d67ca89SAndroid Build Coastguard Worker struct drm_vmw_mksstat_remove_arg { 367*8d67ca89SAndroid Build Coastguard Worker __u64 id; 368*8d67ca89SAndroid Build Coastguard Worker }; 369*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus 370*8d67ca89SAndroid Build Coastguard Worker } 371*8d67ca89SAndroid Build Coastguard Worker #endif 372*8d67ca89SAndroid Build Coastguard Worker #endif 373