summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_chipset.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r300/r300_chipset.c')
-rw-r--r--src/gallium/drivers/r300/r300_chipset.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/gallium/drivers/r300/r300_chipset.c b/src/gallium/drivers/r300/r300_chipset.c
index 92de297ef1d..e6dca66d4a0 100644
--- a/src/gallium/drivers/r300/r300_chipset.c
+++ b/src/gallium/drivers/r300/r300_chipset.c
@@ -24,6 +24,8 @@
#include "util/u_debug.h"
+#include <stdio.h>
+
/* r300_chipset: A file all to itself for deducing the various properties of
* Radeons. */
@@ -31,13 +33,13 @@
void r300_parse_chipset(struct r300_capabilities* caps)
{
/* Reasonable defaults */
- caps->num_vert_fpus = 4;
+ caps->num_vert_fpus = 2;
+ caps->num_tex_units = 16;
caps->has_tcl = debug_get_bool_option("RADEON_NO_TCL", FALSE) ? FALSE : TRUE;
caps->is_r400 = FALSE;
caps->is_r500 = FALSE;
caps->high_second_pipe = FALSE;
-
/* Note: These are not ordered by PCI ID. I leave that task to GCC,
* which will perform the ordering while collating jump tables. Instead,
* I've tried to group them according to capabilities and age. */
@@ -45,6 +47,7 @@ void r300_parse_chipset(struct r300_capabilities* caps)
case 0x4144:
caps->family = CHIP_FAMILY_R300;
caps->high_second_pipe = TRUE;
+ caps->num_vert_fpus = 4;
break;
case 0x4145:
@@ -56,6 +59,7 @@ void r300_parse_chipset(struct r300_capabilities* caps)
case 0x4E47:
caps->family = CHIP_FAMILY_R300;
caps->high_second_pipe = TRUE;
+ caps->num_vert_fpus = 4;
break;
case 0x4150:
@@ -84,11 +88,13 @@ void r300_parse_chipset(struct r300_capabilities* caps)
case 0x4E4B:
caps->family = CHIP_FAMILY_R350;
caps->high_second_pipe = TRUE;
+ caps->num_vert_fpus = 4;
break;
case 0x4E4A:
caps->family = CHIP_FAMILY_R360;
caps->high_second_pipe = TRUE;
+ caps->num_vert_fpus = 4;
break;
case 0x5460:
@@ -106,6 +112,7 @@ void r300_parse_chipset(struct r300_capabilities* caps)
case 0x3150:
case 0x3152:
case 0x3154:
+ case 0x3155:
case 0x3E50:
case 0x3E54:
caps->family = CHIP_FAMILY_RV380;
@@ -344,7 +351,7 @@ void r300_parse_chipset(struct r300_capabilities* caps)
case 0x7280:
caps->family = CHIP_FAMILY_RV570;
- caps->num_vert_fpus = 5;
+ caps->num_vert_fpus = 8;
caps->is_r500 = TRUE;
break;
@@ -360,13 +367,14 @@ void r300_parse_chipset(struct r300_capabilities* caps)
case 0x7293:
case 0x7297:
caps->family = CHIP_FAMILY_RV560;
- caps->num_vert_fpus = 5;
+ caps->num_vert_fpus = 8;
caps->is_r500 = TRUE;
break;
default:
- debug_printf("r300: Warning: Unknown chipset 0x%x\n",
- caps->pci_id);
- break;
+ fprintf(stderr, "r300: Warning: Unknown chipset 0x%x\n",
+ caps->pci_id);
}
+
+ caps->is_rv350 = caps->family >= CHIP_FAMILY_RV350;
}