Greetings,

It appears that DRI does not quite support AGP 8x and AGP3.0
in general, please correct me if I'm wrong.

I've made this quick and dirty patch for Radeon driver only. 
I understand that it is not perfect as it has to be copied
into every other driver. A better solution is needed IMHO.

As a side note I'm now getting a whooping 1% improvement with 
AGP 8x according to ut2003 benchmark. I wonder is there is 
something else I should look at. BTW I'm running Radeon 9200
with linux-2.6.0-test9 and the latest (as of today) DRI CVS.
Also AGPFastWrite locks up my machine hard, is this to be expected?

Regards,
Dmitri


diff -r -x CVS
DRI-CVS/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
DRI-CVS.new/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
723,726c723,758
<     switch (info->agpMode) {
<     case 4:          mode |= RADEON_AGP_4X_MODE;
<     case 2:          mode |= RADEON_AGP_2X_MODE;
<     case 1: default: mode |= RADEON_AGP_1X_MODE;
---
> 
>     if (mode & RADEON_AGP_MODE_3_0) {
>       switch (info->agpMode) {
>       case 8:          
>           mode |= RADEON_AGP3_8X_MODE;
>           break;
>       case 4:          
>           mode |= RADEON_AGP3_4X_MODE;
>           break;
>       default: 
>           xf86DrvMsg(pScreen->myNum, X_WARNING, 
>               "[agp] mode x%d not supported in AGP 3.0, forcing 4x mode\n",
>               info->agpMode);
>           mode |= RADEON_AGP3_4X_MODE;
>           break;
>       }
>     } else {
>       switch (info->agpMode) {
>       case 4:          
>           mode |= RADEON_AGP2_4X_MODE;
>           break;
>       case 2:          
>           mode |= RADEON_AGP2_2X_MODE;
>           break;
>       case 1:
>           mode |= RADEON_AGP2_1X_MODE;
>           break;
>       default: 
>           xf86DrvMsg(pScreen->myNum, X_WARNING, 
>               "[agp] mode x%d not supported in AGP `2.0, forcing 4x mode\n",
>               info->agpMode);
>           mode |= RADEON_AGP2_4X_MODE;
>           break;
>       }
diff -r -x CVS
DRI-CVS/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.h
DRI-CVS.new/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.h
55c55
< #define RADEON_AGP_MAX_MODE           4
---
> #define RADEON_AGP_MAX_MODE           8
diff -r -x CVS
DRI-CVS/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h
DRI-CVS.new/xc/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h
73,75c73,78
< #       define RADEON_AGP_1X_MODE           0x01
< #       define RADEON_AGP_2X_MODE           0x02
< #       define RADEON_AGP_4X_MODE           0x04
---
> #       define RADEON_AGP2_1X_MODE          0x01
> #       define RADEON_AGP2_2X_MODE          0x02
> #       define RADEON_AGP2_4X_MODE          0x04
> #       define RADEON_AGP3_4X_MODE          0x01
> #       define RADEON_AGP3_8X_MODE          0x02
> #       define RADEON_AGP_MODE_3_0          0x08




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to