[Spice-devel] [PATCH] Fix gl draw command called without scanout

Uri Lublin uril at redhat.com
Wed Jul 13 11:26:47 UTC 2016


On 07/13/2016 02:12 PM, Frediano Ziglio wrote:
> This happens during VM shutdown.
> Qemu should never send a draw command without scanout.
> This should be fixed in Qemu  or in Virgl driver.
>

Acked-by: Uri Lublin <uril at redhat.com>

> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  server/red-qxl.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/server/red-qxl.c b/server/red-qxl.c
> index b84ae69..2a4fa52 100644
> --- a/server/red-qxl.c
> +++ b/server/red-qxl.c
> @@ -905,7 +905,11 @@ void spice_qxl_gl_draw_async(QXLInstance *qxl,
>
>      spice_return_if_fail(qxl != NULL);
>      qxl_state = qxl->st;
> -    spice_return_if_fail(qxl_state->scanout.drm_dma_buf_fd != -1);
> +    if (qxl_state->scanout.drm_dma_buf_fd == -1) {
> +        spice_warning("called spice_qxl_gl_draw_async without a buffer");
> +        red_qxl_async_complete(qxl, async_command_alloc(qxl_state, message, cookie));
> +        return;
> +    }
>      spice_return_if_fail(qxl_state->gl_draw_async == NULL);
>
>      qxl_state->gl_draw_async = async_command_alloc(qxl_state, message, cookie);
>



More information about the Spice-devel mailing list