[Mesa-dev] [PATCH] radeonsi: fix crashing performance counters (division by zero)
Marek Olšák
maraeo at gmail.com
Sat Jan 26 01:40:28 UTC 2019
From: Marek Olšák <marek.olsak at amd.com>
Fixes: e2b9329f17 "radeonsi: move remaining perfcounter code into si_perfcounter.c"
---
src/gallium/drivers/radeonsi/si_perfcounter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_perfcounter.c b/src/gallium/drivers/radeonsi/si_perfcounter.c
index 2da14f8868f..d55394f2cba 100644
--- a/src/gallium/drivers/radeonsi/si_perfcounter.c
+++ b/src/gallium/drivers/radeonsi/si_perfcounter.c
@@ -1326,21 +1326,21 @@ void si_init_perfcounters(struct si_screen *screen)
pc->separate_instance = debug_get_bool_option("RADEON_PC_SEPARATE_INSTANCE", false);
pc->blocks = CALLOC(num_blocks, sizeof(struct si_pc_block));
if (!pc->blocks)
goto error;
pc->num_blocks = num_blocks;
for (i = 0; i < num_blocks; ++i) {
struct si_pc_block *block = &pc->blocks[i];
block->b = &blocks[i];
- block->num_instances = block->b->instances;
+ block->num_instances = MAX2(1, block->b->instances);
if (!strcmp(block->b->b->name, "CB") ||
!strcmp(block->b->b->name, "DB"))
block->num_instances = screen->info.max_se;
else if (!strcmp(block->b->b->name, "TCC"))
block->num_instances = screen->info.num_tcc_blocks;
else if (!strcmp(block->b->b->name, "IA"))
block->num_instances = MAX2(1, screen->info.max_se / 2);
if (si_pc_block_has_per_instance_groups(pc, block)) {
--
2.17.1
More information about the mesa-dev
mailing list