xref: /aosp_15_r20/bionic/libc/kernel/uapi/drm/virtgpu_drm.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef VIRTGPU_DRM_H
8*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_DRM_H
9*8d67ca89SAndroid Build Coastguard Worker #include "drm.h"
10*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus
11*8d67ca89SAndroid Build Coastguard Worker extern "C" {
12*8d67ca89SAndroid Build Coastguard Worker #endif
13*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_MAP 0x01
14*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_EXECBUFFER 0x02
15*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_GETPARAM 0x03
16*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_RESOURCE_CREATE 0x04
17*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_RESOURCE_INFO 0x05
18*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_TRANSFER_FROM_HOST 0x06
19*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_TRANSFER_TO_HOST 0x07
20*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_WAIT 0x08
21*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_GET_CAPS 0x09
22*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_RESOURCE_CREATE_BLOB 0x0a
23*8d67ca89SAndroid Build Coastguard Worker #define DRM_VIRTGPU_CONTEXT_INIT 0x0b
24*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_EXECBUF_FENCE_FD_IN 0x01
25*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_EXECBUF_FENCE_FD_OUT 0x02
26*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_EXECBUF_RING_IDX 0x04
27*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_EXECBUF_FLAGS (VIRTGPU_EXECBUF_FENCE_FD_IN | VIRTGPU_EXECBUF_FENCE_FD_OUT | VIRTGPU_EXECBUF_RING_IDX | 0)
28*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_map {
29*8d67ca89SAndroid Build Coastguard Worker   __u64 offset;
30*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
31*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
32*8d67ca89SAndroid Build Coastguard Worker };
33*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_EXECBUF_SYNCOBJ_RESET 0x01
34*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_EXECBUF_SYNCOBJ_FLAGS (VIRTGPU_EXECBUF_SYNCOBJ_RESET | 0)
35*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_execbuffer_syncobj {
36*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
37*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
38*8d67ca89SAndroid Build Coastguard Worker   __u64 point;
39*8d67ca89SAndroid Build Coastguard Worker };
40*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_execbuffer {
41*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
42*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
43*8d67ca89SAndroid Build Coastguard Worker   __u64 command;
44*8d67ca89SAndroid Build Coastguard Worker   __u64 bo_handles;
45*8d67ca89SAndroid Build Coastguard Worker   __u32 num_bo_handles;
46*8d67ca89SAndroid Build Coastguard Worker   __s32 fence_fd;
47*8d67ca89SAndroid Build Coastguard Worker   __u32 ring_idx;
48*8d67ca89SAndroid Build Coastguard Worker   __u32 syncobj_stride;
49*8d67ca89SAndroid Build Coastguard Worker   __u32 num_in_syncobjs;
50*8d67ca89SAndroid Build Coastguard Worker   __u32 num_out_syncobjs;
51*8d67ca89SAndroid Build Coastguard Worker   __u64 in_syncobjs;
52*8d67ca89SAndroid Build Coastguard Worker   __u64 out_syncobjs;
53*8d67ca89SAndroid Build Coastguard Worker };
54*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_PARAM_3D_FEATURES 1
55*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_PARAM_CAPSET_QUERY_FIX 2
56*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_PARAM_RESOURCE_BLOB 3
57*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_PARAM_HOST_VISIBLE 4
58*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_PARAM_CROSS_DEVICE 5
59*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_PARAM_CONTEXT_INIT 6
60*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_PARAM_SUPPORTED_CAPSET_IDs 7
61*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_PARAM_EXPLICIT_DEBUG_NAME 8
62*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_getparam {
63*8d67ca89SAndroid Build Coastguard Worker   __u64 param;
64*8d67ca89SAndroid Build Coastguard Worker   __u64 value;
65*8d67ca89SAndroid Build Coastguard Worker };
66*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_resource_create {
67*8d67ca89SAndroid Build Coastguard Worker   __u32 target;
68*8d67ca89SAndroid Build Coastguard Worker   __u32 format;
69*8d67ca89SAndroid Build Coastguard Worker   __u32 bind;
70*8d67ca89SAndroid Build Coastguard Worker   __u32 width;
71*8d67ca89SAndroid Build Coastguard Worker   __u32 height;
72*8d67ca89SAndroid Build Coastguard Worker   __u32 depth;
73*8d67ca89SAndroid Build Coastguard Worker   __u32 array_size;
74*8d67ca89SAndroid Build Coastguard Worker   __u32 last_level;
75*8d67ca89SAndroid Build Coastguard Worker   __u32 nr_samples;
76*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
77*8d67ca89SAndroid Build Coastguard Worker   __u32 bo_handle;
78*8d67ca89SAndroid Build Coastguard Worker   __u32 res_handle;
79*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
80*8d67ca89SAndroid Build Coastguard Worker   __u32 stride;
81*8d67ca89SAndroid Build Coastguard Worker };
82*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_resource_info {
83*8d67ca89SAndroid Build Coastguard Worker   __u32 bo_handle;
84*8d67ca89SAndroid Build Coastguard Worker   __u32 res_handle;
85*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
86*8d67ca89SAndroid Build Coastguard Worker   __u32 blob_mem;
87*8d67ca89SAndroid Build Coastguard Worker };
88*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_3d_box {
89*8d67ca89SAndroid Build Coastguard Worker   __u32 x;
90*8d67ca89SAndroid Build Coastguard Worker   __u32 y;
91*8d67ca89SAndroid Build Coastguard Worker   __u32 z;
92*8d67ca89SAndroid Build Coastguard Worker   __u32 w;
93*8d67ca89SAndroid Build Coastguard Worker   __u32 h;
94*8d67ca89SAndroid Build Coastguard Worker   __u32 d;
95*8d67ca89SAndroid Build Coastguard Worker };
96*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_3d_transfer_to_host {
97*8d67ca89SAndroid Build Coastguard Worker   __u32 bo_handle;
98*8d67ca89SAndroid Build Coastguard Worker   struct drm_virtgpu_3d_box box;
99*8d67ca89SAndroid Build Coastguard Worker   __u32 level;
100*8d67ca89SAndroid Build Coastguard Worker   __u32 offset;
101*8d67ca89SAndroid Build Coastguard Worker   __u32 stride;
102*8d67ca89SAndroid Build Coastguard Worker   __u32 layer_stride;
103*8d67ca89SAndroid Build Coastguard Worker };
104*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_3d_transfer_from_host {
105*8d67ca89SAndroid Build Coastguard Worker   __u32 bo_handle;
106*8d67ca89SAndroid Build Coastguard Worker   struct drm_virtgpu_3d_box box;
107*8d67ca89SAndroid Build Coastguard Worker   __u32 level;
108*8d67ca89SAndroid Build Coastguard Worker   __u32 offset;
109*8d67ca89SAndroid Build Coastguard Worker   __u32 stride;
110*8d67ca89SAndroid Build Coastguard Worker   __u32 layer_stride;
111*8d67ca89SAndroid Build Coastguard Worker };
112*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_WAIT_NOWAIT 1
113*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_3d_wait {
114*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
115*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
116*8d67ca89SAndroid Build Coastguard Worker };
117*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_get_caps {
118*8d67ca89SAndroid Build Coastguard Worker   __u32 cap_set_id;
119*8d67ca89SAndroid Build Coastguard Worker   __u32 cap_set_ver;
120*8d67ca89SAndroid Build Coastguard Worker   __u64 addr;
121*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
122*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
123*8d67ca89SAndroid Build Coastguard Worker };
124*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_resource_create_blob {
125*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_BLOB_MEM_GUEST 0x0001
126*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_BLOB_MEM_HOST3D 0x0002
127*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_BLOB_MEM_HOST3D_GUEST 0x0003
128*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_BLOB_FLAG_USE_MAPPABLE 0x0001
129*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_BLOB_FLAG_USE_SHAREABLE 0x0002
130*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_BLOB_FLAG_USE_CROSS_DEVICE 0x0004
131*8d67ca89SAndroid Build Coastguard Worker   __u32 blob_mem;
132*8d67ca89SAndroid Build Coastguard Worker   __u32 blob_flags;
133*8d67ca89SAndroid Build Coastguard Worker   __u32 bo_handle;
134*8d67ca89SAndroid Build Coastguard Worker   __u32 res_handle;
135*8d67ca89SAndroid Build Coastguard Worker   __u64 size;
136*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
137*8d67ca89SAndroid Build Coastguard Worker   __u32 cmd_size;
138*8d67ca89SAndroid Build Coastguard Worker   __u64 cmd;
139*8d67ca89SAndroid Build Coastguard Worker   __u64 blob_id;
140*8d67ca89SAndroid Build Coastguard Worker };
141*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_CONTEXT_PARAM_CAPSET_ID 0x0001
142*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_CONTEXT_PARAM_NUM_RINGS 0x0002
143*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_CONTEXT_PARAM_POLL_RINGS_MASK 0x0003
144*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_CONTEXT_PARAM_DEBUG_NAME 0x0004
145*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_context_set_param {
146*8d67ca89SAndroid Build Coastguard Worker   __u64 param;
147*8d67ca89SAndroid Build Coastguard Worker   __u64 value;
148*8d67ca89SAndroid Build Coastguard Worker };
149*8d67ca89SAndroid Build Coastguard Worker struct drm_virtgpu_context_init {
150*8d67ca89SAndroid Build Coastguard Worker   __u32 num_params;
151*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
152*8d67ca89SAndroid Build Coastguard Worker   __u64 ctx_set_params;
153*8d67ca89SAndroid Build Coastguard Worker };
154*8d67ca89SAndroid Build Coastguard Worker #define VIRTGPU_EVENT_FENCE_SIGNALED 0x90000000
155*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_MAP DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_MAP, struct drm_virtgpu_map)
156*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_EXECBUFFER DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_EXECBUFFER, struct drm_virtgpu_execbuffer)
157*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_GETPARAM, struct drm_virtgpu_getparam)
158*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_RESOURCE_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_RESOURCE_CREATE, struct drm_virtgpu_resource_create)
159*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_RESOURCE_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_RESOURCE_INFO, struct drm_virtgpu_resource_info)
160*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_TRANSFER_FROM_HOST DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_TRANSFER_FROM_HOST, struct drm_virtgpu_3d_transfer_from_host)
161*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_TRANSFER_TO_HOST DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_TRANSFER_TO_HOST, struct drm_virtgpu_3d_transfer_to_host)
162*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_WAIT, struct drm_virtgpu_3d_wait)
163*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_GET_CAPS DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_GET_CAPS, struct drm_virtgpu_get_caps)
164*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_RESOURCE_CREATE_BLOB DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_RESOURCE_CREATE_BLOB, struct drm_virtgpu_resource_create_blob)
165*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_VIRTGPU_CONTEXT_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_CONTEXT_INIT, struct drm_virtgpu_context_init)
166*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus
167*8d67ca89SAndroid Build Coastguard Worker }
168*8d67ca89SAndroid Build Coastguard Worker #endif
169*8d67ca89SAndroid Build Coastguard Worker #endif
170