diff options
author | Alex Deucher <[email protected]> | 2013-06-07 14:00:11 -0400 |
---|---|---|
committer | Alex Deucher <[email protected]> | 2013-06-28 15:15:28 -0400 |
commit | f29f206c93743d421c428383afaa2944f680d9c5 (patch) | |
tree | 42fad739c58c9e7089efbf683a78e55c2b7a92a0 /src/gallium/drivers/radeonsi/radeonsi_pipe.c | |
parent | 5b3f1ea933a7ab6aa09ecdd1529b2baac558804e (diff) |
radeonsi: initial support for CIK chips
Add the infrastructure to differentiate them.
Just treat them like SI for now.
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/radeonsi_pipe.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/radeonsi_pipe.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_pipe.c b/src/gallium/drivers/radeonsi/radeonsi_pipe.c index 775fa97306d..9aa88635290 100644 --- a/src/gallium/drivers/radeonsi/radeonsi_pipe.c +++ b/src/gallium/drivers/radeonsi/radeonsi_pipe.c @@ -239,6 +239,13 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void rctx->max_db = 8; si_init_config(rctx); break; + case CIK: + si_init_state_functions(rctx); + LIST_INITHEAD(&rctx->active_query_list); + rctx->cs = rctx->ws->cs_create(rctx->ws, RING_GFX, NULL); + rctx->max_db = 8; + si_init_config(rctx); + break; default: R600_ERR("Unsupported chip class %d.\n", rctx->chip_class); r600_destroy_context(&rctx->context); @@ -304,6 +311,9 @@ static const char *r600_get_family_name(enum radeon_family family) case CHIP_VERDE: return "AMD CAPE VERDE"; case CHIP_OLAND: return "AMD OLAND"; case CHIP_HAINAN: return "AMD HAINAN"; + case CHIP_BONAIRE: return "AMD BONAIRE"; + case CHIP_KAVERI: return "AMD KAVERI"; + case CHIP_KABINI: return "AMD KABINI"; default: return "AMD unknown"; } } @@ -794,7 +804,9 @@ struct pipe_screen *radeonsi_screen_create(struct radeon_winsys *ws) } /* setup class */ - if (rscreen->family >= CHIP_TAHITI) { + if (rscreen->family >= CHIP_BONAIRE) { + rscreen->chip_class = CIK; + } else if (rscreen->family >= CHIP_TAHITI) { rscreen->chip_class = SI; } else { fprintf(stderr, "r600: Unsupported family %d\n", rscreen->family); |