[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#225759: xlibmesa-dri: Radeon 9200 SE (RV280 5964) not detected for DRI



reassign 225759 xserver-xfree86
retitle 225759 incorrectly determines 3D driver to use for Radeon 9200
SE (RV280 5964)
tag 225759 patch
thanks

On Thu, 2004-01-01 at 15:32, Michal Cihar wrote:
> 
> Although in changelog I see, that support for this was added, it does
> not work for dri. When starting glx app, I get warning:
> 
> unknown chip id, assuming full radeon support
> 
> glxinfo shows something (glxinfo reports it as Radeon), but starting
> something that draws (eg. glxgears) makes X frozen. ChipID 0x4242 in
> /etc/X11/XF86Config-4 "solves" this (according to glxinfo it is now
> using R200 driver).

The attached patch should fix this. Please try appending it to
debian/patches/030b_radeon_rv280_support.diff (or adding it as a
separate patch) and rebuilding xserver-xfree86.


-- 
Earthling Michel Dänzer      |     Debian (powerpc), X and DRI developer
Software libre enthusiast    |   http://svcs.affero.net/rm.php?r=daenzer
Index: programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
===================================================================
RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c,v
retrieving revision 1.32.2.1
diff -p -u -r1.32.2.1 radeon_dri.c
--- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c	6 May 2003 23:21:38 -0000	1.32.2.1
+++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c	1 Jan 2004 17:43:38 -0000
@@ -1008,9 +1008,7 @@ static int RADEONDRIKernelInit(RADEONInf
 
     memset(&drmInfo, 0, sizeof(drmRadeonInit));
 
-    if ( (info->ChipFamily == CHIP_FAMILY_R200) ||
-		 (info->ChipFamily == CHIP_FAMILY_RV250) ||
-		 (info->ChipFamily == CHIP_FAMILY_M9) )
+    if ( info->ChipFamily >= CHIP_FAMILY_R200 )
        drmInfo.func             = DRM_RADEON_INIT_R200_CP;
     else
        drmInfo.func             = DRM_RADEON_INIT_CP;
@@ -1226,11 +1224,8 @@ Bool RADEONDRIScreenInit(ScreenPtr pScre
     info->pDRIInfo                       = pDRIInfo;
     pDRIInfo->drmDriverName              = RADEON_DRIVER_NAME;
 
-    if (info->ChipFamily == CHIP_FAMILY_R200)
+    if ( info->ChipFamily >= CHIP_FAMILY_R200 )
        pDRIInfo->clientDriverName        = R200_DRIVER_NAME;
-	else if ((info->ChipFamily == CHIP_FAMILY_RV250) ||
-			 (info->ChipFamily == CHIP_FAMILY_M9))
-       pDRIInfo->clientDriverName        = RV250_DRIVER_NAME;
     else 
        pDRIInfo->clientDriverName        = RADEON_DRIVER_NAME;
 
@@ -1354,9 +1349,7 @@ Bool RADEONDRIScreenInit(ScreenPtr pScre
     if (version) {
 	int req_minor, req_patch;
 
-   	if ((info->ChipFamily == CHIP_FAMILY_R200) ||
-		(info->ChipFamily == CHIP_FAMILY_RV250) ||
-		(info->ChipFamily == CHIP_FAMILY_M9)) {
+	if ( info->ChipFamily >= CHIP_FAMILY_R200 ) {
 	    req_minor = 5;
 	    req_patch = 0;	
 	} else {

Reply to: