blob: ead603454b2117ae42d6dd9b839d9a1967d90880 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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__
Christopher Ferris106b3a82016-08-24 12:15:38 -070021#include "drm.h"
22#ifdef __cplusplus
Ben Cheng655a7c02013-10-16 16:09:24 -070023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -070024#endif
25#define DRM_VMW_MAX_SURFACE_FACES 6
Christopher Ferris38062f92014-07-09 15:33:25 -070026#define DRM_VMW_MAX_MIP_LEVELS 24
Ben Cheng655a7c02013-10-16 16:09:24 -070027#define DRM_VMW_GET_PARAM 0
Christopher Ferris106b3a82016-08-24 12:15:38 -070028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070029#define DRM_VMW_ALLOC_DMABUF 1
30#define DRM_VMW_UNREF_DMABUF 2
Christopher Ferris38062f92014-07-09 15:33:25 -070031#define DRM_VMW_CURSOR_BYPASS 3
Ben Cheng655a7c02013-10-16 16:09:24 -070032#define DRM_VMW_CONTROL_STREAM 4
Christopher Ferris106b3a82016-08-24 12:15:38 -070033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070034#define DRM_VMW_CLAIM_STREAM 5
35#define DRM_VMW_UNREF_STREAM 6
Christopher Ferris38062f92014-07-09 15:33:25 -070036#define DRM_VMW_CREATE_CONTEXT 7
Ben Cheng655a7c02013-10-16 16:09:24 -070037#define DRM_VMW_UNREF_CONTEXT 8
Christopher Ferris106b3a82016-08-24 12:15:38 -070038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070039#define DRM_VMW_CREATE_SURFACE 9
40#define DRM_VMW_UNREF_SURFACE 10
Christopher Ferris38062f92014-07-09 15:33:25 -070041#define DRM_VMW_REF_SURFACE 11
Ben Cheng655a7c02013-10-16 16:09:24 -070042#define DRM_VMW_EXECBUF 12
Christopher Ferris106b3a82016-08-24 12:15:38 -070043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070044#define DRM_VMW_GET_3D_CAP 13
45#define DRM_VMW_FENCE_WAIT 14
Christopher Ferris38062f92014-07-09 15:33:25 -070046#define DRM_VMW_FENCE_SIGNALED 15
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define DRM_VMW_FENCE_UNREF 16
Christopher Ferris106b3a82016-08-24 12:15:38 -070048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070049#define DRM_VMW_FENCE_EVENT 17
50#define DRM_VMW_PRESENT 18
Christopher Ferris38062f92014-07-09 15:33:25 -070051#define DRM_VMW_PRESENT_READBACK 19
Ben Cheng655a7c02013-10-16 16:09:24 -070052#define DRM_VMW_UPDATE_LAYOUT 20
Christopher Ferris106b3a82016-08-24 12:15:38 -070053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070054#define DRM_VMW_CREATE_SHADER 21
55#define DRM_VMW_UNREF_SHADER 22
Christopher Ferris38062f92014-07-09 15:33:25 -070056#define DRM_VMW_GB_SURFACE_CREATE 23
57#define DRM_VMW_GB_SURFACE_REF 24
Christopher Ferris106b3a82016-08-24 12:15:38 -070058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070059#define DRM_VMW_SYNCCPU 25
Christopher Ferris05d08e92016-02-04 13:16:38 -080060#define DRM_VMW_CREATE_EXTENDED_CONTEXT 26
Christopher Ferris05d08e92016-02-04 13:16:38 -080061#define DRM_VMW_PARAM_NUM_STREAMS 0
Ben Cheng655a7c02013-10-16 16:09:24 -070062#define DRM_VMW_PARAM_NUM_FREE_STREAMS 1
Christopher Ferris106b3a82016-08-24 12:15:38 -070063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070064#define DRM_VMW_PARAM_3D 2
Ben Cheng655a7c02013-10-16 16:09:24 -070065#define DRM_VMW_PARAM_HW_CAPS 3
Christopher Ferris05d08e92016-02-04 13:16:38 -080066#define DRM_VMW_PARAM_FIFO_CAPS 4
Ben Cheng655a7c02013-10-16 16:09:24 -070067#define DRM_VMW_PARAM_MAX_FB_SIZE 5
Christopher Ferris106b3a82016-08-24 12:15:38 -070068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070069#define DRM_VMW_PARAM_FIFO_HW_VERSION 6
Christopher Ferris38062f92014-07-09 15:33:25 -070070#define DRM_VMW_PARAM_MAX_SURF_MEMORY 7
Christopher Ferris05d08e92016-02-04 13:16:38 -080071#define DRM_VMW_PARAM_3D_CAPS_SIZE 8
Christopher Ferris38062f92014-07-09 15:33:25 -070072#define DRM_VMW_PARAM_MAX_MOB_MEMORY 9
Christopher Ferris106b3a82016-08-24 12:15:38 -070073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070074#define DRM_VMW_PARAM_MAX_MOB_SIZE 10
Christopher Ferris05d08e92016-02-04 13:16:38 -080075#define DRM_VMW_PARAM_SCREEN_TARGET 11
Christopher Ferris05d08e92016-02-04 13:16:38 -080076#define DRM_VMW_PARAM_DX 12
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070077enum drm_vmw_handle_type {
Christopher Ferris106b3a82016-08-24 12:15:38 -070078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080079 DRM_VMW_HANDLE_LEGACY = 0,
Tao Baod7db5942015-01-28 10:07:51 -080080 DRM_VMW_HANDLE_PRIME = 1
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070081};
Ben Cheng655a7c02013-10-16 16:09:24 -070082struct drm_vmw_getparam_arg {
Christopher Ferris05d08e92016-02-04 13:16:38 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -070084 __u64 value;
85 __u32 param;
86 __u32 pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -070087};
Christopher Ferris106b3a82016-08-24 12:15:38 -070088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070089struct drm_vmw_context_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -070090 __s32 cid;
91 __u32 pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -070092};
Christopher Ferris106b3a82016-08-24 12:15:38 -070093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070094struct drm_vmw_surface_create_req {
Christopher Ferris106b3a82016-08-24 12:15:38 -070095 __u32 flags;
96 __u32 format;
97 __u32 mip_levels[DRM_VMW_MAX_SURFACE_FACES];
Christopher Ferris05d08e92016-02-04 13:16:38 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -070099 __u64 size_addr;
100 __s32 shareable;
101 __s32 scanout;
Ben Cheng655a7c02013-10-16 16:09:24 -0700102};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700104struct drm_vmw_surface_arg {
105 __s32 sid;
Tao Baod7db5942015-01-28 10:07:51 -0800106 enum drm_vmw_handle_type handle_type;
Ben Cheng655a7c02013-10-16 16:09:24 -0700107};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700109struct drm_vmw_size {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700110 __u32 width;
111 __u32 height;
112 __u32 depth;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700114 __u32 pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700115};
116union drm_vmw_surface_create_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800117 struct drm_vmw_surface_arg rep;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800119 struct drm_vmw_surface_create_req req;
Ben Cheng655a7c02013-10-16 16:09:24 -0700120};
121union drm_vmw_surface_reference_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800122 struct drm_vmw_surface_create_req rep;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800124 struct drm_vmw_surface_arg req;
Ben Cheng655a7c02013-10-16 16:09:24 -0700125};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800126#define DRM_VMW_EXECBUF_VERSION 2
Ben Cheng655a7c02013-10-16 16:09:24 -0700127struct drm_vmw_execbuf_arg {
Christopher Ferris05d08e92016-02-04 13:16:38 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700129 __u64 commands;
130 __u32 command_size;
131 __u32 throttle_us;
132 __u64 fence_rep;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700134 __u32 version;
135 __u32 flags;
136 __u32 context_handle;
137 __u32 pad64;
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700139};
Ben Cheng655a7c02013-10-16 16:09:24 -0700140struct drm_vmw_fence_rep {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700141 __u32 handle;
142 __u32 mask;
Christopher Ferris38062f92014-07-09 15:33:25 -0700143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700144 __u32 seqno;
145 __u32 passed_seqno;
146 __u32 pad64;
147 __s32 error;
Christopher Ferris38062f92014-07-09 15:33:25 -0700148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700149};
Ben Cheng655a7c02013-10-16 16:09:24 -0700150struct drm_vmw_alloc_dmabuf_req {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700151 __u32 size;
152 __u32 pad64;
Christopher Ferris38062f92014-07-09 15:33:25 -0700153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700154};
Ben Cheng655a7c02013-10-16 16:09:24 -0700155struct drm_vmw_dmabuf_rep {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700156 __u64 map_handle;
157 __u32 handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700159 __u32 cur_gmr_id;
160 __u32 cur_gmr_offset;
161 __u32 pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700162};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700164union drm_vmw_alloc_dmabuf_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800165 struct drm_vmw_alloc_dmabuf_req req;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800166 struct drm_vmw_dmabuf_rep rep;
Ben Cheng655a7c02013-10-16 16:09:24 -0700167};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700169struct drm_vmw_unref_dmabuf_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700170 __u32 handle;
171 __u32 pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700172};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700174struct drm_vmw_rect {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700175 __s32 x;
176 __s32 y;
177 __u32 w;
Christopher Ferris38062f92014-07-09 15:33:25 -0700178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700179 __u32 h;
Ben Cheng655a7c02013-10-16 16:09:24 -0700180};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800181struct drm_vmw_control_stream_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700182 __u32 stream_id;
Christopher Ferris38062f92014-07-09 15:33:25 -0700183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700184 __u32 enabled;
185 __u32 flags;
186 __u32 color_key;
187 __u32 handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700189 __u32 offset;
190 __s32 format;
191 __u32 size;
192 __u32 width;
Christopher Ferris38062f92014-07-09 15:33:25 -0700193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700194 __u32 height;
195 __u32 pitch[3];
196 __u32 pad64;
Tao Baod7db5942015-01-28 10:07:51 -0800197 struct drm_vmw_rect src;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800199 struct drm_vmw_rect dst;
Ben Cheng655a7c02013-10-16 16:09:24 -0700200};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800201#define DRM_VMW_CURSOR_BYPASS_ALL (1 << 0)
Ben Cheng655a7c02013-10-16 16:09:24 -0700202#define DRM_VMW_CURSOR_BYPASS_FLAGS (1)
Christopher Ferris106b3a82016-08-24 12:15:38 -0700203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700204struct drm_vmw_cursor_bypass_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700205 __u32 flags;
206 __u32 crtc_id;
207 __s32 xpos;
Christopher Ferris38062f92014-07-09 15:33:25 -0700208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700209 __s32 ypos;
210 __s32 xhot;
211 __s32 yhot;
Ben Cheng655a7c02013-10-16 16:09:24 -0700212};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700214struct drm_vmw_stream_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700215 __u32 stream_id;
216 __u32 pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700217};
Christopher Ferris38062f92014-07-09 15:33:25 -0700218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700219struct 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 */
Ben Cheng655a7c02013-10-16 16:09:24 -0700224};
Ben Cheng655a7c02013-10-16 16:09:24 -0700225#define DRM_VMW_FENCE_FLAG_EXEC (1 << 0)
Christopher Ferris05d08e92016-02-04 13:16:38 -0800226#define DRM_VMW_FENCE_FLAG_QUERY (1 << 1)
Ben Cheng655a7c02013-10-16 16:09:24 -0700227#define DRM_VMW_WAIT_OPTION_UNREF (1 << 0)
Christopher Ferris106b3a82016-08-24 12:15:38 -0700228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700229struct drm_vmw_fence_wait_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700230 __u32 handle;
231 __s32 cookie_valid;
232 __u64 kernel_cookie;
Christopher Ferris38062f92014-07-09 15:33:25 -0700233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700234 __u64 timeout_us;
235 __s32 lazy;
236 __s32 flags;
237 __s32 wait_options;
Christopher Ferris38062f92014-07-09 15:33:25 -0700238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700239 __s32 pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700240};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800241struct drm_vmw_fence_signaled_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700242 __u32 handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700244 __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;
Ben Cheng655a7c02013-10-16 16:09:24 -0700250};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800251struct drm_vmw_fence_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700252 __u32 handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700254 __u32 pad64;
255};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800256#define DRM_VMW_EVENT_FENCE_SIGNALED 0x80000000
Ben Cheng655a7c02013-10-16 16:09:24 -0700257struct drm_vmw_event_fence {
Christopher Ferris38062f92014-07-09 15:33:25 -0700258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700259 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 */
Ben Cheng655a7c02013-10-16 16:09:24 -0700264};
Ben Cheng655a7c02013-10-16 16:09:24 -0700265#define DRM_VMW_FE_FLAG_REQ_TIME (1 << 0)
Christopher Ferris05d08e92016-02-04 13:16:38 -0800266struct drm_vmw_fence_event_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700267 __u64 fence_rep;
Christopher Ferris38062f92014-07-09 15:33:25 -0700268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700269 __u64 user_data;
270 __u32 handle;
271 __u32 flags;
Ben Cheng655a7c02013-10-16 16:09:24 -0700272};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700274struct drm_vmw_present_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700275 __u32 fb_id;
276 __u32 sid;
277 __s32 dest_x;
Christopher Ferris38062f92014-07-09 15:33:25 -0700278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700279 __s32 dest_y;
280 __u64 clips_ptr;
281 __u32 num_clips;
282 __u32 pad64;
Christopher Ferris38062f92014-07-09 15:33:25 -0700283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700284};
Ben Cheng655a7c02013-10-16 16:09:24 -0700285struct drm_vmw_present_readback_arg {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700286 __u32 fb_id;
287 __u32 num_clips;
Christopher Ferris38062f92014-07-09 15:33:25 -0700288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700289 __u64 clips_ptr;
290 __u64 fence_rep;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800291};
Ben Cheng655a7c02013-10-16 16:09:24 -0700292struct drm_vmw_update_layout_arg {
Ben Cheng655a7c02013-10-16 16:09:24 -0700293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700294 __u32 num_outputs;
295 __u32 pad64;
296 __u64 rects;
Christopher Ferris38062f92014-07-09 15:33:25 -0700297};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700299enum drm_vmw_shader_type {
Tao Baod7db5942015-01-28 10:07:51 -0800300 drm_vmw_shader_type_vs = 0,
Christopher Ferris05d08e92016-02-04 13:16:38 -0800301 drm_vmw_shader_type_ps,
Christopher Ferris38062f92014-07-09 15:33:25 -0700302};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700304struct drm_vmw_shader_create_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800305 enum drm_vmw_shader_type shader_type;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700306 __u32 size;
307 __u32 buffer_handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700309 __u32 shader_handle;
310 __u64 offset;
Christopher Ferris38062f92014-07-09 15:33:25 -0700311};
312struct drm_vmw_shader_arg {
Christopher Ferris38062f92014-07-09 15:33:25 -0700313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700314 __u32 handle;
315 __u32 pad64;
Christopher Ferris38062f92014-07-09 15:33:25 -0700316};
317enum drm_vmw_surface_flags {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800319 drm_vmw_surface_flag_shareable = (1 << 0),
320 drm_vmw_surface_flag_scanout = (1 << 1),
Tao Baod7db5942015-01-28 10:07:51 -0800321 drm_vmw_surface_flag_create_buffer = (1 << 2)
Christopher Ferris38062f92014-07-09 15:33:25 -0700322};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700324struct drm_vmw_gb_surface_create_req {
Christopher Ferris106b3a82016-08-24 12:15:38 -0700325 __u32 svga3d_flags;
326 __u32 format;
327 __u32 mip_levels;
Christopher Ferris38062f92014-07-09 15:33:25 -0700328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800329 enum drm_vmw_surface_flags drm_surface_flags;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700330 __u32 multisample_count;
331 __u32 autogen_filter;
332 __u32 buffer_handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700334 __u32 array_size;
Tao Baod7db5942015-01-28 10:07:51 -0800335 struct drm_vmw_size base_size;
Christopher Ferris38062f92014-07-09 15:33:25 -0700336};
337struct drm_vmw_gb_surface_create_rep {
Christopher Ferris38062f92014-07-09 15:33:25 -0700338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700339 __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;
Christopher Ferris38062f92014-07-09 15:33:25 -0700345};
Christopher Ferris38062f92014-07-09 15:33:25 -0700346union drm_vmw_gb_surface_create_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800347 struct drm_vmw_gb_surface_create_rep rep;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800349 struct drm_vmw_gb_surface_create_req req;
Christopher Ferris38062f92014-07-09 15:33:25 -0700350};
Christopher Ferris38062f92014-07-09 15:33:25 -0700351struct drm_vmw_gb_surface_ref_rep {
Tao Baod7db5942015-01-28 10:07:51 -0800352 struct drm_vmw_gb_surface_create_req creq;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800354 struct drm_vmw_gb_surface_create_rep crep;
Christopher Ferris38062f92014-07-09 15:33:25 -0700355};
Christopher Ferris38062f92014-07-09 15:33:25 -0700356union drm_vmw_gb_surface_reference_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800357 struct drm_vmw_gb_surface_ref_rep rep;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800359 struct drm_vmw_surface_arg req;
Christopher Ferris38062f92014-07-09 15:33:25 -0700360};
Christopher Ferris38062f92014-07-09 15:33:25 -0700361enum drm_vmw_synccpu_flags {
Tao Baod7db5942015-01-28 10:07:51 -0800362 drm_vmw_synccpu_read = (1 << 0),
Christopher Ferris106b3a82016-08-24 12:15:38 -0700363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800364 drm_vmw_synccpu_write = (1 << 1),
365 drm_vmw_synccpu_dontblock = (1 << 2),
Tao Baod7db5942015-01-28 10:07:51 -0800366 drm_vmw_synccpu_allow_cs = (1 << 3)
Christopher Ferris38062f92014-07-09 15:33:25 -0700367};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700369enum drm_vmw_synccpu_op {
Tao Baod7db5942015-01-28 10:07:51 -0800370 drm_vmw_synccpu_grab,
Tao Baod7db5942015-01-28 10:07:51 -0800371 drm_vmw_synccpu_release
Christopher Ferris38062f92014-07-09 15:33:25 -0700372};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700374struct drm_vmw_synccpu_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800375 enum drm_vmw_synccpu_op op;
Tao Baod7db5942015-01-28 10:07:51 -0800376 enum drm_vmw_synccpu_flags flags;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700377 __u32 handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris106b3a82016-08-24 12:15:38 -0700379 __u32 pad64;
380};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800381enum drm_vmw_extended_context {
382 drm_vmw_context_legacy,
Christopher Ferris106b3a82016-08-24 12:15:38 -0700383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800384 drm_vmw_context_dx
385};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800386union drm_vmw_extended_context_arg {
387 enum drm_vmw_extended_context req;
Christopher Ferris106b3a82016-08-24 12:15:38 -0700388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800389 struct drm_vmw_context_arg rep;
390};
Christopher Ferris106b3a82016-08-24 12:15:38 -0700391#ifdef __cplusplus
392#endif
Christopher Ferris05d08e92016-02-04 13:16:38 -0800393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700394#endif