diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2011-04-04 12:29:50 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2011-05-31 18:10:01 -0400 |
commit | c5903ed4541ec4f9389e33ba27c9527afa87ec44 (patch) | |
tree | 692e944272e016de8a0d5b3bcb48d8671e1757a0 | |
parent | 414cd5df50435f475d92b02c229453d037369c0f (diff) |
r600c: add support for llano
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
-rw-r--r-- | src/mesa/drivers/dri/r600/evergreen_blit.c | 44 | ||||
-rw-r--r-- | src/mesa/drivers/dri/r600/evergreen_chip.c | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/r600/evergreen_state.c | 16 | ||||
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_chipset.h | 14 | ||||
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_common_context.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_screen.c | 19 |
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: |