diff options
author | Peter Maydell | 2017-02-13 11:54:49 +0100 |
---|---|---|
committer | Peter Maydell | 2017-02-13 11:54:49 +0100 |
commit | df96bfab49dab2d0373e49b51bbb51ce72e1601e (patch) | |
tree | 85b95f201b18f19b0201d099533b55ec7083e3e1 /hw/display/virtio-gpu-3d.c | |
parent | Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2017-02-12' in... (diff) | |
parent | Revert "cirrus: allow zero source pitch in pattern fill rops" (diff) | |
download | qemu-df96bfab49dab2d0373e49b51bbb51ce72e1601e.tar.gz qemu-df96bfab49dab2d0373e49b51bbb51ce72e1601e.tar.xz qemu-df96bfab49dab2d0373e49b51bbb51ce72e1601e.zip |
Merge remote-tracking branch 'remotes/kraxel/tags/pull-vga-20170213-1' into staging
vga: bugfixes for cirrus and virtio-gpu
# gpg: Signature made Mon 13 Feb 2017 08:14:47 GMT
# gpg: using RSA key 0x4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/pull-vga-20170213-1:
Revert "cirrus: allow zero source pitch in pattern fill rops"
cirrus: fix patterncopy checks
cirrus: replace debug printf with trace points
vga: replace debug printf with trace points
virtio-gpu: fix resource leak in virgl_cmd_resource_unref
virtio-gpu: fix memory leak in set scanout
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/display/virtio-gpu-3d.c')
-rw-r--r-- | hw/display/virtio-gpu-3d.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/display/virtio-gpu-3d.c b/hw/display/virtio-gpu-3d.c index f96a0c2e59..ecb09d17a1 100644 --- a/hw/display/virtio-gpu-3d.c +++ b/hw/display/virtio-gpu-3d.c @@ -77,10 +77,18 @@ static void virgl_cmd_resource_unref(VirtIOGPU *g, struct virtio_gpu_ctrl_command *cmd) { struct virtio_gpu_resource_unref unref; + struct iovec *res_iovs = NULL; + int num_iovs = 0; VIRTIO_GPU_FILL_CMD(unref); trace_virtio_gpu_cmd_res_unref(unref.resource_id); + virgl_renderer_resource_detach_iov(unref.resource_id, + &res_iovs, + &num_iovs); + if (res_iovs != NULL && num_iovs != 0) { + virtio_gpu_cleanup_mapping_iov(res_iovs, num_iovs); + } virgl_renderer_resource_unref(unref.resource_id); } |