mesa: Branch 'master' - 2 commits

Ben Skeggs darktama at kemper.freedesktop.org
Mon Jan 15 10:16:40 UTC 2007


 src/mesa/drivers/dri/nouveau/nouveau_card.c      |    4 ++--
 src/mesa/drivers/dri/nouveau/nouveau_card_list.h |    1 +
 src/mesa/drivers/dri/nouveau/nouveau_screen.c    |    9 ++++++++-
 3 files changed, 11 insertions(+), 3 deletions(-)

New commits:
diff-tree 16f35a3a22fa782f6bb8a51ef32d6668a5c60e85 (from 634b4b3487dcb22e1660959b6a7ce9a42fa50fe2)
Author: Ben Skeggs <darktama at iinet.net.au>
Date:   Mon Jan 15 17:28:56 2007 +1100

    nouveau: Add 0x0244 pciid manually for now..
    
    pciids.sf.net is slow to add it so our generator picks it up,
    and it's *really* annoying me :)

diff --git a/src/mesa/drivers/dri/nouveau/nouveau_card_list.h b/src/mesa/drivers/dri/nouveau/nouveau_card_list.h
index f8ea3c3..14e7b69 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_card_list.h
+++ b/src/mesa/drivers/dri/nouveau/nouveau_card_list.h
@@ -132,6 +132,7 @@ static nouveau_card nouveau_card_list[]=
 {0x0221,  "GeForce 6200",                          NV30_TCL_PRIMITIVE_3D|0x4400,  NV_44, 0},
 {0x0240,  "GeForce 6150",                          NV30_TCL_PRIMITIVE_3D|0x4400,  NV_44, 0},
 {0x0242,  "GeForce 6100",                          NV30_TCL_PRIMITIVE_3D|0x4400,  NV_44, 0},
+{0x0244,  "GeForce 6150 Go",                       NV30_TCL_PRIMITIVE_3D|0x4400,  NV_44, 0},
 {0x0250,  "GeForce4 Ti 4600",                      NV20_TCL_PRIMITIVE_3D|0x2500,  NV_25, 0},
 {0x0251,  "GeForce4 Ti 4400",                      NV20_TCL_PRIMITIVE_3D|0x2500,  NV_25, 0},
 {0x0252,  "GeForce4 Ti",                           NV20_TCL_PRIMITIVE_3D|0x2500,  NV_25, 0},
diff-tree 634b4b3487dcb22e1660959b6a7ce9a42fa50fe2 (from 89f91d1804c0c4919c25d6b9931973733db1e664)
Author: Ben Skeggs <darktama at iinet.net.au>
Date:   Mon Jan 15 17:23:04 2007 +1100

    nouveau: fail CreateScreen on unknown cards instead of guessing.

diff --git a/src/mesa/drivers/dri/nouveau/nouveau_card.c b/src/mesa/drivers/dri/nouveau/nouveau_card.c
index ae4f4c7..91f12f0 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_card.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_card.c
@@ -10,8 +10,8 @@ nouveau_card* nouveau_card_lookup(uint32
 	int i;
 	for(i=0;i<sizeof(nouveau_card_list)/sizeof(nouveau_card)-1;i++)
 		if (nouveau_card_list[i].id==(device_id&0xffff))
-			break;
-	return &(nouveau_card_list[i]);
+			return &(nouveau_card_list[i]);
+	return NULL;
 }
 
 
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_screen.c b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
index 0e3901c..ab7742d 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_screen.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
@@ -71,6 +71,14 @@ static nouveauScreenPtr nouveauCreateScr
 		return NULL;
 	}
 	
+	screen->card=nouveau_card_lookup(dri_priv->device_id);
+	if (!screen->card) {
+		__driUtilMessage("%s: Unknown card type 0x%04x:0x%04x\n",
+			__func__, dri_priv->device_id >> 16, dri_priv->device_id & 0xFFFF);
+		FREE(screen);
+		return NULL;
+	}
+
 	/* parse information in __driConfigOptions */
 	driParseOptionInfo (&screen->optionCache,__driConfigOptions, __driNConfigOptions);
 
@@ -82,7 +90,6 @@ static nouveauScreenPtr nouveauCreateScr
 	screen->depthOffset = dri_priv->depth_offset;
 	screen->depthPitch  = dri_priv->depth_pitch;
 
-	screen->card=nouveau_card_lookup(dri_priv->device_id);
 	screen->driScreen = sPriv;
 	return screen;
 }



More information about the mesa-commit mailing list