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