Home | History | Annotate | Download | only in drm
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef __VMWGFX_DRM_H__
     20 #define __VMWGFX_DRM_H__
     21 #include "drm.h"
     22 #ifdef __cplusplus
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #endif
     25 #define DRM_VMW_MAX_SURFACE_FACES 6
     26 #define DRM_VMW_MAX_MIP_LEVELS 24
     27 #define DRM_VMW_GET_PARAM 0
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define DRM_VMW_ALLOC_DMABUF 1
     30 #define DRM_VMW_UNREF_DMABUF 2
     31 #define DRM_VMW_CURSOR_BYPASS 3
     32 #define DRM_VMW_CONTROL_STREAM 4
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 #define DRM_VMW_CLAIM_STREAM 5
     35 #define DRM_VMW_UNREF_STREAM 6
     36 #define DRM_VMW_CREATE_CONTEXT 7
     37 #define DRM_VMW_UNREF_CONTEXT 8
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 #define DRM_VMW_CREATE_SURFACE 9
     40 #define DRM_VMW_UNREF_SURFACE 10
     41 #define DRM_VMW_REF_SURFACE 11
     42 #define DRM_VMW_EXECBUF 12
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 #define DRM_VMW_GET_3D_CAP 13
     45 #define DRM_VMW_FENCE_WAIT 14
     46 #define DRM_VMW_FENCE_SIGNALED 15
     47 #define DRM_VMW_FENCE_UNREF 16
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 #define DRM_VMW_FENCE_EVENT 17
     50 #define DRM_VMW_PRESENT 18
     51 #define DRM_VMW_PRESENT_READBACK 19
     52 #define DRM_VMW_UPDATE_LAYOUT 20
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 #define DRM_VMW_CREATE_SHADER 21
     55 #define DRM_VMW_UNREF_SHADER 22
     56 #define DRM_VMW_GB_SURFACE_CREATE 23
     57 #define DRM_VMW_GB_SURFACE_REF 24
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 #define DRM_VMW_SYNCCPU 25
     60 #define DRM_VMW_CREATE_EXTENDED_CONTEXT 26
     61 #define DRM_VMW_PARAM_NUM_STREAMS 0
     62 #define DRM_VMW_PARAM_NUM_FREE_STREAMS 1
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 #define DRM_VMW_PARAM_3D 2
     65 #define DRM_VMW_PARAM_HW_CAPS 3
     66 #define DRM_VMW_PARAM_FIFO_CAPS 4
     67 #define DRM_VMW_PARAM_MAX_FB_SIZE 5
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 #define DRM_VMW_PARAM_FIFO_HW_VERSION 6
     70 #define DRM_VMW_PARAM_MAX_SURF_MEMORY 7
     71 #define DRM_VMW_PARAM_3D_CAPS_SIZE 8
     72 #define DRM_VMW_PARAM_MAX_MOB_MEMORY 9
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define DRM_VMW_PARAM_MAX_MOB_SIZE 10
     75 #define DRM_VMW_PARAM_SCREEN_TARGET 11
     76 #define DRM_VMW_PARAM_DX 12
     77 enum drm_vmw_handle_type {
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79   DRM_VMW_HANDLE_LEGACY = 0,
     80   DRM_VMW_HANDLE_PRIME = 1
     81 };
     82 struct drm_vmw_getparam_arg {
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84   __u64 value;
     85   __u32 param;
     86   __u32 pad64;
     87 };
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 struct drm_vmw_context_arg {
     90   __s32 cid;
     91   __u32 pad64;
     92 };
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 struct drm_vmw_surface_create_req {
     95   __u32 flags;
     96   __u32 format;
     97   __u32 mip_levels[DRM_VMW_MAX_SURFACE_FACES];
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99   __u64 size_addr;
    100   __s32 shareable;
    101   __s32 scanout;
    102 };
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 struct drm_vmw_surface_arg {
    105   __s32 sid;
    106   enum drm_vmw_handle_type handle_type;
    107 };
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 struct drm_vmw_size {
    110   __u32 width;
    111   __u32 height;
    112   __u32 depth;
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114   __u32 pad64;
    115 };
    116 union drm_vmw_surface_create_arg {
    117   struct drm_vmw_surface_arg rep;
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119   struct drm_vmw_surface_create_req req;
    120 };
    121 union drm_vmw_surface_reference_arg {
    122   struct drm_vmw_surface_create_req rep;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124   struct drm_vmw_surface_arg req;
    125 };
    126 #define DRM_VMW_EXECBUF_VERSION 2
    127 struct drm_vmw_execbuf_arg {
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129   __u64 commands;
    130   __u32 command_size;
    131   __u32 throttle_us;
    132   __u64 fence_rep;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134   __u32 version;
    135   __u32 flags;
    136   __u32 context_handle;
    137   __u32 pad64;
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 };
    140 struct drm_vmw_fence_rep {
    141   __u32 handle;
    142   __u32 mask;
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144   __u32 seqno;
    145   __u32 passed_seqno;
    146   __u32 pad64;
    147   __s32 error;
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149 };
    150 struct drm_vmw_alloc_dmabuf_req {
    151   __u32 size;
    152   __u32 pad64;
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 };
    155 struct drm_vmw_dmabuf_rep {
    156   __u64 map_handle;
    157   __u32 handle;
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159   __u32 cur_gmr_id;
    160   __u32 cur_gmr_offset;
    161   __u32 pad64;
    162 };
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164 union drm_vmw_alloc_dmabuf_arg {
    165   struct drm_vmw_alloc_dmabuf_req req;
    166   struct drm_vmw_dmabuf_rep rep;
    167 };
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 struct drm_vmw_unref_dmabuf_arg {
    170   __u32 handle;
    171   __u32 pad64;
    172 };
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174 struct drm_vmw_rect {
    175   __s32 x;
    176   __s32 y;
    177   __u32 w;
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179   __u32 h;
    180 };
    181 struct drm_vmw_control_stream_arg {
    182   __u32 stream_id;
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184   __u32 enabled;
    185   __u32 flags;
    186   __u32 color_key;
    187   __u32 handle;
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189   __u32 offset;
    190   __s32 format;
    191   __u32 size;
    192   __u32 width;
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194   __u32 height;
    195   __u32 pitch[3];
    196   __u32 pad64;
    197   struct drm_vmw_rect src;
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199   struct drm_vmw_rect dst;
    200 };
    201 #define DRM_VMW_CURSOR_BYPASS_ALL (1 << 0)
    202 #define DRM_VMW_CURSOR_BYPASS_FLAGS (1)
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 struct drm_vmw_cursor_bypass_arg {
    205   __u32 flags;
    206   __u32 crtc_id;
    207   __s32 xpos;
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209   __s32 ypos;
    210   __s32 xhot;
    211   __s32 yhot;
    212 };
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214 struct drm_vmw_stream_arg {
    215   __u32 stream_id;
    216   __u32 pad64;
    217 };
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 struct drm_vmw_get_3d_cap_arg {
    220   __u64 buffer;
    221   __u32 max_size;
    222   __u32 pad64;
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224 };
    225 #define DRM_VMW_FENCE_FLAG_EXEC (1 << 0)
    226 #define DRM_VMW_FENCE_FLAG_QUERY (1 << 1)
    227 #define DRM_VMW_WAIT_OPTION_UNREF (1 << 0)
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229 struct drm_vmw_fence_wait_arg {
    230   __u32 handle;
    231   __s32 cookie_valid;
    232   __u64 kernel_cookie;
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234   __u64 timeout_us;
    235   __s32 lazy;
    236   __s32 flags;
    237   __s32 wait_options;
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239   __s32 pad64;
    240 };
    241 struct drm_vmw_fence_signaled_arg {
    242   __u32 handle;
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244   __u32 flags;
    245   __s32 signaled;
    246   __u32 passed_seqno;
    247   __u32 signaled_flags;
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249   __u32 pad64;
    250 };
    251 struct drm_vmw_fence_arg {
    252   __u32 handle;
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254   __u32 pad64;
    255 };
    256 #define DRM_VMW_EVENT_FENCE_SIGNALED 0x80000000
    257 struct drm_vmw_event_fence {
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259   struct drm_event base;
    260   __u64 user_data;
    261   __u32 tv_sec;
    262   __u32 tv_usec;
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 };
    265 #define DRM_VMW_FE_FLAG_REQ_TIME (1 << 0)
    266 struct drm_vmw_fence_event_arg {
    267   __u64 fence_rep;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269   __u64 user_data;
    270   __u32 handle;
    271   __u32 flags;
    272 };
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 struct drm_vmw_present_arg {
    275   __u32 fb_id;
    276   __u32 sid;
    277   __s32 dest_x;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279   __s32 dest_y;
    280   __u64 clips_ptr;
    281   __u32 num_clips;
    282   __u32 pad64;
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284 };
    285 struct drm_vmw_present_readback_arg {
    286   __u32 fb_id;
    287   __u32 num_clips;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289   __u64 clips_ptr;
    290   __u64 fence_rep;
    291 };
    292 struct drm_vmw_update_layout_arg {
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294   __u32 num_outputs;
    295   __u32 pad64;
    296   __u64 rects;
    297 };
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299 enum drm_vmw_shader_type {
    300   drm_vmw_shader_type_vs = 0,
    301   drm_vmw_shader_type_ps,
    302 };
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304 struct drm_vmw_shader_create_arg {
    305   enum drm_vmw_shader_type shader_type;
    306   __u32 size;
    307   __u32 buffer_handle;
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309   __u32 shader_handle;
    310   __u64 offset;
    311 };
    312 struct drm_vmw_shader_arg {
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314   __u32 handle;
    315   __u32 pad64;
    316 };
    317 enum drm_vmw_surface_flags {
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319   drm_vmw_surface_flag_shareable = (1 << 0),
    320   drm_vmw_surface_flag_scanout = (1 << 1),
    321   drm_vmw_surface_flag_create_buffer = (1 << 2)
    322 };
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324 struct drm_vmw_gb_surface_create_req {
    325   __u32 svga3d_flags;
    326   __u32 format;
    327   __u32 mip_levels;
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329   enum drm_vmw_surface_flags drm_surface_flags;
    330   __u32 multisample_count;
    331   __u32 autogen_filter;
    332   __u32 buffer_handle;
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334   __u32 array_size;
    335   struct drm_vmw_size base_size;
    336 };
    337 struct drm_vmw_gb_surface_create_rep {
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339   __u32 handle;
    340   __u32 backup_size;
    341   __u32 buffer_handle;
    342   __u32 buffer_size;
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344   __u64 buffer_map_handle;
    345 };
    346 union drm_vmw_gb_surface_create_arg {
    347   struct drm_vmw_gb_surface_create_rep rep;
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349   struct drm_vmw_gb_surface_create_req req;
    350 };
    351 struct drm_vmw_gb_surface_ref_rep {
    352   struct drm_vmw_gb_surface_create_req creq;
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354   struct drm_vmw_gb_surface_create_rep crep;
    355 };
    356 union drm_vmw_gb_surface_reference_arg {
    357   struct drm_vmw_gb_surface_ref_rep rep;
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359   struct drm_vmw_surface_arg req;
    360 };
    361 enum drm_vmw_synccpu_flags {
    362   drm_vmw_synccpu_read = (1 << 0),
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364   drm_vmw_synccpu_write = (1 << 1),
    365   drm_vmw_synccpu_dontblock = (1 << 2),
    366   drm_vmw_synccpu_allow_cs = (1 << 3)
    367 };
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369 enum drm_vmw_synccpu_op {
    370   drm_vmw_synccpu_grab,
    371   drm_vmw_synccpu_release
    372 };
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374 struct drm_vmw_synccpu_arg {
    375   enum drm_vmw_synccpu_op op;
    376   enum drm_vmw_synccpu_flags flags;
    377   __u32 handle;
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379   __u32 pad64;
    380 };
    381 enum drm_vmw_extended_context {
    382   drm_vmw_context_legacy,
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384   drm_vmw_context_dx
    385 };
    386 union drm_vmw_extended_context_arg {
    387   enum drm_vmw_extended_context req;
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389   struct drm_vmw_context_arg rep;
    390 };
    391 #ifdef __cplusplus
    392 #endif
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394 #endif
    395