xserver-xorg-video-s3virge: Changes to 'upstream-experimental'
configure.ac | 2 -
src/s3v_driver.c | 71 ++++++++++++++++++-------------------------------------
2 files changed, 25 insertions(+), 48 deletions(-)
New commits:
commit fff6ce57c4bd78f39f3a2f45c820918c6e7a950b
Author: Adam Jackson <ajax@redhat.com>
Date: Wed May 21 15:54:36 2008 -0400
s3virge 1.10.1
diff --git a/configure.ac b/configure.ac
index 628be19..244a27d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-s3virge],
- 1.10.0,
+ 1.10.1,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-s3virge)
commit caa3a43d9798bdc82a3660df88e694e2e65df373
Author: Adam Jackson <ajax@redhat.com>
Date: Wed May 21 15:54:12 2008 -0400
Fix typo in S3VValidMode.
diff --git a/src/s3v_driver.c b/src/s3v_driver.c
index 9164e42..d0fd463 100644
--- a/src/s3v_driver.c
+++ b/src/s3v_driver.c
@@ -2673,7 +2673,7 @@ S3VInternalScreenInit( int scrnIndex, ScreenPtr pScreen)
static ModeStatus
S3VValidMode(int index, DisplayModePtr mode, Bool verbose, int flags)
{
- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+ ScrnInfoPtr pScrn = xf86Screens[index];
if ((pScrn->bitsPerPixel + 7)/8 * mode->HDisplay > 4095)
return MODE_VIRTUAL_X;
commit aa4708390fb18a7089de66ef71c93745c856f6f4
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Apr 7 17:09:54 2008 -0400
Bug #13243: Re-enable 24+32 framebuffer.
This was just never enabled for the fb code path, but worked in cfb as
far as anyone can tell.
diff --git a/src/s3v_driver.c b/src/s3v_driver.c
index 30ae4b8..9164e42 100644
--- a/src/s3v_driver.c
+++ b/src/s3v_driver.c
@@ -2650,6 +2650,7 @@ S3VInternalScreenInit( int scrnIndex, ScreenPtr pScreen)
case 8:
case 16:
case 24:
+ case 32:
ret = fbScreenInit(pScreen, FBStart, pScrn->virtualX,
pScrn->virtualY, pScrn->xDpi, pScrn->yDpi,
displayWidth, pScrn->bitsPerPixel);
commit 784547b5e4b62279d4dc608e3c0c4705ae18bb5d
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Mar 24 11:59:07 2008 -0400
Nuke the useless UseFB option.
diff --git a/src/s3v_driver.c b/src/s3v_driver.c
index af395b1..30ae4b8 100644
--- a/src/s3v_driver.c
+++ b/src/s3v_driver.c
@@ -247,7 +247,6 @@ static const OptionInfoRec S3VOptions[] =
{ OPTION_SWCURSOR, "SWCursor", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_SHADOW_FB, "ShadowFB", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_ROTATE, "Rotate", OPTV_ANYSTR, {0}, FALSE },
- { OPTION_FB_DRAW, "UseFB", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_MX_CR3A_FIX, "mxcr3afix", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_XVIDEO, "XVideo", OPTV_BOOLEAN, {0}, FALSE },
{-1, NULL, OPTV_NONE, {0}, FALSE}
@@ -876,12 +875,6 @@ S3VPreInit(ScrnInfoPtr pScrn, int flags)
ps3v->hwcursor = FALSE;
}
- ps3v->UseFB = TRUE;
- xf86DrvMsg(pScrn->scrnIndex, X_DEFAULT, "Using fb.\n");
- if (xf86IsOptionSet(ps3v->Options, OPTION_FB_DRAW))
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
- "UseFB option is deprecated.\n");
-
if (xf86IsOptionSet(ps3v->Options, OPTION_MX_CR3A_FIX))
{
if (xf86GetOptValBool(ps3v->Options, OPTION_MX_CR3A_FIX ,&ps3v->mx_cr3a_fix))
@@ -1429,15 +1422,12 @@ S3VPreInit(ScrnInfoPtr pScrn, int flags)
xf86SetDpi(pScrn, 0, 0);
/* Load bpp-specific modules */
- if( ps3v->UseFB )
- {
- if( xf86LoadSubModule(pScrn, "fb") == NULL )
- {
- S3VFreeRec(pScrn);
- return FALSE;
- }
- xf86LoaderReqSymLists(fbSymbols, NULL);
- }
+ if( xf86LoadSubModule(pScrn, "fb") == NULL )
+ {
+ S3VFreeRec(pScrn);
+ return FALSE;
+ }
+ xf86LoaderReqSymLists(fbSymbols, NULL);
/* Load XAA if needed */
if (!ps3v->NoAccel || ps3v->hwcursor ) {
@@ -2522,8 +2512,7 @@ S3VScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
}
/* must be after RGB ordering fixed */
- if (ps3v->UseFB)
- fbPictureInit (pScreen, 0, 0);
+ fbPictureInit (pScreen, 0, 0);
/* Initialize acceleration layer */
if (!ps3v->NoAccel) {
@@ -2656,27 +2645,23 @@ S3VInternalScreenInit( int scrnIndex, ScreenPtr pScreen)
* pScreen fields.
*/
- if( ps3v->UseFB )
+ switch (pScrn->bitsPerPixel)
{
- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Using FB\n");
-
- switch (pScrn->bitsPerPixel)
- {
case 8:
case 16:
case 24:
- ret = fbScreenInit(pScreen, FBStart, pScrn->virtualX,
- pScrn->virtualY, pScrn->xDpi, pScrn->yDpi,
- displayWidth, pScrn->bitsPerPixel);
- break;
+ ret = fbScreenInit(pScreen, FBStart, pScrn->virtualX,
+ pScrn->virtualY, pScrn->xDpi, pScrn->yDpi,
+ displayWidth, pScrn->bitsPerPixel);
+ break;
default:
- xf86DrvMsg(scrnIndex, X_ERROR,
- "Internal error: invalid bpp (%d) in S3VScreenInit\n",
- pScrn->bitsPerPixel);
- ret = FALSE;
- break;
- }
+ xf86DrvMsg(scrnIndex, X_ERROR,
+ "Internal error: invalid bpp (%d) in S3VScreenInit\n",
+ pScrn->bitsPerPixel);
+ ret = FALSE;
+ break;
}
+
return ret;
}
commit 344d00fc3b32cfb9871c4356224b55c296e0b1d6
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Mar 24 11:56:43 2008 -0400
Bug #14298: Fix mode validation to be less ridiculous.
The code sort of assumed you'd asked for a virtual size in the config file,
either explicitly or through asking for a mode. Autoconfiguration will
default the virtual to zero though, so the constraint will fail, and then
a mode we can't do will get through xf86ValidateModes().
Just move the check to S3VValidMode where it belongs.
diff --git a/src/s3v_driver.c b/src/s3v_driver.c
index 13b8425..af395b1 100644
--- a/src/s3v_driver.c
+++ b/src/s3v_driver.c
@@ -1427,19 +1427,6 @@ S3VPreInit(ScrnInfoPtr pScrn, int flags)
/* Set display resolution */
xf86SetDpi(pScrn, 0, 0);
- /* When running the STREAMS processor */
- /* the max. stride is limited to 4096-1 */
- /* so this is the virtualX limit. */
- /* STREAMS is needed for 24 & 32 bpp, */
- /* (all depth 24 modes) */
- /* This should never happen... we */
- /* checked it before ValidateModes */
- if ( ((pScrn->depth == 24) || (pScrn->depth == 16)) &&
- ((pScrn->bitsPerPixel/8) * pScrn->virtualX > 4095) ) {
- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Virtual width to large for ViRGE\n");
- S3VFreeRec(pScrn);
- return FALSE;
- }
/* Load bpp-specific modules */
if( ps3v->UseFB )
@@ -2700,8 +2687,12 @@ S3VInternalScreenInit( int scrnIndex, ScreenPtr pScreen)
static ModeStatus
S3VValidMode(int index, DisplayModePtr mode, Bool verbose, int flags)
{
+ ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+
+ if ((pScrn->bitsPerPixel + 7)/8 * mode->HDisplay > 4095)
+ return MODE_VIRTUAL_X;
- return MODE_OK;
+ return MODE_OK;
}
Reply to: