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 <marek.ol...@amd.com> (v3) Reviewed-by: Christian König <christian.koe...@amd.com> (v3) Reviewed-by: David Zhang <david1.zh...@amd.com> (v3) Signed-off-by: Alex Deucher <alexander.deuc...@amd.com> --- src/gallium/drivers/radeon/r600_pipe_common.c | 2 ++ src/gallium/drivers/radeon/radeon_winsys.h | 1 + src/gallium/drivers/radeonsi/si_state.c | 5 +++++ src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 4 ++++ 4 files changed, 12 insertions(+) diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index 57a752f..f657adb 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -405,6 +405,7 @@ static const char* r600_get_name(struct pipe_screen* pscreen) 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"; } } @@ -525,6 +526,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 b1e91eb..513c2f9 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 daa3131..d16f402 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -3149,6 +3149,11 @@ 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 e3b7577..7e003e4 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c @@ -228,6 +228,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; -- 1.8.3.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev