1 /* 2 * This file is auto-generated. Modifications will be lost. 3 * 4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5 * for more information. 6 */ 7 #ifndef QXL_DRM_H 8 #define QXL_DRM_H 9 #include "drm.h" 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 #define QXL_GEM_DOMAIN_CPU 0 14 #define QXL_GEM_DOMAIN_VRAM 1 15 #define QXL_GEM_DOMAIN_SURFACE 2 16 #define DRM_QXL_ALLOC 0x00 17 #define DRM_QXL_MAP 0x01 18 #define DRM_QXL_EXECBUFFER 0x02 19 #define DRM_QXL_UPDATE_AREA 0x03 20 #define DRM_QXL_GETPARAM 0x04 21 #define DRM_QXL_CLIENTCAP 0x05 22 #define DRM_QXL_ALLOC_SURF 0x06 23 struct drm_qxl_alloc { 24 __u32 size; 25 __u32 handle; 26 }; 27 struct drm_qxl_map { 28 __u64 offset; 29 __u32 handle; 30 __u32 pad; 31 }; 32 #define QXL_RELOC_TYPE_BO 1 33 #define QXL_RELOC_TYPE_SURF 2 34 struct drm_qxl_reloc { 35 __u64 src_offset; 36 __u64 dst_offset; 37 __u32 src_handle; 38 __u32 dst_handle; 39 __u32 reloc_type; 40 __u32 pad; 41 }; 42 struct drm_qxl_command { 43 __u64 command; 44 __u64 relocs; 45 __u32 type; 46 __u32 command_size; 47 __u32 relocs_num; 48 __u32 pad; 49 }; 50 struct drm_qxl_execbuffer { 51 __u32 flags; 52 __u32 commands_num; 53 __u64 commands; 54 }; 55 struct drm_qxl_update_area { 56 __u32 handle; 57 __u32 top; 58 __u32 left; 59 __u32 bottom; 60 __u32 right; 61 __u32 pad; 62 }; 63 #define QXL_PARAM_NUM_SURFACES 1 64 #define QXL_PARAM_MAX_RELOCS 2 65 struct drm_qxl_getparam { 66 __u64 param; 67 __u64 value; 68 }; 69 struct drm_qxl_clientcap { 70 __u32 index; 71 __u32 pad; 72 }; 73 struct drm_qxl_alloc_surf { 74 __u32 format; 75 __u32 width; 76 __u32 height; 77 __s32 stride; 78 __u32 handle; 79 __u32 pad; 80 }; 81 #define DRM_IOCTL_QXL_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC, struct drm_qxl_alloc) 82 #define DRM_IOCTL_QXL_MAP DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_MAP, struct drm_qxl_map) 83 #define DRM_IOCTL_QXL_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_EXECBUFFER, struct drm_qxl_execbuffer) 84 #define DRM_IOCTL_QXL_UPDATE_AREA DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_UPDATE_AREA, struct drm_qxl_update_area) 85 #define DRM_IOCTL_QXL_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_GETPARAM, struct drm_qxl_getparam) 86 #define DRM_IOCTL_QXL_CLIENTCAP DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_CLIENTCAP, struct drm_qxl_clientcap) 87 #define DRM_IOCTL_QXL_ALLOC_SURF DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC_SURF, struct drm_qxl_alloc_surf) 88 #ifdef __cplusplus 89 } 90 #endif 91 #endif 92