r600c: add Ontario Fusion APU support

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
This commit is contained in:
Alex Deucher 2010-11-22 13:25:42 -05:00
parent 8d1ad3b21c
commit 072f2cbf29
5 changed files with 24 additions and 1 deletions

View file

@ -1461,6 +1461,14 @@ static void evergreenInitSQConfig(struct gl_context * ctx)
uMaxThreads = 248;
uMaxStackEntries = 512;
break;
case CHIP_FAMILY_PALM:
uSqNumCfInsts = 1;
bVC_ENABLE = GL_FALSE;
uMaxGPRs = 256;
uPSThreadCount = 96;
uMaxThreads = 192;
uMaxStackEntries = 256;
break;
default:
uSqNumCfInsts = 2;
bVC_ENABLE = GL_TRUE;

View file

@ -259,7 +259,7 @@ static void r600InitConstValues(struct gl_context *ctx, radeonScreenPtr screen)
R700_CHIP_CONTEXT *r700 = (R700_CHIP_CONTEXT*)(&context->hw);
if( (context->radeon.radeonScreen->chip_family >= CHIP_FAMILY_CEDAR)
&&(context->radeon.radeonScreen->chip_family <= CHIP_FAMILY_HEMLOCK) )
&&(context->radeon.radeonScreen->chip_family <= CHIP_FAMILY_PALM) )
{
r700->bShaderUseMemConstant = GL_TRUE;
}

View file

@ -440,6 +440,11 @@
#define PCI_CHIP_HEMLOCK_689C 0x689C
#define PCI_CHIP_HEMLOCK_689D 0x689D
#define PCI_CHIP_PALM_9802 0x9802
#define PCI_CHIP_PALM_9803 0x9803
#define PCI_CHIP_PALM_9804 0x9804
#define PCI_CHIP_PALM_9805 0x9805
enum {
CHIP_FAMILY_R100,
CHIP_FAMILY_RV100,
@ -483,6 +488,7 @@ enum {
CHIP_FAMILY_JUNIPER,
CHIP_FAMILY_CYPRESS,
CHIP_FAMILY_HEMLOCK,
CHIP_FAMILY_PALM,
CHIP_FAMILY_LAST
};

View file

@ -99,6 +99,7 @@ static const char* get_chip_family_name(int chip_family)
case CHIP_FAMILY_JUNIPER: return "JUNIPER";
case CHIP_FAMILY_CYPRESS: return "CYPRESS";
case CHIP_FAMILY_HEMLOCK: return "HEMLOCK";
case CHIP_FAMILY_PALM: return "PALM";
default: return "unknown";
}
}

View file

@ -1155,6 +1155,14 @@ static int radeon_set_screen_flags(radeonScreenPtr screen, int device_id)
screen->chip_flags = RADEON_CHIPSET_TCL;
break;
case PCI_CHIP_PALM_9802:
case PCI_CHIP_PALM_9803:
case PCI_CHIP_PALM_9804:
case PCI_CHIP_PALM_9805:
screen->chip_family = CHIP_FAMILY_PALM;
screen->chip_flags = RADEON_CHIPSET_TCL;
break;
default:
fprintf(stderr, "unknown chip id 0x%x, can't guess.\n",
device_id);