ac/gpu_info: Add can_chain_ib2 field to ac_gpu_info

GFX6 supports IB2, but not chaining inside IB2.
It only supports chaining in IB1.
See waCpIb2ChainingUnsupported in PAL.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37280>
This commit is contained in:
Timur Kristóf 2025-10-03 10:27:41 +02:00 committed by Marge Bot
parent 2091db2461
commit 92ba76710d
2 changed files with 6 additions and 0 deletions

View file

@ -1179,6 +1179,10 @@ ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info,
info->gart_page_size = device_info.gart_page_size;
info->gfx_ib_pad_with_type2 = info->gfx_level == GFX6;
/* GFX6 supports IB2, but not chaining inside IB2. See waCpIb2ChainingUnsupported in PAL */
info->can_chain_ib2 = info->gfx_level >= GFX7;
/* CDNA starting with GFX940 shouldn't use CP DMA. */
info->has_cp_dma = info->has_graphics || info->family < CHIP_GFX940;
@ -1790,6 +1794,7 @@ void ac_print_gpu_info(const struct radeon_info *info, FILE *f)
fprintf(f, "CP info:\n");
fprintf(f, " gfx_ib_pad_with_type2 = %i\n", info->gfx_ib_pad_with_type2);
fprintf(f, " can_chain_ib2 = %i\n", info->can_chain_ib2);
fprintf(f, " has_cp_dma = %i\n", info->has_cp_dma);
fprintf(f, " me_fw_version = %i\n", info->me_fw_version);
fprintf(f, " me_fw_feature = %i\n", info->me_fw_feature);

View file

@ -197,6 +197,7 @@ struct radeon_info {
/* CP info. */
bool gfx_ib_pad_with_type2;
bool can_chain_ib2;
bool has_cp_dma;
uint32_t me_fw_version;
uint32_t me_fw_feature;