105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/**************************************************************************** 205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris **************************************************************************** 305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** 405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** This header was automatically generated from a Linux kernel header 505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** of the same name, to make information necessary for userspace to 605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** call into the kernel available to libc. It contains only constants, 705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** structures, and macros generated from the original header, and thus, 805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** contains no copyrightable information. 905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** 1005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** To edit the content of this header, modify the corresponding 1105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** source file (e.g. under external/kernel-headers/original/) then 1205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** run bionic/libc/kernel/tools/update_all.py 1305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** 1405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** Any manual change here will be lost the next time this script will 1505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** be run. You've been warned! 1605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris *** 1705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris **************************************************************************** 1805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris ****************************************************************************/ 1905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#ifndef VIRTGPU_DRM_H 2005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define VIRTGPU_DRM_H 21106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#include "drm.h" 22106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#ifdef __cplusplus 23106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif 2405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_VIRTGPU_MAP 0x01 2505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_VIRTGPU_EXECBUFFER 0x02 2605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_VIRTGPU_GETPARAM 0x03 27106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_VIRTGPU_RESOURCE_CREATE 0x04 2805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_VIRTGPU_RESOURCE_INFO 0x05 2905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_VIRTGPU_TRANSFER_FROM_HOST 0x06 3005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_VIRTGPU_TRANSFER_TO_HOST 0x07 31106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_VIRTGPU_WAIT 0x08 3205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_VIRTGPU_GET_CAPS 0x09 3305d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct drm_virtgpu_map { 34106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 offset; 35106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 handle; 36106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 pad; 3705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 3805d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct drm_virtgpu_execbuffer { 39106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 flags; 40106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 size; 41106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 command; 42106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 bo_handles; 43106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 num_bo_handles; 44106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 pad; 4505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 4605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define VIRTGPU_PARAM_3D_FEATURES 1 47106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct drm_virtgpu_getparam { 48106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 param; 49106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 value; 5005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 51106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct drm_virtgpu_resource_create { 52106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 target; 53106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 format; 54106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 bind; 55106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 width; 56106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 height; 57106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 depth; 58106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 array_size; 59106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 last_level; 60106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 nr_samples; 61106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 flags; 62106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 bo_handle; 63106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 res_handle; 64106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 size; 65106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 stride; 6605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 67106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct drm_virtgpu_resource_info { 68106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 bo_handle; 69106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 res_handle; 70106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 size; 71106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 stride; 7205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 7305d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct drm_virtgpu_3d_box { 74106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 x; 75106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 y; 76106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 z; 77106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 w; 78106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 h; 79106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 d; 8005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 8105d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct drm_virtgpu_3d_transfer_to_host { 82106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 bo_handle; 83106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris struct drm_virtgpu_3d_box box; 84106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 level; 85106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 offset; 8605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 87106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct drm_virtgpu_3d_transfer_from_host { 88106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 bo_handle; 8905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct drm_virtgpu_3d_box box; 90106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 level; 91106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 offset; 9205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 9305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define VIRTGPU_WAIT_NOWAIT 1 9405d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct drm_virtgpu_3d_wait { 95106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 handle; 96106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 flags; 9705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 9805d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct drm_virtgpu_get_caps { 99106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 cap_set_id; 100106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 cap_set_ver; 101106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 addr; 102106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 size; 103106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 pad; 10405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 10505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_IOCTL_VIRTGPU_MAP DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_MAP, struct drm_virtgpu_map) 10605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_IOCTL_VIRTGPU_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_VIRTGPU_EXECBUFFER, struct drm_virtgpu_execbuffer) 107106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_IOCTL_VIRTGPU_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_GETPARAM, struct drm_virtgpu_getparam) 10805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_IOCTL_VIRTGPU_RESOURCE_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_RESOURCE_CREATE, struct drm_virtgpu_resource_create) 10905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_IOCTL_VIRTGPU_RESOURCE_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_RESOURCE_INFO, struct drm_virtgpu_resource_info) 11005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_IOCTL_VIRTGPU_TRANSFER_FROM_HOST DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_TRANSFER_FROM_HOST, struct drm_virtgpu_3d_transfer_from_host) 111106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_IOCTL_VIRTGPU_TRANSFER_TO_HOST DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_TRANSFER_TO_HOST, struct drm_virtgpu_3d_transfer_to_host) 11205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_IOCTL_VIRTGPU_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_WAIT, struct drm_virtgpu_3d_wait) 11305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define DRM_IOCTL_VIRTGPU_GET_CAPS DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_GET_CAPS, struct drm_virtgpu_get_caps) 114106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#ifdef __cplusplus 115106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif 11605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#endif 117