| 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) |
| 279 | { |
| 280 | struct virtio_gpu_ctrl_hdr res; |
| 281 | struct virtio_gpu_resource_flush req; |
| 282 | |
| 283 | rt_memset(&req, 0, sizeof(req)); |
| 284 | |
| 285 | req.hdr.type = VIRTIO_GPU_CMD_RESOURCE_FLUSH; |
| 286 | req.r.x = x; |
| 287 | req.r.y = y; |
| 288 | req.r.width = width; |
| 289 | req.r.height = height; |
| 290 | req.resource_id = resource_id; |
| 291 | |
| 292 | virtio_gpu_ctrl_send_command(virtio_gpu_dev, &req, sizeof(req), &res, sizeof(res)); |
| 293 | |
| 294 | if (res.type == VIRTIO_GPU_RESP_OK_NODATA) |
| 295 | { |
| 296 | return RT_EOK; |
| 297 | } |
| 298 | |
| 299 | return -RT_ERROR; |
| 300 | } |
| 301 | |
| 302 | static rt_err_t virtio_gpu_transfer_to_host_2d(struct virtio_gpu_device *virtio_gpu_dev, rt_uint32_t resource_id, |
| 303 | rt_uint32_t x, rt_uint32_t y, rt_uint32_t width, rt_uint32_t height, rt_uint32_t offset) |
no test coverage detected