mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 13:30:11 +01:00
amd: move Tonga and Iceland TC-compat HTILE workarounds to ac_gpu_info.c
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31910>
This commit is contained in:
parent
047532b1e1
commit
755fb7a262
3 changed files with 11 additions and 19 deletions
|
|
@ -1240,8 +1240,14 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info,
|
|||
info->has_dcc_constant_encode =
|
||||
info->family == CHIP_RAVEN2 || info->family == CHIP_RENOIR || info->gfx_level >= GFX10;
|
||||
|
||||
/* TC-compat HTILE is only available for GFX8-GFX11.5. */
|
||||
info->has_tc_compatible_htile = info->gfx_level >= GFX8 && info->gfx_level < GFX12;
|
||||
/* TC-compat HTILE is only available on GFX8-GFX11.5.
|
||||
*
|
||||
* There are issues with TC-compatible HTILE on Tonga (and Iceland is the same design), and
|
||||
* documented bug workarounds don't help. For example, this fails:
|
||||
* piglit/bin/tex-miplevel-selection 'texture()' 2DShadow -auto
|
||||
*/
|
||||
info->has_tc_compatible_htile = info->gfx_level >= GFX8 && info->gfx_level < GFX12 &&
|
||||
info->family != CHIP_TONGA && info->family != CHIP_ICELAND;
|
||||
|
||||
info->has_etc_support = info->family == CHIP_STONEY || info->family == CHIP_VEGA10 ||
|
||||
info->family == CHIP_RAVEN || info->family == CHIP_RAVEN2;
|
||||
|
|
|
|||
|
|
@ -75,12 +75,6 @@ radv_use_tc_compat_htile_for_image(struct radv_device *device, const VkImageCrea
|
|||
if (!pdev->info.has_tc_compatible_htile)
|
||||
return false;
|
||||
|
||||
/* TC-compat HTILE looks broken on Tonga (and Iceland is the same design) and the documented bug
|
||||
* workarounds don't help.
|
||||
*/
|
||||
if (pdev->info.family == CHIP_TONGA || pdev->info.family == CHIP_ICELAND)
|
||||
return false;
|
||||
|
||||
if (pCreateInfo->tiling == VK_IMAGE_TILING_LINEAR)
|
||||
return false;
|
||||
|
||||
|
|
|
|||
|
|
@ -1394,17 +1394,9 @@ si_texture_create_with_modifier(struct pipe_screen *screen,
|
|||
*/
|
||||
bool tc_compatible_htile = is_zs && !is_flushed_depth &&
|
||||
!(sscreen->debug_flags & DBG(NO_HYPERZ)) &&
|
||||
sscreen->info.has_tc_compatible_htile;
|
||||
if (sscreen->info.gfx_level < GFX11) {
|
||||
tc_compatible_htile &=
|
||||
/* There are issues with TC-compatible HTILE on Tonga (and
|
||||
* Iceland is the same design), and documented bug workarounds
|
||||
* don't help. For example, this fails:
|
||||
* piglit/bin/tex-miplevel-selection 'texture()' 2DShadow -auto
|
||||
*/
|
||||
sscreen->info.family != CHIP_TONGA && sscreen->info.family != CHIP_ICELAND &&
|
||||
templ->flags & PIPE_RESOURCE_FLAG_TEXTURING_MORE_LIKELY;
|
||||
}
|
||||
sscreen->info.has_tc_compatible_htile &&
|
||||
(sscreen->info.gfx_level >= GFX11 ||
|
||||
templ->flags & PIPE_RESOURCE_FLAG_TEXTURING_MORE_LIKELY);
|
||||
|
||||
enum radeon_surf_mode tile_mode = si_choose_tiling(sscreen, templ, tc_compatible_htile);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue