radeonsi: add support for VegaM

Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Marek Olšák
2017-02-27 23:28:07 +01:00
parent d6a66bc8db
commit c6f1d36019
9 changed files with 19 additions and 2 deletions

View File

@@ -216,6 +216,9 @@ CHIPSET(0x6995, POLARIS12)
CHIPSET(0x6997, POLARIS12) CHIPSET(0x6997, POLARIS12)
CHIPSET(0x699F, POLARIS12) CHIPSET(0x699F, POLARIS12)
CHIPSET(0x694C, VEGAM)
CHIPSET(0x694E, VEGAM)
CHIPSET(0x6860, VEGA10) CHIPSET(0x6860, VEGA10)
CHIPSET(0x6861, VEGA10) CHIPSET(0x6861, VEGA10)
CHIPSET(0x6862, VEGA10) CHIPSET(0x6862, VEGA10)

View File

@@ -112,6 +112,7 @@ const char *ac_get_llvm_processor_name(enum radeon_family family)
return "polaris10"; return "polaris10";
case CHIP_POLARIS11: case CHIP_POLARIS11:
case CHIP_POLARIS12: case CHIP_POLARIS12:
case CHIP_VEGAM:
return "polaris11"; return "polaris11";
case CHIP_VEGA10: case CHIP_VEGA10:
case CHIP_VEGA12: case CHIP_VEGA12:

View File

@@ -131,6 +131,10 @@ static void addrlib_family_rev_id(enum radeon_family family,
*addrlib_family = FAMILY_VI; *addrlib_family = FAMILY_VI;
*addrlib_revid = get_first(AMDGPU_POLARIS12_RANGE); *addrlib_revid = get_first(AMDGPU_POLARIS12_RANGE);
break; break;
case CHIP_VEGAM:
*addrlib_family = FAMILY_VI;
*addrlib_revid = get_first(AMDGPU_VEGAM_RANGE);
break;
case CHIP_VEGA10: case CHIP_VEGA10:
*addrlib_family = FAMILY_AI; *addrlib_family = FAMILY_AI;
*addrlib_revid = get_first(AMDGPU_VEGA10_RANGE); *addrlib_revid = get_first(AMDGPU_VEGA10_RANGE);

View File

@@ -92,6 +92,7 @@ enum radeon_family {
CHIP_POLARIS10, CHIP_POLARIS10,
CHIP_POLARIS11, CHIP_POLARIS11,
CHIP_POLARIS12, CHIP_POLARIS12,
CHIP_VEGAM,
CHIP_VEGA10, CHIP_VEGA10,
CHIP_VEGA12, CHIP_VEGA12,
CHIP_RAVEN, CHIP_RAVEN,

View File

@@ -71,10 +71,11 @@ const char *si_get_family_name(const struct si_screen *sscreen)
case CHIP_ICELAND: return "AMD ICELAND"; case CHIP_ICELAND: return "AMD ICELAND";
case CHIP_CARRIZO: return "AMD CARRIZO"; case CHIP_CARRIZO: return "AMD CARRIZO";
case CHIP_FIJI: return "AMD FIJI"; case CHIP_FIJI: return "AMD FIJI";
case CHIP_STONEY: return "AMD STONEY";
case CHIP_POLARIS10: return "AMD POLARIS10"; case CHIP_POLARIS10: return "AMD POLARIS10";
case CHIP_POLARIS11: return "AMD POLARIS11"; case CHIP_POLARIS11: return "AMD POLARIS11";
case CHIP_POLARIS12: return "AMD POLARIS12"; case CHIP_POLARIS12: return "AMD POLARIS12";
case CHIP_STONEY: return "AMD STONEY"; case CHIP_VEGAM: return "AMD VEGAM";
case CHIP_VEGA10: return "AMD VEGA10"; case CHIP_VEGA10: return "AMD VEGA10";
case CHIP_VEGA12: return "AMD VEGA12"; case CHIP_VEGA12: return "AMD VEGA12";
case CHIP_RAVEN: return "AMD RAVEN"; case CHIP_RAVEN: return "AMD RAVEN";

View File

@@ -686,6 +686,7 @@ static bool si_init_gs_info(struct si_screen *sscreen)
case CHIP_POLARIS10: case CHIP_POLARIS10:
case CHIP_POLARIS11: case CHIP_POLARIS11:
case CHIP_POLARIS12: case CHIP_POLARIS12:
case CHIP_VEGAM:
sscreen->gs_table_depth = 32; sscreen->gs_table_depth = 32;
return true; return true;
default: default:

View File

@@ -5463,6 +5463,7 @@ static void si_calculate_max_simd_waves(struct si_shader *shader)
case CHIP_POLARIS10: case CHIP_POLARIS10:
case CHIP_POLARIS11: case CHIP_POLARIS11:
case CHIP_POLARIS12: case CHIP_POLARIS12:
case CHIP_VEGAM:
max_simd_waves = 8; max_simd_waves = 8;
break; break;
default: default:

View File

@@ -4783,6 +4783,10 @@ static void si_set_raster_config(struct si_context *sctx, struct si_pm4_state *p
raster_config_1 = 0x0000002e; raster_config_1 = 0x0000002e;
} }
break; break;
case CHIP_VEGAM:
raster_config = 0x3a00161a;
raster_config_1 = 0x0000002e;
break;
case CHIP_POLARIS10: case CHIP_POLARIS10:
raster_config = 0x16000012; raster_config = 0x16000012;
raster_config_1 = 0x0000002a; raster_config_1 = 0x0000002a;

View File

@@ -362,7 +362,8 @@ si_get_init_multi_vgt_param(struct si_screen *sscreen,
sscreen->info.family == CHIP_FIJI || sscreen->info.family == CHIP_FIJI ||
sscreen->info.family == CHIP_POLARIS10 || sscreen->info.family == CHIP_POLARIS10 ||
sscreen->info.family == CHIP_POLARIS11 || sscreen->info.family == CHIP_POLARIS11 ||
sscreen->info.family == CHIP_POLARIS12) sscreen->info.family == CHIP_POLARIS12 ||
sscreen->info.family == CHIP_VEGAM)
partial_vs_wave = true; partial_vs_wave = true;
} else { } else {
partial_vs_wave = true; partial_vs_wave = true;