From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34269) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S0AZN-0004Ah-49 for qemu-devel@nongnu.org; Wed, 22 Feb 2012 06:41:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S0AZH-0002ch-1g for qemu-devel@nongnu.org; Wed, 22 Feb 2012 06:41:13 -0500 Received: from mx1.redhat.com ([209.132.183.28]:24872) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S0AZG-0002cb-QX for qemu-devel@nongnu.org; Wed, 22 Feb 2012 06:41:07 -0500 Message-ID: <4F44D44D.3090508@redhat.com> Date: Wed, 22 Feb 2012 12:41:01 +0100 From: Gerd Hoffmann MIME-Version: 1.0 References: <1329860377-6284-1-git-send-email-alevy@redhat.com> <1329860377-6284-9-git-send-email-alevy@redhat.com> In-Reply-To: <1329860377-6284-9-git-send-email-alevy@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC v4 8/9] qxl: make qxl_render_update async List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alon Levy Cc: elmarco@redhat.com, yhalperi@redhat.com, qemu-devel@nongnu.org, spice-devel@freedesktop.org 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