On Wed, Jul 13, 2011 at 09:51:14AM +0200, Gerd Hoffmann wrote:
> Hi,
>
> >+void qxl_render_primary_updated(PCIQXLDevice *qxl, QXLRect *dirty,
> >+uint32_t num_dirty);
>
> >@@ -65,6 +65,10 @@ struct SimpleSpiceDisplay {
> > int notify;
> > int running;
>
Hi,
+void qxl_render_primary_updated(PCIQXLDevice *qxl, QXLRect *dirty,
+uint32_t num_dirty);
@@ -65,6 +65,10 @@ struct SimpleSpiceDisplay {
int notify;
int running;
+#if SPICE_INTERFACE_QXL_MINOR>= 1
+QXLRect *dirty_rects;
+uint32_t num_
So now there are two implementations chosen based on QXL_INTERFACE_MINOR:
* old (spice qxl minor == 0) - use update_area, no change.
* new:
1. keep an array of updated rectangles (ssd.dirty_rects)
2. update it on callback (realloc)
3. render the current one before issuing a new update_area_