[Spice-devel] [PATCH] Compute totalPixmapSize using the same logic as in dix/pixmap.c, rather than hard coding 100.

Jeremy White jwhite at codeweavers.com
Wed Jun 13 15:04:12 PDT 2012


This was found while building with a modified X server; one with a PixmapRec size of 224, not 64 :-/.
---
 src/qxl_driver.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/qxl_driver.c b/src/qxl_driver.c
index 5519f57..135c269 100644
--- a/src/qxl_driver.c
+++ b/src/qxl_driver.c
@@ -1077,8 +1077,6 @@ qxl_screen_init(SCREEN_INIT_ARGS_DECL)
     ErrorF ("allocated %d x %d  %p\n", pScrn->virtualX, pScrn->virtualY, qxl->fb);
 #endif
     
-    pScreen->totalPixmapSize = 100;
-
     pScrn->virtualX = pScrn->currentMode->HDisplay;
     pScrn->virtualY = pScrn->currentMode->VDisplay;
 
@@ -1137,6 +1135,10 @@ qxl_screen_init(SCREEN_INIT_ARGS_DECL)
 
     DamageSetup(pScreen);
     
+    /* We need to set totalPixmapSize after setup_uxa and Damage,
+	as the privatessize is not computed correctly until then */
+    pScreen->totalPixmapSize = BitmapBytePad((sizeof(PixmapRec) + dixPrivatesSize(PRIVATE_PIXMAP) ) * 8);
+
     miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
     if (!miCreateDefColormap(pScreen))
       goto out;
-- 
1.7.10




More information about the Spice-devel mailing list