blob: 9d8a9056689239137f5e5caa0355bc27f81c1353 [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
Ben Cheng655a7c02013-10-16 16:09:24 -070057#define DRM_VMW_PARAM_NUM_STREAMS 0
Christopher Ferris38062f92014-07-09 15:33:25 -070058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070059#define DRM_VMW_PARAM_NUM_FREE_STREAMS 1
60#define DRM_VMW_PARAM_3D 2
Ben Cheng655a7c02013-10-16 16:09:24 -070061#define DRM_VMW_PARAM_HW_CAPS 3
62#define DRM_VMW_PARAM_FIFO_CAPS 4
Christopher Ferris38062f92014-07-09 15:33:25 -070063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070064#define DRM_VMW_PARAM_MAX_FB_SIZE 5
65#define DRM_VMW_PARAM_FIFO_HW_VERSION 6
Christopher Ferris38062f92014-07-09 15:33:25 -070066#define DRM_VMW_PARAM_MAX_SURF_MEMORY 7
67#define DRM_VMW_PARAM_3D_CAPS_SIZE 8
Ben Cheng655a7c02013-10-16 16:09:24 -070068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -070069#define DRM_VMW_PARAM_MAX_MOB_MEMORY 9
70#define DRM_VMW_PARAM_MAX_MOB_SIZE 10
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070071enum drm_vmw_handle_type {
72 DRM_VMW_HANDLE_LEGACY = 0,
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 DRM_VMW_HANDLE_PRIME = 1
75};
Ben Cheng655a7c02013-10-16 16:09:24 -070076struct drm_vmw_getparam_arg {
77 uint64_t value;
Christopher Ferris38062f92014-07-09 15:33:25 -070078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070079 uint32_t param;
80 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -070081};
82struct drm_vmw_context_arg {
Christopher Ferris38062f92014-07-09 15:33:25 -070083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070084 int32_t cid;
85 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -070086};
87struct drm_vmw_surface_create_req {
Christopher Ferris38062f92014-07-09 15:33:25 -070088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070089 uint32_t flags;
90 uint32_t format;
Ben Cheng655a7c02013-10-16 16:09:24 -070091 uint32_t mip_levels[DRM_VMW_MAX_SURFACE_FACES];
92 uint64_t size_addr;
Christopher Ferris38062f92014-07-09 15:33:25 -070093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070094 int32_t shareable;
95 int32_t scanout;
Ben Cheng655a7c02013-10-16 16:09:24 -070096};
97struct drm_vmw_surface_arg {
Christopher Ferris38062f92014-07-09 15:33:25 -070098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070099 int32_t sid;
Christopher Ferrisba8d4f42014-09-03 19:56:49 -0700100 enum drm_vmw_handle_type handle_type;
Ben Cheng655a7c02013-10-16 16:09:24 -0700101};
102struct drm_vmw_size {
Christopher Ferris38062f92014-07-09 15:33:25 -0700103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700104 uint32_t width;
105 uint32_t height;
Ben Cheng655a7c02013-10-16 16:09:24 -0700106 uint32_t depth;
107 uint32_t pad64;
Christopher Ferris38062f92014-07-09 15:33:25 -0700108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700109};
110union drm_vmw_surface_create_arg {
Ben Cheng655a7c02013-10-16 16:09:24 -0700111 struct drm_vmw_surface_arg rep;
112 struct drm_vmw_surface_create_req req;
Christopher Ferris38062f92014-07-09 15:33:25 -0700113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700114};
115union drm_vmw_surface_reference_arg {
Ben Cheng655a7c02013-10-16 16:09:24 -0700116 struct drm_vmw_surface_create_req rep;
117 struct drm_vmw_surface_arg req;
Christopher Ferris38062f92014-07-09 15:33:25 -0700118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700119};
120#define DRM_VMW_EXECBUF_VERSION 1
Ben Cheng655a7c02013-10-16 16:09:24 -0700121struct drm_vmw_execbuf_arg {
122 uint64_t commands;
Christopher Ferris38062f92014-07-09 15:33:25 -0700123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700124 uint32_t command_size;
125 uint32_t throttle_us;
Ben Cheng655a7c02013-10-16 16:09:24 -0700126 uint64_t fence_rep;
127 uint32_t version;
Christopher Ferris38062f92014-07-09 15:33:25 -0700128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700129 uint32_t flags;
130};
Ben Cheng655a7c02013-10-16 16:09:24 -0700131struct drm_vmw_fence_rep {
132 uint32_t handle;
Christopher Ferris38062f92014-07-09 15:33:25 -0700133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700134 uint32_t mask;
135 uint32_t seqno;
Ben Cheng655a7c02013-10-16 16:09:24 -0700136 uint32_t passed_seqno;
137 uint32_t pad64;
Christopher Ferris38062f92014-07-09 15:33:25 -0700138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700139 int32_t error;
140};
Ben Cheng655a7c02013-10-16 16:09:24 -0700141struct drm_vmw_alloc_dmabuf_req {
142 uint32_t size;
Christopher Ferris38062f92014-07-09 15:33:25 -0700143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700144 uint32_t pad64;
145};
Ben Cheng655a7c02013-10-16 16:09:24 -0700146struct drm_vmw_dmabuf_rep {
147 uint64_t map_handle;
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 uint32_t handle;
150 uint32_t cur_gmr_id;
Ben Cheng655a7c02013-10-16 16:09:24 -0700151 uint32_t cur_gmr_offset;
152 uint32_t 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};
155union drm_vmw_alloc_dmabuf_arg {
Ben Cheng655a7c02013-10-16 16:09:24 -0700156 struct drm_vmw_alloc_dmabuf_req req;
157 struct drm_vmw_dmabuf_rep rep;
Christopher Ferris38062f92014-07-09 15:33:25 -0700158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700159};
160struct drm_vmw_unref_dmabuf_arg {
Ben Cheng655a7c02013-10-16 16:09:24 -0700161 uint32_t handle;
162 uint32_t pad64;
Christopher Ferris38062f92014-07-09 15:33:25 -0700163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700164};
165struct drm_vmw_rect {
Ben Cheng655a7c02013-10-16 16:09:24 -0700166 int32_t x;
167 int32_t y;
Christopher Ferris38062f92014-07-09 15:33:25 -0700168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700169 uint32_t w;
170 uint32_t h;
Ben Cheng655a7c02013-10-16 16:09:24 -0700171};
172struct drm_vmw_control_stream_arg {
Christopher Ferris38062f92014-07-09 15:33:25 -0700173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700174 uint32_t stream_id;
175 uint32_t enabled;
Ben Cheng655a7c02013-10-16 16:09:24 -0700176 uint32_t flags;
177 uint32_t color_key;
Christopher Ferris38062f92014-07-09 15:33:25 -0700178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700179 uint32_t handle;
180 uint32_t offset;
Ben Cheng655a7c02013-10-16 16:09:24 -0700181 int32_t format;
182 uint32_t size;
Christopher Ferris38062f92014-07-09 15:33:25 -0700183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700184 uint32_t width;
185 uint32_t height;
Ben Cheng655a7c02013-10-16 16:09:24 -0700186 uint32_t pitch[3];
187 uint32_t pad64;
Christopher Ferris38062f92014-07-09 15:33:25 -0700188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700189 struct drm_vmw_rect src;
190 struct drm_vmw_rect dst;
Ben Cheng655a7c02013-10-16 16:09:24 -0700191};
192#define DRM_VMW_CURSOR_BYPASS_ALL (1 << 0)
Christopher Ferris38062f92014-07-09 15:33:25 -0700193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700194#define DRM_VMW_CURSOR_BYPASS_FLAGS (1)
195struct drm_vmw_cursor_bypass_arg {
Ben Cheng655a7c02013-10-16 16:09:24 -0700196 uint32_t flags;
197 uint32_t crtc_id;
Christopher Ferris38062f92014-07-09 15:33:25 -0700198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700199 int32_t xpos;
200 int32_t ypos;
Ben Cheng655a7c02013-10-16 16:09:24 -0700201 int32_t xhot;
202 int32_t yhot;
Christopher Ferris38062f92014-07-09 15:33:25 -0700203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700204};
205struct drm_vmw_stream_arg {
Ben Cheng655a7c02013-10-16 16:09:24 -0700206 uint32_t stream_id;
207 uint32_t pad64;
Christopher Ferris38062f92014-07-09 15:33:25 -0700208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700209};
210struct drm_vmw_get_3d_cap_arg {
Ben Cheng655a7c02013-10-16 16:09:24 -0700211 uint64_t buffer;
212 uint32_t max_size;
Christopher Ferris38062f92014-07-09 15:33:25 -0700213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700214 uint32_t pad64;
215};
Ben Cheng655a7c02013-10-16 16:09:24 -0700216#define DRM_VMW_FENCE_FLAG_EXEC (1 << 0)
217#define DRM_VMW_FENCE_FLAG_QUERY (1 << 1)
Christopher Ferris38062f92014-07-09 15:33:25 -0700218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700219#define DRM_VMW_WAIT_OPTION_UNREF (1 << 0)
220struct drm_vmw_fence_wait_arg {
Ben Cheng655a7c02013-10-16 16:09:24 -0700221 uint32_t handle;
222 int32_t cookie_valid;
Christopher Ferris38062f92014-07-09 15:33:25 -0700223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700224 uint64_t kernel_cookie;
225 uint64_t timeout_us;
Ben Cheng655a7c02013-10-16 16:09:24 -0700226 int32_t lazy;
227 int32_t flags;
Christopher Ferris38062f92014-07-09 15:33:25 -0700228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700229 int32_t wait_options;
230 int32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700231};
232struct drm_vmw_fence_signaled_arg {
Christopher Ferris38062f92014-07-09 15:33:25 -0700233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700234 uint32_t handle;
235 uint32_t flags;
Ben Cheng655a7c02013-10-16 16:09:24 -0700236 int32_t signaled;
237 uint32_t passed_seqno;
Christopher Ferris38062f92014-07-09 15:33:25 -0700238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700239 uint32_t signaled_flags;
240 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700241};
242struct drm_vmw_fence_arg {
Christopher Ferris38062f92014-07-09 15:33:25 -0700243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700244 uint32_t handle;
245 uint32_t pad64;
Ben Cheng655a7c02013-10-16 16:09:24 -0700246};
247#define DRM_VMW_EVENT_FENCE_SIGNALED 0x80000000
Christopher Ferris38062f92014-07-09 15:33:25 -0700248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700249struct drm_vmw_event_fence {
250 struct drm_event base;
Ben Cheng655a7c02013-10-16 16:09:24 -0700251 uint64_t user_data;
252 uint32_t tv_sec;
Christopher Ferris38062f92014-07-09 15:33:25 -0700253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700254 uint32_t tv_usec;
255};
Ben Cheng655a7c02013-10-16 16:09:24 -0700256#define DRM_VMW_FE_FLAG_REQ_TIME (1 << 0)
257struct drm_vmw_fence_event_arg {
Christopher Ferris38062f92014-07-09 15:33:25 -0700258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700259 uint64_t fence_rep;
260 uint64_t user_data;
Ben Cheng655a7c02013-10-16 16:09:24 -0700261 uint32_t handle;
262 uint32_t flags;
Christopher Ferris38062f92014-07-09 15:33:25 -0700263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700264};
265struct drm_vmw_present_arg {
Ben Cheng655a7c02013-10-16 16:09:24 -0700266 uint32_t fb_id;
267 uint32_t sid;
Christopher Ferris38062f92014-07-09 15:33:25 -0700268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700269 int32_t dest_x;
270 int32_t dest_y;
Ben Cheng655a7c02013-10-16 16:09:24 -0700271 uint64_t clips_ptr;
272 uint32_t num_clips;
Christopher Ferris38062f92014-07-09 15:33:25 -0700273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700274 uint32_t pad64;
275};
Ben Cheng655a7c02013-10-16 16:09:24 -0700276struct drm_vmw_present_readback_arg {
277 uint32_t fb_id;
Christopher Ferris38062f92014-07-09 15:33:25 -0700278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700279 uint32_t num_clips;
280 uint64_t clips_ptr;
Ben Cheng655a7c02013-10-16 16:09:24 -0700281 uint64_t fence_rep;
282};
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 -0700284struct drm_vmw_update_layout_arg {
285 uint32_t num_outputs;
Ben Cheng655a7c02013-10-16 16:09:24 -0700286 uint32_t pad64;
287 uint64_t rects;
Ben Cheng655a7c02013-10-16 16:09:24 -0700288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Christopher Ferris38062f92014-07-09 15:33:25 -0700289};
290enum drm_vmw_shader_type {
291 drm_vmw_shader_type_vs = 0,
292 drm_vmw_shader_type_ps,
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294 drm_vmw_shader_type_gs
295};
296struct drm_vmw_shader_create_arg {
297 enum drm_vmw_shader_type shader_type;
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299 uint32_t size;
300 uint32_t buffer_handle;
301 uint32_t shader_handle;
302 uint64_t offset;
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304};
305struct drm_vmw_shader_arg {
306 uint32_t handle;
307 uint32_t pad64;
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309};
310enum drm_vmw_surface_flags {
311 drm_vmw_surface_flag_shareable = (1 << 0),
312 drm_vmw_surface_flag_scanout = (1 << 1),
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314 drm_vmw_surface_flag_create_buffer = (1 << 2)
315};
316struct drm_vmw_gb_surface_create_req {
317 uint32_t svga3d_flags;
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319 uint32_t format;
320 uint32_t mip_levels;
321 enum drm_vmw_surface_flags drm_surface_flags;
322 uint32_t multisample_count;
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 uint32_t autogen_filter;
325 uint32_t buffer_handle;
326 uint32_t pad64;
327 struct drm_vmw_size base_size;
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329};
330struct drm_vmw_gb_surface_create_rep {
331 uint32_t handle;
332 uint32_t backup_size;
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334 uint32_t buffer_handle;
335 uint32_t buffer_size;
336 uint64_t buffer_map_handle;
337};
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339union drm_vmw_gb_surface_create_arg {
340 struct drm_vmw_gb_surface_create_rep rep;
341 struct drm_vmw_gb_surface_create_req req;
342};
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344struct drm_vmw_gb_surface_ref_rep {
345 struct drm_vmw_gb_surface_create_req creq;
346 struct drm_vmw_gb_surface_create_rep crep;
347};
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349union drm_vmw_gb_surface_reference_arg {
350 struct drm_vmw_gb_surface_ref_rep rep;
351 struct drm_vmw_surface_arg req;
352};
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354enum drm_vmw_synccpu_flags {
355 drm_vmw_synccpu_read = (1 << 0),
356 drm_vmw_synccpu_write = (1 << 1),
357 drm_vmw_synccpu_dontblock = (1 << 2),
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359 drm_vmw_synccpu_allow_cs = (1 << 3)
360};
361enum drm_vmw_synccpu_op {
362 drm_vmw_synccpu_grab,
363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364 drm_vmw_synccpu_release
365};
366struct drm_vmw_synccpu_arg {
367 enum drm_vmw_synccpu_op op;
368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369 enum drm_vmw_synccpu_flags flags;
370 uint32_t handle;
371 uint32_t pad64;
372};
373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374#endif