mirror of https://github.com/xemu-project/xemu.git
virtio-gpu: Unrealize GL device
Even though GL GPU doesn't support hotplugging today, free virgl resources when GL device is unrealized. For consistency. Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Message-Id: <20241024210311.118220-6-dmitry.osipenko@collabora.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
This commit is contained in:
parent
7e688d1bf5
commit
b218c12ae2
|
@ -156,6 +156,22 @@ static Property virtio_gpu_gl_properties[] = {
|
|||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
static void virtio_gpu_gl_device_unrealize(DeviceState *qdev)
|
||||
{
|
||||
VirtIOGPU *g = VIRTIO_GPU(qdev);
|
||||
VirtIOGPUGL *gl = VIRTIO_GPU_GL(qdev);
|
||||
|
||||
if (gl->renderer_state >= RS_INITED) {
|
||||
if (virtio_gpu_stats_enabled(g->parent_obj.conf)) {
|
||||
timer_free(gl->print_stats);
|
||||
}
|
||||
timer_free(gl->fence_poll);
|
||||
virgl_renderer_cleanup(NULL);
|
||||
}
|
||||
|
||||
gl->renderer_state = RS_START;
|
||||
}
|
||||
|
||||
static void virtio_gpu_gl_class_init(ObjectClass *klass, void *data)
|
||||
{
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
@ -169,6 +185,7 @@ static void virtio_gpu_gl_class_init(ObjectClass *klass, void *data)
|
|||
vgc->update_cursor_data = virtio_gpu_gl_update_cursor_data;
|
||||
|
||||
vdc->realize = virtio_gpu_gl_device_realize;
|
||||
vdc->unrealize = virtio_gpu_gl_device_unrealize;
|
||||
vdc->reset = virtio_gpu_gl_reset;
|
||||
device_class_set_props(dc, virtio_gpu_gl_properties);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue