From 962fda5b90cac76098c43bda1ab9d3e218924c95 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 30 Aug 2017 15:12:03 +0200 Subject: [PATCH] radv: compute correct maximum wave count per SIMD Ported from RadeonSI (original patch by Marek). Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_pipeline.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 637fed6..e3a8dff 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; -- 2.7.4