summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-04-04 12:29:50 -0400
committerAlex Deucher <alexdeucher@gmail.com>2011-05-31 18:10:01 -0400
commitc5903ed4541ec4f9389e33ba27c9527afa87ec44 (patch)
tree692e944272e016de8a0d5b3bcb48d8671e1757a0
parent414cd5df50435f475d92b02c229453d037369c0f (diff)
r600c: add support for llano
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
-rw-r--r--src/mesa/drivers/dri/r600/evergreen_blit.c44
-rw-r--r--src/mesa/drivers/dri/r600/evergreen_chip.c4
-rw-r--r--src/mesa/drivers/dri/r600/evergreen_state.c16
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_chipset.h14
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_common_context.c2
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_screen.c19
6 files changed, 98 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r600/evergreen_blit.c b/src/mesa/drivers/dri/r600/evergreen_blit.c
index 0e4da5499ba..95ac4aee5ce 100644
--- a/src/mesa/drivers/dri/r600/evergreen_blit.c
+++ b/src/mesa/drivers/dri/r600/evergreen_blit.c
@@ -1525,6 +1525,48 @@ eg_set_default_state(context_t *context)
1525 num_hs_stack_entries = 42; 1525 num_hs_stack_entries = 42;
1526 num_ls_stack_entries = 42; 1526 num_ls_stack_entries = 42;
1527 break; 1527 break;
1528 case CHIP_FAMILY_SUMO:
1529 num_ps_gprs = 93;
1530 num_vs_gprs = 46;
1531 num_temp_gprs = 4;
1532 num_gs_gprs = 31;
1533 num_es_gprs = 31;
1534 num_hs_gprs = 23;
1535 num_ls_gprs = 23;
1536 num_ps_threads = 96;
1537 num_vs_threads = 25;
1538 num_gs_threads = 25;
1539 num_es_threads = 25;
1540 num_hs_threads = 25;
1541 num_ls_threads = 25;
1542 num_ps_stack_entries = 42;
1543 num_vs_stack_entries = 42;
1544 num_gs_stack_entries = 42;
1545 num_es_stack_entries = 42;
1546 num_hs_stack_entries = 42;
1547 num_ls_stack_entries = 42;
1548 break;
1549 case CHIP_FAMILY_SUMO2:
1550 num_ps_gprs = 93;
1551 num_vs_gprs = 46;
1552 num_temp_gprs = 4;
1553 num_gs_gprs = 31;
1554 num_es_gprs = 31;
1555 num_hs_gprs = 23;
1556 num_ls_gprs = 23;
1557 num_ps_threads = 96;
1558 num_vs_threads = 25;
1559 num_gs_threads = 25;
1560 num_es_threads = 25;
1561 num_hs_threads = 25;
1562 num_ls_threads = 25;
1563 num_ps_stack_entries = 85;
1564 num_vs_stack_entries = 85;
1565 num_gs_stack_entries = 85;
1566 num_es_stack_entries = 85;
1567 num_hs_stack_entries = 85;
1568 num_ls_stack_entries = 85;
1569 break;
1528 case CHIP_FAMILY_BARTS: 1570 case CHIP_FAMILY_BARTS:
1529 num_ps_gprs = 93; 1571 num_ps_gprs = 93;
1530 num_vs_gprs = 46; 1572 num_vs_gprs = 46;
@@ -1592,6 +1634,8 @@ eg_set_default_state(context_t *context)
1592 1634
1593 if ((context->radeon.radeonScreen->chip_family == CHIP_FAMILY_CEDAR) || 1635 if ((context->radeon.radeonScreen->chip_family == CHIP_FAMILY_CEDAR) ||
1594 (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_PALM) || 1636 (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_PALM) ||
1637 (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_SUMO) ||
1638 (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_SUMO2) ||
1595 (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_CAICOS)) 1639 (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_CAICOS))
1596 CLEARbit(sq_config, EG_SQ_CONFIG__VC_ENABLE_bit); 1640 CLEARbit(sq_config, EG_SQ_CONFIG__VC_ENABLE_bit);
1597 else 1641 else
diff --git a/src/mesa/drivers/dri/r600/evergreen_chip.c b/src/mesa/drivers/dri/r600/evergreen_chip.c
index 42566e537a5..388a96ff067 100644
--- a/src/mesa/drivers/dri/r600/evergreen_chip.c
+++ b/src/mesa/drivers/dri/r600/evergreen_chip.c
@@ -287,7 +287,9 @@ static void evergreenSetupVTXConstants(struct gl_context * ctx,
287 return; 287 return;
288 288
289 if ((context->radeon.radeonScreen->chip_family == CHIP_FAMILY_CEDAR) || 289 if ((context->radeon.radeonScreen->chip_family == CHIP_FAMILY_CEDAR) ||
290 (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_PALM)) 290 (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_PALM) ||
291 (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_SUMO) ||
292 (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_SUMO2))
291 r700SyncSurf(context, paos->bo, RADEON_GEM_DOMAIN_GTT, 0, TC_ACTION_ENA_bit); 293 r700SyncSurf(context, paos->bo, RADEON_GEM_DOMAIN_GTT, 0, TC_ACTION_ENA_bit);
292 else 294 else
293 r700SyncSurf(context, paos->bo, RADEON_GEM_DOMAIN_GTT, 0, VC_ACTION_ENA_bit); 295 r700SyncSurf(context, paos->bo, RADEON_GEM_DOMAIN_GTT, 0, VC_ACTION_ENA_bit);
diff --git a/src/mesa/drivers/dri/r600/evergreen_state.c b/src/mesa/drivers/dri/r600/evergreen_state.c
index 309c93fe088..81bf1172dc3 100644
--- a/src/mesa/drivers/dri/r600/evergreen_state.c
+++ b/src/mesa/drivers/dri/r600/evergreen_state.c
@@ -1470,6 +1470,22 @@ static void evergreenInitSQConfig(struct gl_context * ctx)
1470 uMaxThreads = 192; 1470 uMaxThreads = 192;
1471 uMaxStackEntries = 256; 1471 uMaxStackEntries = 256;
1472 break; 1472 break;
1473 case CHIP_FAMILY_SUMO:
1474 uSqNumCfInsts = 2;
1475 bVC_ENABLE = GL_FALSE;
1476 uMaxGPRs = 256;
1477 uPSThreadCount = 96;
1478 uMaxThreads = 248;
1479 uMaxStackEntries = 256;
1480 break;
1481 case CHIP_FAMILY_SUMO2:
1482 uSqNumCfInsts = 2;
1483 bVC_ENABLE = GL_FALSE;
1484 uMaxGPRs = 256;
1485 uPSThreadCount = 96;
1486 uMaxThreads = 248;
1487 uMaxStackEntries = 512;
1488 break;
1473 case CHIP_FAMILY_BARTS: 1489 case CHIP_FAMILY_BARTS:
1474 uSqNumCfInsts = 2; 1490 uSqNumCfInsts = 2;
1475 bVC_ENABLE = GL_TRUE; 1491 bVC_ENABLE = GL_TRUE;
diff --git a/src/mesa/drivers/dri/radeon/radeon_chipset.h b/src/mesa/drivers/dri/radeon/radeon_chipset.h
index 9145023826e..bd236625122 100644
--- a/src/mesa/drivers/dri/radeon/radeon_chipset.h
+++ b/src/mesa/drivers/dri/radeon/radeon_chipset.h
@@ -450,6 +450,18 @@
450#define PCI_CHIP_PALM_9806 0x9806 450#define PCI_CHIP_PALM_9806 0x9806
451#define PCI_CHIP_PALM_9807 0x9807 451#define PCI_CHIP_PALM_9807 0x9807
452 452
453#define PCI_CHIP_SUMO_9640 0x9640
454#define PCI_CHIP_SUMO_9641 0x9641
455#define PCI_CHIP_SUMO2_9642 0x9642
456#define PCI_CHIP_SUMO2_9643 0x9643
457#define PCI_CHIP_SUMO2_9644 0x9644
458#define PCI_CHIP_SUMO2_9645 0x9645
459#define PCI_CHIP_SUMO_9647 0x9647
460#define PCI_CHIP_SUMO_9648 0x9648
461#define PCI_CHIP_SUMO_964A 0x964a
462#define PCI_CHIP_SUMO_964E 0x964e
463#define PCI_CHIP_SUMO_964F 0x964f
464
453#define PCI_CHIP_BARTS_6720 0x6720 465#define PCI_CHIP_BARTS_6720 0x6720
454#define PCI_CHIP_BARTS_6721 0x6721 466#define PCI_CHIP_BARTS_6721 0x6721
455#define PCI_CHIP_BARTS_6722 0x6722 467#define PCI_CHIP_BARTS_6722 0x6722
@@ -534,6 +546,8 @@ enum {
534 CHIP_FAMILY_CYPRESS, 546 CHIP_FAMILY_CYPRESS,
535 CHIP_FAMILY_HEMLOCK, 547 CHIP_FAMILY_HEMLOCK,
536 CHIP_FAMILY_PALM, 548 CHIP_FAMILY_PALM,
549 CHIP_FAMILY_SUMO,
550 CHIP_FAMILY_SUMO2,
537 CHIP_FAMILY_BARTS, 551 CHIP_FAMILY_BARTS,
538 CHIP_FAMILY_TURKS, 552 CHIP_FAMILY_TURKS,
539 CHIP_FAMILY_CAICOS, 553 CHIP_FAMILY_CAICOS,
diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.c b/src/mesa/drivers/dri/radeon/radeon_common_context.c
index 5d7b3973d57..bf8925f61d0 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common_context.c
@@ -98,6 +98,8 @@ static const char* get_chip_family_name(int chip_family)
98 case CHIP_FAMILY_CYPRESS: return "CYPRESS"; 98 case CHIP_FAMILY_CYPRESS: return "CYPRESS";
99 case CHIP_FAMILY_HEMLOCK: return "HEMLOCK"; 99 case CHIP_FAMILY_HEMLOCK: return "HEMLOCK";
100 case CHIP_FAMILY_PALM: return "PALM"; 100 case CHIP_FAMILY_PALM: return "PALM";
101 case CHIP_FAMILY_SUMO: return "SUMO";
102 case CHIP_FAMILY_SUMO2: return "SUMO2";
101 case CHIP_FAMILY_BARTS: return "BARTS"; 103 case CHIP_FAMILY_BARTS: return "BARTS";
102 case CHIP_FAMILY_TURKS: return "TURKS"; 104 case CHIP_FAMILY_TURKS: return "TURKS";
103 case CHIP_FAMILY_CAICOS: return "CAICOS"; 105 case CHIP_FAMILY_CAICOS: return "CAICOS";
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index 6449229e088..6cf843406f9 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -1168,6 +1168,25 @@ static int radeon_set_screen_flags(radeonScreenPtr screen, int device_id)
1168 screen->chip_flags = RADEON_CHIPSET_TCL; 1168 screen->chip_flags = RADEON_CHIPSET_TCL;
1169 break; 1169 break;
1170 1170
1171 case PCI_CHIP_SUMO_9640:
1172 case PCI_CHIP_SUMO_9641:
1173 case PCI_CHIP_SUMO_9647:
1174 case PCI_CHIP_SUMO_9648:
1175 case PCI_CHIP_SUMO_964A:
1176 case PCI_CHIP_SUMO_964E:
1177 case PCI_CHIP_SUMO_964F:
1178 screen->chip_family = CHIP_FAMILY_SUMO;
1179 screen->chip_flags = RADEON_CHIPSET_TCL;
1180 break;
1181
1182 case PCI_CHIP_SUMO2_9642:
1183 case PCI_CHIP_SUMO2_9643:
1184 case PCI_CHIP_SUMO2_9644:
1185 case PCI_CHIP_SUMO2_9645:
1186 screen->chip_family = CHIP_FAMILY_SUMO2;
1187 screen->chip_flags = RADEON_CHIPSET_TCL;
1188 break;
1189
1171 case PCI_CHIP_BARTS_6720: 1190 case PCI_CHIP_BARTS_6720:
1172 case PCI_CHIP_BARTS_6721: 1191 case PCI_CHIP_BARTS_6721:
1173 case PCI_CHIP_BARTS_6722: 1192 case PCI_CHIP_BARTS_6722: