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