xf86-video-wsfb

ローテートオプションを付けた時に画面描画がおかしくなっていたのだけれど、何故か無効化されていた shadowFB を有効にしたら正常に描画されるようになった。
なんで無効化されてるんだろ。

Index: wsfb.h
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xf86-video-wsfb/dist/src/wsfb.h,v
retrieving revision 1.2
diff -u -r1.2 wsfb.h
--- wsfb.h	12 Jun 2009 01:53:00 -0000	1.2
+++ wsfb.h	6 Dec 2009 10:22:51 -0000
@@ -58,7 +58,7 @@
 	unsigned char*		fbstart;
 	unsigned char*		fbmem;
 	size_t			fbmem_len;
-	//void *			shadow;
+	void *			shadow;
 	Bool			shadowFB;
 	Bool			HWCursor;
 	CloseScreenProcPtr	CloseScreen;
Index: wsfb_driver.c
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xf86-video-wsfb/dist/src/wsfb_driver.c,v
retrieving revision 1.5
diff -u -r1.5 wsfb_driver.c
--- wsfb_driver.c	9 Nov 2009 05:24:05 -0000	1.5
+++ wsfb_driver.c	6 Dec 2009 10:22:51 -0000
@@ -835,7 +835,6 @@
 
 	fPtr->fbstart = fPtr->fbmem;
 
-#if 0
 	if (fPtr->shadowFB) {
 		fPtr->shadow = xcalloc(1, pScrn->virtualX * pScrn->virtualY *
 		    pScrn->bitsPerPixel);
@@ -846,7 +845,6 @@
 			return FALSE;
 		}
 	}
-#endif
 
 	switch (pScrn->bitsPerPixel) {
 	case 1:
@@ -870,7 +868,7 @@
 	case 24:
 	case 32:
 		ret = fbScreenInit(pScreen,
-		    /*fPtr->shadowFB ? fPtr->shadow :*/ fPtr->fbstart,
+		    fPtr->shadowFB ? fPtr->shadow : fPtr->fbstart,
 		    pScrn->virtualX, pScrn->virtualY,
 		    pScrn->xDpi, pScrn->yDpi,
 		    pScrn->displayWidth, pScrn->bitsPerPixel);
広告を非表示にする