ac/gpu_info: add pc_lines and use it in radeonsi

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
This commit is contained in:
Marek Olšák 2019-12-24 13:46:23 -05:00
parent d1c8aeb24f
commit d7b565365e
3 changed files with 5 additions and 1 deletions

View file

@ -639,6 +639,8 @@ bool ac_query_gpu_info(int fd, void *dev_p,
assert(0);
}
info->pc_lines = pc_lines;
if (info->chip_class >= GFX10) {
info->pbb_max_alloc_count = pc_lines / 3;
} else {
@ -758,6 +760,7 @@ void ac_print_gpu_info(struct radeon_info *info)
printf(" num_tcc_blocks = %i\n", info->num_tcc_blocks);
printf(" tcc_cache_line_size = %u\n", info->tcc_cache_line_size);
printf(" tcc_harvested = %u\n", info->tcc_harvested);
printf(" pc_lines = %u\n", info->pc_lines);
printf("CP info:\n");
printf(" gfx_ib_pad_with_type2 = %i\n", info->gfx_ib_pad_with_type2);

View file

@ -96,6 +96,7 @@ struct radeon_info {
uint32_t num_tcc_blocks;
uint32_t tcc_cache_line_size;
bool tcc_harvested;
unsigned pc_lines;
/* CP info. */
bool gfx_ib_pad_with_type2;

View file

@ -5668,7 +5668,7 @@ static void si_init_config(struct si_context *sctx)
/* TODO: For culling, replace 128 with 256. */
si_pm4_set_reg(pm4, R_030980_GE_PC_ALLOC,
S_030980_OVERSUB_EN(1) |
S_030980_NUM_PC_LINES(128 * sscreen->info.max_se - 1));
S_030980_NUM_PC_LINES(sscreen->info.pc_lines / 4 - 1));
}
if (sctx->chip_class >= GFX8) {