[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v4 8/9] qxl: make qxl_render_update async
From: |
Gerd Hoffmann |
Subject: |
Re: [Qemu-devel] [RFC v4 8/9] qxl: make qxl_render_update async |
Date: |
Wed, 22 Feb 2012 12:41:01 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.1) Gecko/20120210 Thunderbird/10.0.1 |
Hi,
> + qxl->render_update_redraw_area.left = 0;
> + qxl->render_update_redraw_area.right =
> + qxl->guest_primary.surface.width;
> + qxl->render_update_redraw_area.top = 0;
> + qxl->render_update_redraw_area.bottom =
> + qxl->guest_primary.surface.height;
Are there cases where render_update_redraw_area != full screen?
> + qemu_mutex_lock(&qxl->ssd.lock);
> + if (qxl->render_update_redraw) {
> + /* don't bother copying them over since we will ignore them */
> + qxl->num_dirty_rects += num_updated_rects;
> + dprint(qxl, 1, "%s: scheduling update_area_bh, #dirty %d\n",
> + __func__, qxl->num_dirty_rects);
> + qemu_bh_schedule(qxl->update_area_bh);
> + qemu_mutex_unlock(&qxl->ssd.lock);
> + return;
> + }
> + if (qxl->num_dirty_rects + num_updated_rects > QXL_NUM_DIRTY_RECTS) {
> + /*
> + * overflow - merge all remaining rects. Hoping this is not
> + * common so doesn't need to be optimized
> + */
> + }
Another easy way out is to simply set qxl->render_update_redraw = 1.
cheers,
Gerd
- [Qemu-devel] [RFC v4 6/9] qxl: remove flipped, (continued)
[Qemu-devel] [RFC v4 7/9] qxl: introduce QXLCookie, Alon Levy, 2012/02/21
Re: [Qemu-devel] [Spice-devel] [RFC v4 0/9] qxl: fix hangs caused by qxl_render_update, Alon Levy, 2012/02/21
[Qemu-devel] [RFC v4 8/9] qxl: make qxl_render_update async, Alon Levy, 2012/02/21
- Re: [Qemu-devel] [RFC v4 8/9] qxl: make qxl_render_update async,
Gerd Hoffmann <=
[Qemu-devel] [RFC v4 9/9] qxl-render: call ppm_save on bh, Alon Levy, 2012/02/21
[Qemu-devel] [RFC v4 5/9] qxl: require spice >= 0.8.2, Alon Levy, 2012/02/21