[Mesa-dev] [PATCH] radv: compute correct maximum wave count per SIMD

Samuel Pitoiset samuel.pitoiset at gmail.com
Wed Aug 30 13:12:03 UTC 2017


Ported from RadeonSI (original patch by Marek).

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 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 637fed625f..e3a8dff992 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.14.1



More information about the mesa-dev mailing list