ac/gpu_info: Check whether the device has the POPS missed overlap bug
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Signed-off-by: Vitaliy Triang3l Kuzmin <triang3l@yandex.ru> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22250>
This commit is contained in:
committed by
Marge Bot
parent
3831860b20
commit
647952c8e3
@@ -1151,6 +1151,11 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info)
|
||||
|
||||
info->has_ls_vgpr_init_bug = info->family == CHIP_VEGA10 || info->family == CHIP_RAVEN;
|
||||
|
||||
/* DB_DFSM_CONTROL.POPS_DRAIN_PS_ON_OVERLAP must be enabled for 8 or more coverage or
|
||||
* depth/stencil samples with POPS (PAL waMiscPopsMissedOverlap).
|
||||
*/
|
||||
info->has_pops_missed_overlap_bug = info->family == CHIP_VEGA10 || info->family == CHIP_RAVEN;
|
||||
|
||||
/* Drawing from 0-sized index buffers causes hangs on gfx10. */
|
||||
info->has_zero_index_buffer_bug = info->gfx_level == GFX10;
|
||||
|
||||
@@ -1665,6 +1670,7 @@ void ac_print_gpu_info(const struct radeon_info *info, FILE *f)
|
||||
fprintf(f, " has_tc_compat_zrange_bug = %i\n", info->has_tc_compat_zrange_bug);
|
||||
fprintf(f, " has_small_prim_filter_sample_loc_bug = %i\n", info->has_small_prim_filter_sample_loc_bug);
|
||||
fprintf(f, " has_ls_vgpr_init_bug = %i\n", info->has_ls_vgpr_init_bug);
|
||||
fprintf(f, " has_pops_missed_overlap_bug = %i\n", info->has_pops_missed_overlap_bug);
|
||||
fprintf(f, " has_32bit_predication = %i\n", info->has_32bit_predication);
|
||||
fprintf(f, " has_3d_cube_border_color_mipmap = %i\n", info->has_3d_cube_border_color_mipmap);
|
||||
fprintf(f, " has_image_opcodes = %i\n", info->has_image_opcodes);
|
||||
|
||||
@@ -91,6 +91,7 @@ struct radeon_info {
|
||||
bool has_tc_compat_zrange_bug;
|
||||
bool has_small_prim_filter_sample_loc_bug;
|
||||
bool has_ls_vgpr_init_bug;
|
||||
bool has_pops_missed_overlap_bug;
|
||||
bool has_zero_index_buffer_bug;
|
||||
bool has_image_load_dcc_bug;
|
||||
bool has_two_planes_iterate256_bug;
|
||||
|
||||
Reference in New Issue
Block a user