On Son, 2002-09-08 at 14:52, Didier Moens wrote:
>
> -After applying your one-line patch, screen corruption within a
> DRI-enabled VMware session has been resolved. What can I say ? I truly
> thank you.
I'm glad it works!
> Two questions/remarks concerning your patch :
>
> 1. Can it be applied against a stock 4.2 source (as I'd like it to be
> incorporated/patched against the RHL 8.0b3 XFree86 RPM or the GATOS
> drivers) ?
> 2. I do not remember if I experienced the same screen corruption with my
> 'old' ThinkPad A21p (Rage 128 Mobility M3) ; maybe the same patch needs
> to be applied against r128 too ?
Yes to both questions; I've fixed both drivers in DRI CVS, patch
attached, it should apply against 4.2.
> >Hmm, the M6 doesn't benefit from the important new features like
> >hardware TCL and custom vertex formats. Page flipping (Option
> >"EnablePageFlip") should improve performance though.
>
> Option "EnablePageFlip" :
[...]
> - 15% performance increase (previously 500 FPS) ;
> - initially, "current 0" is reported ; when clicking in another window,
> it reports "current 1". Performance doesn't seem to be affected, though.
'current' is the currently displayed page. Page flipping is used
whenever 'allow' is 1, basically whenever there's a single 3D window.
This debugging output will probably go away once we've ironed out all
issues with page flipping.
> Any other options we should know about ? :)
None that I'm aware of unfortunately. :)
> A sincere thank you to all XFRee & DRI developers for the involved effort.
Thanks for your testing.
--
Earthling Michel D�nzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member / CS student, Free Software enthusiast
Index: programs/Xserver/hw/xfree86/drivers/ati/r128_dga.c
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dga.c,v
retrieving revision 1.6
diff -p -u -r1.6 r128_dga.c
--- programs/Xserver/hw/xfree86/drivers/ati/r128_dga.c 27 Jan 2002 20:05:30 -0000 1.6
+++ programs/Xserver/hw/xfree86/drivers/ati/r128_dga.c 8 Sep 2002 14:47:04 -0000
@@ -217,7 +217,7 @@ R128DGAInit(ScreenPtr pScreen)
info->DGAFuncs.BlitTransRect = NULL;
if (info->accel) {
- info->DGAFuncs.Sync = R128WaitForIdle;
+ info->DGAFuncs.Sync = info->accel->Sync;
if (info->accel->SetupForSolidFill &&
info->accel->SubsequentSolidFillRect)
info->DGAFuncs.FillRect = R128_FillRect;
Index: programs/Xserver/hw/xfree86/drivers/ati/radeon_dga.c
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dga.c,v
retrieving revision 1.6
diff -p -u -r1.6 radeon_dga.c
--- programs/Xserver/hw/xfree86/drivers/ati/radeon_dga.c 27 Jan 2002 20:05:31 -0000 1.6
+++ programs/Xserver/hw/xfree86/drivers/ati/radeon_dga.c 8 Sep 2002 14:47:04 -0000
@@ -229,7 +229,7 @@ Bool RADEONDGAInit(ScreenPtr pScreen)
info->DGAFuncs.BlitTransRect = NULL;
if (info->accel) {
- info->DGAFuncs.Sync = RADEONWaitForIdle;
+ info->DGAFuncs.Sync = info->accel->Sync;
if (info->accel->SetupForSolidFill &&
info->accel->SubsequentSolidFillRect)
info->DGAFuncs.FillRect = RADEON_FillRect;