From dffdef67370d0a445884a18c0bc7b20256085398 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Thu, 19 Apr 2018 06:35:08 +0200 Subject: [PATCH] radv: Add Vega M support. Reviewed-by: Samuel Pitoiset --- src/amd/vulkan/radv_device.c | 5 ++++- src/amd/vulkan/radv_pipeline.c | 3 ++- src/amd/vulkan/radv_shader.c | 1 + src/amd/vulkan/si_cmd_buffer.c | 4 ++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 4f384163b86..9950ed40f1b 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -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_POLARIS12: chip_string = "AMD RADV POLARIS12"; 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_VEGA12: chip_string = "AMD RADV VEGA12"; 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_POLARIS10 || 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; /* SGPR. */ @@ -1358,6 +1360,7 @@ radv_device_init_gs_info(struct radv_device *device) case CHIP_POLARIS10: case CHIP_POLARIS11: case CHIP_POLARIS12: + case CHIP_VEGAM: case CHIP_VEGA10: case CHIP_VEGA12: case CHIP_RAVEN: diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 88fccb2b2ea..20afeda4480 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -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_POLARIS10 || 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; } else { ia_multi_vgt_param.partial_vs_wave = true; diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index ac36cecb674..8e8a32f0256 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -620,6 +620,7 @@ generate_shader_stats(struct radv_device *device, case CHIP_POLARIS10: case CHIP_POLARIS11: case CHIP_POLARIS12: + case CHIP_VEGAM: max_simd_waves = 8; break; default: diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c index 15edaa4b2b5..80c819af49b 100644 --- a/src/amd/vulkan/si_cmd_buffer.c +++ b/src/amd/vulkan/si_cmd_buffer.c @@ -279,6 +279,10 @@ si_set_raster_config(struct radv_physical_device *physical_device, raster_config = 0x16000012; raster_config_1 = 0x00000000; break; + case CHIP_VEGAM: + raster_config = 0x3a00161a; + raster_config_1 = 0x0000002e; + break; case CHIP_TONGA: raster_config = 0x16000012; raster_config_1 = 0x0000002a; -- 2.30.2