[PATCH xf86-video-qxl] Provide an implementation for put_image in dfps mode.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This prevents the fallback from calling prepare_access
against the whole screen, which in turn keeps us from
transmitting the whole screen more than necessary.

Signed-off-by: Jeremy White <jwhite@xxxxxxxxxxxxxxx>
---
 src/dfps.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/dfps.c b/src/dfps.c
index 568ba5e..f113f27 100644
--- a/src/dfps.c
+++ b/src/dfps.c
@@ -270,15 +270,22 @@ static Bool dfps_put_image (PixmapPtr dest, int x, int y, int w, int h,
                char *src, int src_pitch)
 {
     dfps_info_t *info;
+    FbBits *dst;
+    FbStride dst_stride;
+    int dst_bpp;
 
     if (!(info = dfps_get_info (dest)))
         return FALSE;
 
     dfps_update_box(&info->updated_region, x, x + w, y, y + h);
 
-    /* We can avoid doing the put image ourselves, as the uxa driver
-       will fall back and do it for us if we return false */
-    return FALSE;
+    fbPrepareAccess(dest);
+    fbGetPixmapBitsData(dest, dst, dst_stride, dst_bpp);
+    fbBlt((FbBits *) src, src_pitch / sizeof(FbStip), 0, dst + (y * dst_stride), dst_stride,
+           x * dst_bpp, w * dst_bpp, h, GXcopy, FB_ALLONES, dst_bpp, FALSE, FALSE);
+    fbFinishAccess(dest);
+
+    return TRUE;
 }
 
 
-- 
2.1.4

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]