summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2017-08-30 15:12:03 +0200
committerSamuel Pitoiset <[email protected]>2017-09-01 09:38:50 +0200
commit962fda5b90cac76098c43bda1ab9d3e218924c95 (patch)
treebed141c368479b849e66a2fe1e88bab5bc981262
parent9eca7e0ddb58808af77c6f251f5d368ea328c894 (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]>
-rw-r--r--src/amd/vulkan/radv_pipeline.c13
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;