ac: Add has_taskmesh_indirect0_bug field to ac_gpu_info struct.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20097>
This commit is contained in:
Timur Kristóf 2022-12-01 13:24:09 +01:00
parent d368914a38
commit 50330aaccb
2 changed files with 8 additions and 0 deletions

View file

@ -1133,6 +1133,12 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info)
(info->gfx_level == GFX9 &&
info->me_fw_feature >= 52);
/* Firmware bug with DISPATCH_TASKMESH_INDIRECT_MULTI_ACE packets.
* On old MEC FW versions, it hangs the GPU when indirect count is zero.
*/
info->has_taskmesh_indirect0_bug = info->gfx_level == GFX10_3 &&
info->mec_fw_version < 100;
info->has_export_conflict_bug = info->gfx_level == GFX11;
/* Get the number of good compute units. */
@ -1483,6 +1489,7 @@ void ac_print_gpu_info(struct radeon_info *info, FILE *f)
fprintf(f, " has_sqtt_auto_flush_mode_bug = %i\n", info->has_sqtt_auto_flush_mode_bug);
fprintf(f, " never_send_perfcounter_stop = %i\n", info->never_send_perfcounter_stop);
fprintf(f, " discardable_allows_big_page = %i\n", info->discardable_allows_big_page);
fprintf(f, " has_taskmesh_indirect0_bug = %i\n", info->has_taskmesh_indirect0_bug);
fprintf(f, "Display features:\n");
fprintf(f, " use_display_dcc_unaligned = %u\n", info->use_display_dcc_unaligned);

View file

@ -118,6 +118,7 @@ struct radeon_info {
bool discardable_allows_big_page;
bool has_export_conflict_bug;
bool has_vrs_ds_export_bug;
bool has_taskmesh_indirect0_bug;
/* Display features. */
/* There are 2 display DCC codepaths, because display expects unaligned DCC. */