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_dirty_rects;
+#endif

Why do you put this into SimpleSpiceDisplay instead of PCIQXLState?

I also wouldn't #ifdef the struct elements to reduce the #ifdef clutter. #ifdefs should only be there in case the code wouldn't compile without them.

Additionally you can fill these struct elements in sync mode too and have qxl_render_primary_updated pick up the rectangles from the struct instead of getting them passed in as arguments, thereby reducing the code differences between sync and async mode.

cheers,
  Gerd


Reply via email to