diff options
author | Samuel Pitoiset <[email protected]> | 2017-08-30 15:12:03 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2017-09-01 09:38:50 +0200 |
commit | 962fda5b90cac76098c43bda1ab9d3e218924c95 (patch) | |
tree | bed141c368479b849e66a2fe1e88bab5bc981262 /src/amd/vulkan/radv_pipeline.c | |
parent | 9eca7e0ddb58808af77c6f251f5d368ea328c894 (diff) |
radv: compute correct maximum wave count per SIMD
Ported from RadeonSI (original patch by Marek).
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_pipeline.c')
-rw-r--r-- | src/amd/vulkan/radv_pipeline.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 637fed625f1..e3a8dff9920 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -320,9 +320,20 @@ static void radv_dump_pipeline_stats(struct radv_device *device, struct radv_pip struct ac_shader_config *conf; int i; FILE *file = stderr; - unsigned max_simd_waves = 10; + unsigned max_simd_waves; unsigned lds_per_wave = 0; + switch (device->physical_device->rad_info.family) { + /* These always have 8 waves: */ + case CHIP_POLARIS10: + case CHIP_POLARIS11: + case CHIP_POLARIS12: + max_simd_waves = 8; + break; + default: + max_simd_waves = 10; + } + for (i = 0; i < MESA_SHADER_STAGES; i++) { if (!pipeline->shaders[i]) continue; |