virtio-gpu: move virgl gl_flushed
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20210430113547.1816178-1-kraxel@redhat.com Message-Id: <20210430113547.1816178-8-kraxel@redhat.com>
This commit is contained in:
parent
ce537a4fc9
commit
3e48b7a31a
|
@ -23,6 +23,17 @@
|
||||||
#include "hw/virtio/virtio-gpu-pixman.h"
|
#include "hw/virtio/virtio-gpu-pixman.h"
|
||||||
#include "hw/qdev-properties.h"
|
#include "hw/qdev-properties.h"
|
||||||
|
|
||||||
|
static void virtio_gpu_gl_flushed(VirtIOGPUBase *b)
|
||||||
|
{
|
||||||
|
VirtIOGPU *g = VIRTIO_GPU(b);
|
||||||
|
|
||||||
|
if (g->renderer_reset) {
|
||||||
|
g->renderer_reset = false;
|
||||||
|
virtio_gpu_virgl_reset(g);
|
||||||
|
}
|
||||||
|
virtio_gpu_process_cmdq(g);
|
||||||
|
}
|
||||||
|
|
||||||
static void virtio_gpu_gl_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
|
static void virtio_gpu_gl_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
|
||||||
{
|
{
|
||||||
VirtIOGPU *g = VIRTIO_GPU(vdev);
|
VirtIOGPU *g = VIRTIO_GPU(vdev);
|
||||||
|
@ -100,8 +111,10 @@ static void virtio_gpu_gl_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
|
VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
|
||||||
|
VirtIOGPUBaseClass *vbc = VIRTIO_GPU_BASE_CLASS(klass);
|
||||||
VirtIOGPUClass *vgc = VIRTIO_GPU_CLASS(klass);
|
VirtIOGPUClass *vgc = VIRTIO_GPU_CLASS(klass);
|
||||||
|
|
||||||
|
vbc->gl_flushed = virtio_gpu_gl_flushed;
|
||||||
vgc->handle_ctrl = virtio_gpu_gl_handle_ctrl;
|
vgc->handle_ctrl = virtio_gpu_gl_handle_ctrl;
|
||||||
|
|
||||||
vdc->realize = virtio_gpu_gl_device_realize;
|
vdc->realize = virtio_gpu_gl_device_realize;
|
||||||
|
|
|
@ -859,19 +859,6 @@ void virtio_gpu_process_cmdq(VirtIOGPU *g)
|
||||||
g->processing_cmdq = false;
|
g->processing_cmdq = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void virtio_gpu_gl_flushed(VirtIOGPUBase *b)
|
|
||||||
{
|
|
||||||
VirtIOGPU *g = VIRTIO_GPU(b);
|
|
||||||
|
|
||||||
#ifdef CONFIG_VIRGL
|
|
||||||
if (g->renderer_reset) {
|
|
||||||
g->renderer_reset = false;
|
|
||||||
virtio_gpu_virgl_reset(g);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
virtio_gpu_process_cmdq(g);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void virtio_gpu_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
|
static void virtio_gpu_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
|
||||||
{
|
{
|
||||||
VirtIOGPU *g = VIRTIO_GPU(vdev);
|
VirtIOGPU *g = VIRTIO_GPU(vdev);
|
||||||
|
@ -1215,10 +1202,8 @@ static void virtio_gpu_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
|
VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
|
||||||
VirtIOGPUBaseClass *vbc = VIRTIO_GPU_BASE_CLASS(klass);
|
|
||||||
VirtIOGPUClass *vgc = VIRTIO_GPU_CLASS(klass);
|
VirtIOGPUClass *vgc = VIRTIO_GPU_CLASS(klass);
|
||||||
|
|
||||||
vbc->gl_flushed = virtio_gpu_gl_flushed;
|
|
||||||
vgc->handle_ctrl = virtio_gpu_handle_ctrl;
|
vgc->handle_ctrl = virtio_gpu_handle_ctrl;
|
||||||
|
|
||||||
vdc->realize = virtio_gpu_device_realize;
|
vdc->realize = virtio_gpu_device_realize;
|
||||||
|
|
Loading…
Reference in New Issue