| 249 | } |
| 250 | |
| 251 | static rt_err_t virtio_gpu_set_scanout(struct virtio_gpu_device *virtio_gpu_dev, rt_uint32_t scanout_id, |
| 252 | rt_uint32_t resource_id, rt_uint32_t width, rt_uint32_t height) |
| 253 | { |
| 254 | struct virtio_gpu_ctrl_hdr res; |
| 255 | struct virtio_gpu_set_scanout req; |
| 256 | |
| 257 | rt_memset(&req, 0, sizeof(req)); |
| 258 | |
| 259 | req.hdr.type = VIRTIO_GPU_CMD_SET_SCANOUT; |
| 260 | req.r.x = 0; |
| 261 | req.r.y = 0; |
| 262 | req.r.width = width; |
| 263 | req.r.height = height; |
| 264 | req.scanout_id = scanout_id; |
| 265 | req.resource_id = resource_id; |
| 266 | |
| 267 | virtio_gpu_ctrl_send_command(virtio_gpu_dev, &req, sizeof(req), &res, sizeof(res)); |
| 268 | |
| 269 | if (res.type == VIRTIO_GPU_RESP_OK_NODATA) |
| 270 | { |
| 271 | return RT_EOK; |
| 272 | } |
| 273 | |
| 274 | return -RT_ERROR; |
| 275 | } |
| 276 | |
| 277 | static rt_err_t virtio_gpu_flush_resource(struct virtio_gpu_device *virtio_gpu_dev, rt_uint32_t resource_id, |
| 278 | rt_uint32_t x, rt_uint32_t y, rt_uint32_t width, rt_uint32_t height) |
no test coverage detected