[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp
From: |
Michael Tokarev |
Subject: |
Re: [Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp match |
Date: |
Tue, 22 Sep 2015 10:41:29 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0 |
17.09.2015 19:18, Léo Grange wrote:
> Ping, as I had no feedback about this small patch.
> Please tell me if I need to do anything else.
Hello!
I've seen initial version of your patch, thought it isn't exactly trivial ;),
and hoped someone will comment. Only now I realized you sent it to -trivial
but not to -devel, so there's no one to comment on it. Please don't do this,
always include qemu-devel when sending patches, so a patch will have a
chance to be reviewed. I've added qemu-devel to Cc now.
Here, I _think_ the patch is okay, but it'd be better for it to have some
review still.
Thanks,
/mjt
> 2015-08-06 17:36 GMT+02:00 Leo Grange <address@hidden>:
>> Spice surface_switch fast-path was checking only width/height matching,
>> which leads to a crash when surface bpp has been increased but size
>> didn't change (and probably other issues if bpp has been decreased).
>>
>> Signed-off-by: Leo Grange <address@hidden>
>> ---
>> ui/spice-display.c | 7 ++++---
>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/ui/spice-display.c b/ui/spice-display.c
>> index 0360abf..d1e0972 100644
>> --- a/ui/spice-display.c
>> +++ b/ui/spice-display.c
>> @@ -406,10 +406,11 @@ void qemu_spice_display_switch(SimpleSpiceDisplay *ssd,
>> SimpleSpiceUpdate *update;
>> bool need_destroy;
>>
>> - if (surface && ssd->surface &&
>> + if (surface && ssd->surface && ssd->ds &&
>> surface_width(surface) == pixman_image_get_width(ssd->surface) &&
>> - surface_height(surface) == pixman_image_get_height(ssd->surface)) {
>> - /* no-resize fast path: just swap backing store */
>> + surface_height(surface) == pixman_image_get_height(ssd->surface) &&
>> + surface_bits_per_pixel(surface) ==
>> surface_bits_per_pixel(ssd->ds)) {
>> + /* no-resize and no bpp change fast path: just swap backing store */
>> dprint(1, "%s/%d: fast (%dx%d)\n", __func__, ssd->qxl.id,
>> surface_width(surface), surface_height(surface));
>> qemu_mutex_lock(&ssd->lock);
>> --
>> 2.5.0
>>
>