radv: Add Vega M support.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
Bas Nieuwenhuizen
2018-04-19 06:35:08 +02:00
parent d1ce31d36c
commit dffdef6737
4 changed files with 11 additions and 2 deletions

View File

@@ -101,6 +101,7 @@ radv_get_device_name(enum radeon_family family, char *name, size_t name_len)
case CHIP_POLARIS11: chip_string = "AMD RADV POLARIS11"; break; case CHIP_POLARIS11: chip_string = "AMD RADV POLARIS11"; break;
case CHIP_POLARIS12: chip_string = "AMD RADV POLARIS12"; break; case CHIP_POLARIS12: chip_string = "AMD RADV POLARIS12"; break;
case CHIP_STONEY: chip_string = "AMD RADV STONEY"; break; case CHIP_STONEY: chip_string = "AMD RADV STONEY"; break;
case CHIP_VEGAM: chip_string = "AMD RADV VEGA M"; break;
case CHIP_VEGA10: chip_string = "AMD RADV VEGA10"; break; case CHIP_VEGA10: chip_string = "AMD RADV VEGA10"; break;
case CHIP_VEGA12: chip_string = "AMD RADV VEGA12"; break; case CHIP_VEGA12: chip_string = "AMD RADV VEGA12"; break;
case CHIP_RAVEN: chip_string = "AMD RADV RAVEN"; break; case CHIP_RAVEN: chip_string = "AMD RADV RAVEN"; break;
@@ -1017,7 +1018,8 @@ void radv_GetPhysicalDeviceProperties2(
pdevice->rad_info.family == CHIP_ICELAND || pdevice->rad_info.family == CHIP_ICELAND ||
pdevice->rad_info.family == CHIP_POLARIS10 || pdevice->rad_info.family == CHIP_POLARIS10 ||
pdevice->rad_info.family == CHIP_POLARIS11 || pdevice->rad_info.family == CHIP_POLARIS11 ||
pdevice->rad_info.family == CHIP_POLARIS12 ? 8 : 10; pdevice->rad_info.family == CHIP_POLARIS12 ||
pdevice->rad_info.family == CHIP_VEGAM ? 8 : 10;
properties->wavefrontSize = 64; properties->wavefrontSize = 64;
/* SGPR. */ /* SGPR. */
@@ -1358,6 +1360,7 @@ radv_device_init_gs_info(struct radv_device *device)
case CHIP_POLARIS10: case CHIP_POLARIS10:
case CHIP_POLARIS11: case CHIP_POLARIS11:
case CHIP_POLARIS12: case CHIP_POLARIS12:
case CHIP_VEGAM:
case CHIP_VEGA10: case CHIP_VEGA10:
case CHIP_VEGA12: case CHIP_VEGA12:
case CHIP_RAVEN: case CHIP_RAVEN:

View File

@@ -3255,7 +3255,8 @@ radv_compute_ia_multi_vgt_param_helpers(struct radv_pipeline *pipeline,
device->physical_device->rad_info.family == CHIP_FIJI || device->physical_device->rad_info.family == CHIP_FIJI ||
device->physical_device->rad_info.family == CHIP_POLARIS10 || device->physical_device->rad_info.family == CHIP_POLARIS10 ||
device->physical_device->rad_info.family == CHIP_POLARIS11 || device->physical_device->rad_info.family == CHIP_POLARIS11 ||
device->physical_device->rad_info.family == CHIP_POLARIS12) device->physical_device->rad_info.family == CHIP_POLARIS12 ||
device->physical_device->rad_info.family == CHIP_VEGAM)
ia_multi_vgt_param.partial_vs_wave = true; ia_multi_vgt_param.partial_vs_wave = true;
} else { } else {
ia_multi_vgt_param.partial_vs_wave = true; ia_multi_vgt_param.partial_vs_wave = true;

View File

@@ -620,6 +620,7 @@ generate_shader_stats(struct radv_device *device,
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

@@ -279,6 +279,10 @@ si_set_raster_config(struct radv_physical_device *physical_device,
raster_config = 0x16000012; raster_config = 0x16000012;
raster_config_1 = 0x00000000; raster_config_1 = 0x00000000;
break; break;
case CHIP_VEGAM:
raster_config = 0x3a00161a;
raster_config_1 = 0x0000002e;
break;
case CHIP_TONGA: case CHIP_TONGA:
raster_config = 0x16000012; raster_config = 0x16000012;
raster_config_1 = 0x0000002a; raster_config_1 = 0x0000002a;