diff options
author | Marek Olšák <[email protected]> | 2016-10-15 13:57:59 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-03-30 14:44:33 +0200 |
commit | 68d6d097f15dbe17c1d0c8cb57157d9fd0005bdc (patch) | |
tree | ece1db330f02f6ca1a1cbb6b82006c3ca2063656 /src | |
parent | 5691e14735eda27afe1f2ede369b80127b90f6a1 (diff) |
radeonsi/gfx9: add GFX9 and VEGA10 enums
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/amd/common/amd_family.h | 8 | ||||
-rw-r--r-- | src/gallium/drivers/radeon/r600_pipe_common.c | 1 | ||||
-rw-r--r-- | src/gallium/drivers/radeonsi/si_pipe.c | 4 | ||||
-rw-r--r-- | src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 7 |
4 files changed, 15 insertions, 5 deletions
diff --git a/src/amd/common/amd_family.h b/src/amd/common/amd_family.h index b09bbb89a3f..8a6dad6f9a1 100644 --- a/src/amd/common/amd_family.h +++ b/src/amd/common/amd_family.h @@ -92,6 +92,7 @@ enum radeon_family { CHIP_POLARIS10, CHIP_POLARIS11, CHIP_POLARIS12, + CHIP_VEGA10, CHIP_LAST, }; @@ -104,9 +105,10 @@ enum chip_class { R700, EVERGREEN, CAYMAN, - SI, - CIK, - VI, + SI, /* GFX6 */ + CIK, /* GFX7 */ + VI, /* GFX8 */ + GFX9, }; #endif diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index b3b925e09c6..7ec57031412 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -779,6 +779,7 @@ static const char* r600_get_chip_name(struct r600_common_screen *rscreen) case CHIP_POLARIS11: return "AMD POLARIS11"; case CHIP_POLARIS12: return "AMD POLARIS12"; case CHIP_STONEY: return "AMD STONEY"; + case CHIP_VEGA10: return "AMD VEGA10"; default: return "AMD unknown"; } } diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 277fa286416..c66203e0add 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -751,7 +751,9 @@ static void si_handle_env_var_force_family(struct si_screen *sscreen) /* Override family and chip_class. */ sscreen->b.family = sscreen->b.info.family = i; - if (i >= CHIP_TONGA) + if (i >= CHIP_VEGA10) + sscreen->b.chip_class = sscreen->b.info.chip_class = GFX9; + else if (i >= CHIP_TONGA) sscreen->b.chip_class = sscreen->b.info.chip_class = VI; else if (i >= CHIP_BONAIRE) sscreen->b.chip_class = sscreen->b.info.chip_class = CIK; diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c index 37e01403113..25f08ef0acd 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c @@ -219,7 +219,9 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, int fd) goto fail; } - if (ws->info.family >= CHIP_TONGA) + if (ws->info.family >= CHIP_VEGA10) + ws->info.chip_class = GFX9; + else if (ws->info.family >= CHIP_TONGA) ws->info.chip_class = VI; else if (ws->info.family >= CHIP_BONAIRE) ws->info.chip_class = CIK; @@ -303,6 +305,9 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, int fd) case CHIP_POLARIS12: ws->family = FAMILY_VI; ws->rev_id = VI_POLARIS12_V_A0; + case CHIP_VEGA10: + ws->family = FAMILY_AI; + ws->rev_id = AI_VEGA10_P_A0; break; default: fprintf(stderr, "amdgpu: Unknown family.\n"); |