virtio_gpu.h revision 106b3a8a7dc03c19a45e322de425ac56aafac358
1/**************************************************************************** 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 VIRTIO_GPU_HW_H 20#define VIRTIO_GPU_HW_H 21#include <linux/types.h> 22#define VIRTIO_GPU_F_VIRGL 0 23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24enum virtio_gpu_ctrl_type { 25 VIRTIO_GPU_UNDEFINED = 0, 26 VIRTIO_GPU_CMD_GET_DISPLAY_INFO = 0x0100, 27 VIRTIO_GPU_CMD_RESOURCE_CREATE_2D, 28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 VIRTIO_GPU_CMD_RESOURCE_UNREF, 30 VIRTIO_GPU_CMD_SET_SCANOUT, 31 VIRTIO_GPU_CMD_RESOURCE_FLUSH, 32 VIRTIO_GPU_CMD_TRANSFER_TO_HOST_2D, 33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING, 35 VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING, 36 VIRTIO_GPU_CMD_GET_CAPSET_INFO, 37 VIRTIO_GPU_CMD_GET_CAPSET, 38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 VIRTIO_GPU_CMD_CTX_CREATE = 0x0200, 40 VIRTIO_GPU_CMD_CTX_DESTROY, 41 VIRTIO_GPU_CMD_CTX_ATTACH_RESOURCE, 42 VIRTIO_GPU_CMD_CTX_DETACH_RESOURCE, 43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 VIRTIO_GPU_CMD_RESOURCE_CREATE_3D, 45 VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D, 46 VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D, 47 VIRTIO_GPU_CMD_SUBMIT_3D, 48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300, 50 VIRTIO_GPU_CMD_MOVE_CURSOR, 51 VIRTIO_GPU_RESP_OK_NODATA = 0x1100, 52 VIRTIO_GPU_RESP_OK_DISPLAY_INFO, 53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 VIRTIO_GPU_RESP_OK_CAPSET_INFO, 55 VIRTIO_GPU_RESP_OK_CAPSET, 56 VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200, 57 VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY, 58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 VIRTIO_GPU_RESP_ERR_INVALID_SCANOUT_ID, 60 VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID, 61 VIRTIO_GPU_RESP_ERR_INVALID_CONTEXT_ID, 62 VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER, 63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64}; 65#define VIRTIO_GPU_FLAG_FENCE (1 << 0) 66struct virtio_gpu_ctrl_hdr { 67 __le32 type; 68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 __le32 flags; 70 __le64 fence_id; 71 __le32 ctx_id; 72 __le32 padding; 73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74}; 75struct virtio_gpu_cursor_pos { 76 __le32 scanout_id; 77 __le32 x; 78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 __le32 y; 80 __le32 padding; 81}; 82struct virtio_gpu_update_cursor { 83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 struct virtio_gpu_ctrl_hdr hdr; 85 struct virtio_gpu_cursor_pos pos; 86 __le32 resource_id; 87 __le32 hot_x; 88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 __le32 hot_y; 90 __le32 padding; 91}; 92struct virtio_gpu_rect { 93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 __le32 x; 95 __le32 y; 96 __le32 width; 97 __le32 height; 98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99}; 100struct virtio_gpu_resource_unref { 101 struct virtio_gpu_ctrl_hdr hdr; 102 __le32 resource_id; 103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 __le32 padding; 105}; 106struct virtio_gpu_resource_create_2d { 107 struct virtio_gpu_ctrl_hdr hdr; 108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 __le32 resource_id; 110 __le32 format; 111 __le32 width; 112 __le32 height; 113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114}; 115struct virtio_gpu_set_scanout { 116 struct virtio_gpu_ctrl_hdr hdr; 117 struct virtio_gpu_rect r; 118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 __le32 scanout_id; 120 __le32 resource_id; 121}; 122struct virtio_gpu_resource_flush { 123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 struct virtio_gpu_ctrl_hdr hdr; 125 struct virtio_gpu_rect r; 126 __le32 resource_id; 127 __le32 padding; 128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129}; 130struct virtio_gpu_transfer_to_host_2d { 131 struct virtio_gpu_ctrl_hdr hdr; 132 struct virtio_gpu_rect r; 133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 __le64 offset; 135 __le32 resource_id; 136 __le32 padding; 137}; 138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139struct virtio_gpu_mem_entry { 140 __le64 addr; 141 __le32 length; 142 __le32 padding; 143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144}; 145struct virtio_gpu_resource_attach_backing { 146 struct virtio_gpu_ctrl_hdr hdr; 147 __le32 resource_id; 148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 __le32 nr_entries; 150}; 151struct virtio_gpu_resource_detach_backing { 152 struct virtio_gpu_ctrl_hdr hdr; 153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 __le32 resource_id; 155 __le32 padding; 156}; 157#define VIRTIO_GPU_MAX_SCANOUTS 16 158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159struct virtio_gpu_resp_display_info { 160 struct virtio_gpu_ctrl_hdr hdr; 161 struct virtio_gpu_display_one { 162 struct virtio_gpu_rect r; 163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 __le32 enabled; 165 __le32 flags; 166 } pmodes[VIRTIO_GPU_MAX_SCANOUTS]; 167}; 168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169struct virtio_gpu_box { 170 __le32 x, y, z; 171 __le32 w, h, d; 172}; 173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174struct virtio_gpu_transfer_host_3d { 175 struct virtio_gpu_ctrl_hdr hdr; 176 struct virtio_gpu_box box; 177 __le64 offset; 178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 __le32 resource_id; 180 __le32 level; 181 __le32 stride; 182 __le32 layer_stride; 183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184}; 185#define VIRTIO_GPU_RESOURCE_FLAG_Y_0_TOP (1 << 0) 186struct virtio_gpu_resource_create_3d { 187 struct virtio_gpu_ctrl_hdr hdr; 188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 __le32 resource_id; 190 __le32 target; 191 __le32 format; 192 __le32 bind; 193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 __le32 width; 195 __le32 height; 196 __le32 depth; 197 __le32 array_size; 198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 __le32 last_level; 200 __le32 nr_samples; 201 __le32 flags; 202 __le32 padding; 203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204}; 205struct virtio_gpu_ctx_create { 206 struct virtio_gpu_ctrl_hdr hdr; 207 __le32 nlen; 208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 __le32 padding; 210 char debug_name[64]; 211}; 212struct virtio_gpu_ctx_destroy { 213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 struct virtio_gpu_ctrl_hdr hdr; 215}; 216struct virtio_gpu_ctx_resource { 217 struct virtio_gpu_ctrl_hdr hdr; 218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 __le32 resource_id; 220 __le32 padding; 221}; 222struct virtio_gpu_cmd_submit { 223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 struct virtio_gpu_ctrl_hdr hdr; 225 __le32 size; 226 __le32 padding; 227}; 228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229#define VIRTIO_GPU_CAPSET_VIRGL 1 230struct virtio_gpu_get_capset_info { 231 struct virtio_gpu_ctrl_hdr hdr; 232 __le32 capset_index; 233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 __le32 padding; 235}; 236struct virtio_gpu_resp_capset_info { 237 struct virtio_gpu_ctrl_hdr hdr; 238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 __le32 capset_id; 240 __le32 capset_max_version; 241 __le32 capset_max_size; 242 __le32 padding; 243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244}; 245struct virtio_gpu_get_capset { 246 struct virtio_gpu_ctrl_hdr hdr; 247 __le32 capset_id; 248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 __le32 capset_version; 250}; 251struct virtio_gpu_resp_capset { 252 struct virtio_gpu_ctrl_hdr hdr; 253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 __u8 capset_data[]; 255}; 256#define VIRTIO_GPU_EVENT_DISPLAY (1 << 0) 257struct virtio_gpu_config { 258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 __u32 events_read; 260 __u32 events_clear; 261 __u32 num_scanouts; 262 __u32 num_capsets; 263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264}; 265enum virtio_gpu_formats { 266 VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM = 1, 267 VIRTIO_GPU_FORMAT_B8G8R8X8_UNORM = 2, 268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 VIRTIO_GPU_FORMAT_A8R8G8B8_UNORM = 3, 270 VIRTIO_GPU_FORMAT_X8R8G8B8_UNORM = 4, 271 VIRTIO_GPU_FORMAT_R8G8B8A8_UNORM = 67, 272 VIRTIO_GPU_FORMAT_X8B8G8R8_UNORM = 68, 273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 VIRTIO_GPU_FORMAT_A8B8G8R8_UNORM = 121, 275 VIRTIO_GPU_FORMAT_R8G8B8X8_UNORM = 134, 276}; 277#endif 278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279