diff options
author | Alex Deucher <[email protected]> | 2015-07-29 15:40:46 -0400 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2015-08-14 15:02:29 +0200 |
commit | 767ad50a10d01274b1d1a877add12b5552ba6984 (patch) | |
tree | b8eafd5351d5f36dbb1a4d5131e9586ed3e60475 | |
parent | 528a6ff5992e6710921d6e4157a8a51884bc277f (diff) |
radeonsi: add support for FIJI (v4)
v2: incorporate comments from Marek
v3: add missing fiji case in winsys init
use tonga raster config (double check this)
v4: rebase on harvest patch
Reviewed-by: Marek Olšák <[email protected]> (v3)
Reviewed-by: Christian König <[email protected]> (v3)
Reviewed-by: David Zhang <[email protected]> (v3)
Signed-off-by: Alex Deucher <[email protected]>
-rw-r--r-- | src/gallium/drivers/radeon/r600_pipe_common.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/radeon/radeon_winsys.h | 1 | ||||
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 5 | ||||
-rw-r--r-- | src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 4 |
4 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index a08e841f11f..ed5d1dabdc3 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -411,6 +411,7 @@ static const char* r600_get_chip_name(struct r600_common_screen *rscreen) case CHIP_TONGA: return "AMD TONGA"; case CHIP_ICELAND: return "AMD ICELAND"; case CHIP_CARRIZO: return "AMD CARRIZO"; + case CHIP_FIJI: return "AMD FIJI"; default: return "AMD unknown"; } } @@ -538,6 +539,7 @@ const char *r600_get_llvm_processor_name(enum radeon_family family) case CHIP_TONGA: return "tonga"; case CHIP_ICELAND: return "iceland"; case CHIP_CARRIZO: return "carrizo"; + case CHIP_FIJI: return "fiji"; default: return ""; } } diff --git a/src/gallium/drivers/radeon/radeon_winsys.h b/src/gallium/drivers/radeon/radeon_winsys.h index 616816ebcea..d7424eef27e 100644 --- a/src/gallium/drivers/radeon/radeon_winsys.h +++ b/src/gallium/drivers/radeon/radeon_winsys.h @@ -136,6 +136,7 @@ enum radeon_family { CHIP_TONGA, CHIP_ICELAND, CHIP_CARRIZO, + CHIP_FIJI, CHIP_LAST, }; diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 34ef9e49d5c..21689e71b8b 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -3226,6 +3226,11 @@ static void si_init_config(struct si_context *sctx) raster_config = 0x3a00161a; raster_config_1 = 0x0000002e; break; + case CHIP_FIJI: + /* Fiji should be same as Hawaii, but that causes corruption in some cases */ + raster_config = 0x16000012; /* 0x3a00161a */ + raster_config_1 = 0x0000002a; /* 0x0000002e */ + break; case CHIP_TONGA: raster_config = 0x16000012; raster_config_1 = 0x0000002a; diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c index 9020b1cefc7..f57f45b618f 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c @@ -227,6 +227,10 @@ static boolean do_winsys_init(struct amdgpu_winsys *ws) ws->family = FAMILY_CZ; ws->rev_id = CZ_CARRIZO_A0; break; + case CHIP_FIJI: + ws->family = FAMILY_VI; + ws->rev_id = VI_FIJI_P_A0; + break; default: fprintf(stderr, "amdgpu: Unknown family.\n"); goto fail; |