blob: 26762ab465b827a48504eef0955d145c51ce1fc8 [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 Ferris82d75042015-01-26 10:57:07 -080021#include <drm/drm.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070022#define DRM_VMW_MAX_SURFACE_FACES 6
Ben Cheng655a7c02013-10-16 16:09:24 -070023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070024#define DRM_VMW_MAX_MIP_LEVELS 24
Ben Cheng655a7c02013-10-16 16:09:24 -070025#define DRM_VMW_GET_PARAM 0
26#define DRM_VMW_ALLOC_DMABUF 1
27#define DRM_VMW_UNREF_DMABUF 2
Ben Cheng655a7c02013-10-16 16:09:24 -070028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070029#define DRM_VMW_CURSOR_BYPASS 3
Ben Cheng655a7c02013-10-16 16:09:24 -070030#define DRM_VMW_CONTROL_STREAM 4
31#define DRM_VMW_CLAIM_STREAM 5
32#define DRM_VMW_UNREF_STREAM 6
Ben Cheng655a7c02013-10-16 16:09:24 -070033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070034#define DRM_VMW_CREATE_CONTEXT 7
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define DRM_VMW_UNREF_CONTEXT 8
36#define DRM_VMW_CREATE_SURFACE 9
37#define DRM_VMW_UNREF_SURFACE 10
Ben Cheng655a7c02013-10-16 16:09:24 -070038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070039#define DRM_VMW_REF_SURFACE 11
Ben Cheng655a7c02013-10-16 16:09:24 -070040#define DRM_VMW_EXECBUF 12
41#define DRM_VMW_GET_3D_CAP 13
42#define DRM_VMW_FENCE_WAIT 14
Ben Cheng655a7c02013-10-16 16:09:24 -070043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070044#define DRM_VMW_FENCE_SIGNALED 15
Ben Cheng655a7c02013-10-16 16:09:24 -070045#define DRM_VMW_FENCE_UNREF 16
46#define DRM_VMW_FENCE_EVENT 17
47#define DRM_VMW_PRESENT 18
Ben Cheng655a7c02013-10-16 16:09:24 -070048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070049#define DRM_VMW_PRESENT_READBACK 19
Ben Cheng655a7c02013-10-16 16:09:24 -070050#define DRM_VMW_UPDATE_LAYOUT 20
Christopher Ferris38062f92014-07-09 15:33:25 -070051#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
Christopher Ferris05d08e92016-02-04 13:16:38 -080057#define DRM_VMW_CREATE_EXTENDED_CONTEXT 26
Christopher Ferris38062f92014-07-09 15:33:25 -070058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080059#define DRM_VMW_PARAM_NUM_STREAMS 0
Ben Cheng655a7c02013-10-16 16:09:24 -070060#define DRM_VMW_PARAM_NUM_FREE_STREAMS 1
61#define DRM_VMW_PARAM_3D 2
Ben Cheng655a7c02013-10-16 16:09:24 -070062#define DRM_VMW_PARAM_HW_CAPS 3
Christopher Ferris38062f92014-07-09 15:33:25 -070063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080064#define DRM_VMW_PARAM_FIFO_CAPS 4
Ben Cheng655a7c02013-10-16 16:09:24 -070065#define DRM_VMW_PARAM_MAX_FB_SIZE 5
66#define DRM_VMW_PARAM_FIFO_HW_VERSION 6
Christopher Ferris38062f92014-07-09 15:33:25 -070067#define DRM_VMW_PARAM_MAX_SURF_MEMORY 7
Ben Cheng655a7c02013-10-16 16:09:24 -070068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -080069#define DRM_VMW_PARAM_3D_CAPS_SIZE 8
Christopher Ferris38062f92014-07-09 15:33:25 -070070#define DRM_VMW_PARAM_MAX_MOB_MEMORY 9
71#define DRM_VMW_PARAM_MAX_MOB_SIZE 10
Christopher Ferris05d08e92016-02-04 13:16:38 -080072#define DRM_VMW_PARAM_SCREEN_TARGET 11
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define DRM_VMW_PARAM_DX 12
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070075enum drm_vmw_handle_type {
Tao Baod7db5942015-01-28 10:07:51 -080076 DRM_VMW_HANDLE_LEGACY = 0,
Tao Baod7db5942015-01-28 10:07:51 -080077 DRM_VMW_HANDLE_PRIME = 1
Christopher Ferris05d08e92016-02-04 13:16:38 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070079};
Ben Cheng655a7c02013-10-16 16:09:24 -070080struct drm_vmw_getparam_arg {
Tao Baod7db5942015-01-28 10:07:51 -080081 uint64_t value;
Tao Baod7db5942015-01-28 10:07:51 -080082 uint32_t param;
Christopher Ferris05d08e92016-02-04 13:16:38 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080084 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -070085};
86struct drm_vmw_context_arg {
Tao Baod7db5942015-01-28 10:07:51 -080087 int32_t cid;
Christopher Ferris05d08e92016-02-04 13:16:38 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080089 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -070090};
91struct drm_vmw_surface_create_req {
Tao Baod7db5942015-01-28 10:07:51 -080092 uint32_t flags;
Christopher Ferris05d08e92016-02-04 13:16:38 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080094 uint32_t format;
95 uint32_t mip_levels[DRM_VMW_MAX_SURFACE_FACES];
96 uint64_t size_addr;
Tao Baod7db5942015-01-28 10:07:51 -080097 int32_t shareable;
Christopher Ferris05d08e92016-02-04 13:16:38 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080099 int32_t scanout;
Ben Cheng655a7c02013-10-16 16:09:24 -0700100};
101struct drm_vmw_surface_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800102 int32_t sid;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800104 enum drm_vmw_handle_type handle_type;
Ben Cheng655a7c02013-10-16 16:09:24 -0700105};
106struct drm_vmw_size {
Tao Baod7db5942015-01-28 10:07:51 -0800107 uint32_t width;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800109 uint32_t height;
110 uint32_t depth;
111 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700112};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700114union drm_vmw_surface_create_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800115 struct drm_vmw_surface_arg rep;
116 struct drm_vmw_surface_create_req req;
Ben Cheng655a7c02013-10-16 16:09:24 -0700117};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700119union drm_vmw_surface_reference_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800120 struct drm_vmw_surface_create_req rep;
121 struct drm_vmw_surface_arg req;
Ben Cheng655a7c02013-10-16 16:09:24 -0700122};
Christopher Ferris05d08e92016-02-04 13:16:38 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#define DRM_VMW_EXECBUF_VERSION 2
Ben Cheng655a7c02013-10-16 16:09:24 -0700125struct drm_vmw_execbuf_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800126 uint64_t commands;
Tao Baod7db5942015-01-28 10:07:51 -0800127 uint32_t command_size;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800129 uint32_t throttle_us;
130 uint64_t fence_rep;
131 uint32_t version;
Tao Baod7db5942015-01-28 10:07:51 -0800132 uint32_t flags;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 uint32_t context_handle;
135 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700136};
Ben Cheng655a7c02013-10-16 16:09:24 -0700137struct drm_vmw_fence_rep {
Christopher Ferris38062f92014-07-09 15:33:25 -0700138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800139 uint32_t handle;
Tao Baod7db5942015-01-28 10:07:51 -0800140 uint32_t mask;
141 uint32_t seqno;
142 uint32_t passed_seqno;
Christopher Ferris38062f92014-07-09 15:33:25 -0700143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800144 uint32_t pad64;
Tao Baod7db5942015-01-28 10:07:51 -0800145 int32_t error;
Ben Cheng655a7c02013-10-16 16:09:24 -0700146};
Ben Cheng655a7c02013-10-16 16:09:24 -0700147struct drm_vmw_alloc_dmabuf_req {
Christopher Ferris38062f92014-07-09 15:33:25 -0700148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800149 uint32_t size;
Tao Baod7db5942015-01-28 10:07:51 -0800150 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700151};
Ben Cheng655a7c02013-10-16 16:09:24 -0700152struct drm_vmw_dmabuf_rep {
Christopher Ferris38062f92014-07-09 15:33:25 -0700153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800154 uint64_t map_handle;
Tao Baod7db5942015-01-28 10:07:51 -0800155 uint32_t handle;
156 uint32_t cur_gmr_id;
157 uint32_t cur_gmr_offset;
Christopher Ferris38062f92014-07-09 15:33:25 -0700158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800159 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700160};
161union drm_vmw_alloc_dmabuf_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800162 struct drm_vmw_alloc_dmabuf_req req;
Christopher Ferris38062f92014-07-09 15:33:25 -0700163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800164 struct drm_vmw_dmabuf_rep rep;
Ben Cheng655a7c02013-10-16 16:09:24 -0700165};
166struct drm_vmw_unref_dmabuf_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800167 uint32_t handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800169 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700170};
171struct drm_vmw_rect {
Tao Baod7db5942015-01-28 10:07:51 -0800172 int32_t x;
Christopher Ferris38062f92014-07-09 15:33:25 -0700173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800174 int32_t y;
Tao Baod7db5942015-01-28 10:07:51 -0800175 uint32_t w;
176 uint32_t h;
Ben Cheng655a7c02013-10-16 16:09:24 -0700177};
Christopher Ferris38062f92014-07-09 15:33:25 -0700178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800179struct drm_vmw_control_stream_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800180 uint32_t stream_id;
181 uint32_t enabled;
182 uint32_t flags;
Christopher Ferris38062f92014-07-09 15:33:25 -0700183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800184 uint32_t color_key;
Tao Baod7db5942015-01-28 10:07:51 -0800185 uint32_t handle;
186 uint32_t offset;
187 int32_t format;
Christopher Ferris38062f92014-07-09 15:33:25 -0700188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800189 uint32_t size;
Tao Baod7db5942015-01-28 10:07:51 -0800190 uint32_t width;
191 uint32_t height;
192 uint32_t pitch[3];
Christopher Ferris38062f92014-07-09 15:33:25 -0700193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800194 uint32_t pad64;
Tao Baod7db5942015-01-28 10:07:51 -0800195 struct drm_vmw_rect src;
196 struct drm_vmw_rect dst;
Ben Cheng655a7c02013-10-16 16:09:24 -0700197};
Christopher Ferris38062f92014-07-09 15:33:25 -0700198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800199#define DRM_VMW_CURSOR_BYPASS_ALL (1 << 0)
Ben Cheng655a7c02013-10-16 16:09:24 -0700200#define DRM_VMW_CURSOR_BYPASS_FLAGS (1)
201struct drm_vmw_cursor_bypass_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800202 uint32_t flags;
Christopher Ferris38062f92014-07-09 15:33:25 -0700203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800204 uint32_t crtc_id;
Tao Baod7db5942015-01-28 10:07:51 -0800205 int32_t xpos;
206 int32_t ypos;
207 int32_t xhot;
Christopher Ferris38062f92014-07-09 15:33:25 -0700208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800209 int32_t yhot;
Ben Cheng655a7c02013-10-16 16:09:24 -0700210};
211struct drm_vmw_stream_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800212 uint32_t stream_id;
Christopher Ferris38062f92014-07-09 15:33:25 -0700213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800214 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700215};
216struct drm_vmw_get_3d_cap_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800217 uint64_t buffer;
Christopher Ferris38062f92014-07-09 15:33:25 -0700218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800219 uint32_t max_size;
Tao Baod7db5942015-01-28 10:07:51 -0800220 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700221};
Ben Cheng655a7c02013-10-16 16:09:24 -0700222#define DRM_VMW_FENCE_FLAG_EXEC (1 << 0)
Christopher Ferris38062f92014-07-09 15:33:25 -0700223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800224#define DRM_VMW_FENCE_FLAG_QUERY (1 << 1)
Ben Cheng655a7c02013-10-16 16:09:24 -0700225#define DRM_VMW_WAIT_OPTION_UNREF (1 << 0)
226struct drm_vmw_fence_wait_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800227 uint32_t handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800229 int32_t cookie_valid;
Tao Baod7db5942015-01-28 10:07:51 -0800230 uint64_t kernel_cookie;
231 uint64_t timeout_us;
232 int32_t lazy;
Christopher Ferris38062f92014-07-09 15:33:25 -0700233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800234 int32_t flags;
Tao Baod7db5942015-01-28 10:07:51 -0800235 int32_t wait_options;
236 int32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700237};
Christopher Ferris38062f92014-07-09 15:33:25 -0700238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800239struct drm_vmw_fence_signaled_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800240 uint32_t handle;
241 uint32_t flags;
242 int32_t signaled;
Christopher Ferris38062f92014-07-09 15:33:25 -0700243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800244 uint32_t passed_seqno;
Tao Baod7db5942015-01-28 10:07:51 -0800245 uint32_t signaled_flags;
246 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700247};
Christopher Ferris38062f92014-07-09 15:33:25 -0700248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800249struct drm_vmw_fence_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800250 uint32_t handle;
251 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700252};
Christopher Ferris38062f92014-07-09 15:33:25 -0700253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800254#define DRM_VMW_EVENT_FENCE_SIGNALED 0x80000000
Ben Cheng655a7c02013-10-16 16:09:24 -0700255struct drm_vmw_event_fence {
Tao Baod7db5942015-01-28 10:07:51 -0800256 struct drm_event base;
257 uint64_t user_data;
Christopher Ferris38062f92014-07-09 15:33:25 -0700258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800259 uint32_t tv_sec;
Tao Baod7db5942015-01-28 10:07:51 -0800260 uint32_t tv_usec;
Ben Cheng655a7c02013-10-16 16:09:24 -0700261};
Ben Cheng655a7c02013-10-16 16:09:24 -0700262#define DRM_VMW_FE_FLAG_REQ_TIME (1 << 0)
Christopher Ferris38062f92014-07-09 15:33:25 -0700263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800264struct drm_vmw_fence_event_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800265 uint64_t fence_rep;
266 uint64_t user_data;
267 uint32_t handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800269 uint32_t flags;
Ben Cheng655a7c02013-10-16 16:09:24 -0700270};
271struct drm_vmw_present_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800272 uint32_t fb_id;
Christopher Ferris38062f92014-07-09 15:33:25 -0700273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800274 uint32_t sid;
Tao Baod7db5942015-01-28 10:07:51 -0800275 int32_t dest_x;
276 int32_t dest_y;
277 uint64_t clips_ptr;
Christopher Ferris38062f92014-07-09 15:33:25 -0700278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800279 uint32_t num_clips;
Tao Baod7db5942015-01-28 10:07:51 -0800280 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700281};
Ben Cheng655a7c02013-10-16 16:09:24 -0700282struct drm_vmw_present_readback_arg {
Christopher Ferris38062f92014-07-09 15:33:25 -0700283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800284 uint32_t fb_id;
Tao Baod7db5942015-01-28 10:07:51 -0800285 uint32_t num_clips;
286 uint64_t clips_ptr;
287 uint64_t fence_rep;
Christopher Ferris38062f92014-07-09 15:33:25 -0700288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800289};
Ben Cheng655a7c02013-10-16 16:09:24 -0700290struct drm_vmw_update_layout_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800291 uint32_t num_outputs;
292 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800294 uint64_t rects;
Christopher Ferris38062f92014-07-09 15:33:25 -0700295};
296enum drm_vmw_shader_type {
Tao Baod7db5942015-01-28 10:07:51 -0800297 drm_vmw_shader_type_vs = 0,
Christopher Ferris38062f92014-07-09 15:33:25 -0700298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800299 drm_vmw_shader_type_ps,
Christopher Ferris38062f92014-07-09 15:33:25 -0700300};
301struct drm_vmw_shader_create_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800302 enum drm_vmw_shader_type shader_type;
Christopher Ferris38062f92014-07-09 15:33:25 -0700303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800304 uint32_t size;
305 uint32_t buffer_handle;
306 uint32_t shader_handle;
307 uint64_t offset;
Christopher Ferris38062f92014-07-09 15:33:25 -0700308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309};
310struct drm_vmw_shader_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800311 uint32_t handle;
312 uint32_t pad64;
Christopher Ferris38062f92014-07-09 15:33:25 -0700313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314};
315enum drm_vmw_surface_flags {
Tao Baod7db5942015-01-28 10:07:51 -0800316 drm_vmw_surface_flag_shareable = (1 << 0),
317 drm_vmw_surface_flag_scanout = (1 << 1),
Christopher Ferris38062f92014-07-09 15:33:25 -0700318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800319 drm_vmw_surface_flag_create_buffer = (1 << 2)
Christopher Ferris38062f92014-07-09 15:33:25 -0700320};
321struct drm_vmw_gb_surface_create_req {
Tao Baod7db5942015-01-28 10:07:51 -0800322 uint32_t svga3d_flags;
Christopher Ferris38062f92014-07-09 15:33:25 -0700323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800324 uint32_t format;
325 uint32_t mip_levels;
326 enum drm_vmw_surface_flags drm_surface_flags;
327 uint32_t multisample_count;
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 uint32_t autogen_filter;
330 uint32_t buffer_handle;
Christopher Ferris05d08e92016-02-04 13:16:38 -0800331 uint32_t array_size;
Tao Baod7db5942015-01-28 10:07:51 -0800332 struct drm_vmw_size base_size;
Christopher Ferris38062f92014-07-09 15:33:25 -0700333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334};
335struct drm_vmw_gb_surface_create_rep {
Tao Baod7db5942015-01-28 10:07:51 -0800336 uint32_t handle;
337 uint32_t backup_size;
Christopher Ferris38062f92014-07-09 15:33:25 -0700338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800339 uint32_t buffer_handle;
340 uint32_t buffer_size;
341 uint64_t buffer_map_handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700342};
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344union drm_vmw_gb_surface_create_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800345 struct drm_vmw_gb_surface_create_rep rep;
346 struct drm_vmw_gb_surface_create_req req;
Christopher Ferris38062f92014-07-09 15:33:25 -0700347};
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349struct drm_vmw_gb_surface_ref_rep {
Tao Baod7db5942015-01-28 10:07:51 -0800350 struct drm_vmw_gb_surface_create_req creq;
351 struct drm_vmw_gb_surface_create_rep crep;
Christopher Ferris38062f92014-07-09 15:33:25 -0700352};
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354union drm_vmw_gb_surface_reference_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800355 struct drm_vmw_gb_surface_ref_rep rep;
356 struct drm_vmw_surface_arg req;
Christopher Ferris38062f92014-07-09 15:33:25 -0700357};
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359enum drm_vmw_synccpu_flags {
Tao Baod7db5942015-01-28 10:07:51 -0800360 drm_vmw_synccpu_read = (1 << 0),
361 drm_vmw_synccpu_write = (1 << 1),
362 drm_vmw_synccpu_dontblock = (1 << 2),
Christopher Ferris38062f92014-07-09 15:33:25 -0700363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800364 drm_vmw_synccpu_allow_cs = (1 << 3)
Christopher Ferris38062f92014-07-09 15:33:25 -0700365};
366enum drm_vmw_synccpu_op {
Tao Baod7db5942015-01-28 10:07:51 -0800367 drm_vmw_synccpu_grab,
Christopher Ferris38062f92014-07-09 15:33:25 -0700368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800369 drm_vmw_synccpu_release
Christopher Ferris38062f92014-07-09 15:33:25 -0700370};
371struct drm_vmw_synccpu_arg {
Tao Baod7db5942015-01-28 10:07:51 -0800372 enum drm_vmw_synccpu_op op;
Christopher Ferris38062f92014-07-09 15:33:25 -0700373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800374 enum drm_vmw_synccpu_flags flags;
375 uint32_t handle;
376 uint32_t pad64;
Christopher Ferris38062f92014-07-09 15:33:25 -0700377};
378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris05d08e92016-02-04 13:16:38 -0800379enum drm_vmw_extended_context {
380 drm_vmw_context_legacy,
381 drm_vmw_context_dx
382};
383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384union drm_vmw_extended_context_arg {
385 enum drm_vmw_extended_context req;
386 struct drm_vmw_context_arg rep;
387};
388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700389#endif