radv: fix performance regression by restoring TC-compat HTILE in GENERAL

This fixes a performance regression for games (eg. Youngblood) that
declare all images as concurrent. This is likely buggy for compute
queues but this just restores the previous behaviour for now.

Fixes: f4f096805b ("radv: fix TC-compat HTILE images with DST_OPTIMAL on the compute queue")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8351>
This commit is contained in:
Samuel Pitoiset 2021-01-06 16:19:21 +01:00 committed by Marge Bot
parent 0ae1cf46a6
commit f40a7d3c93

View file

@ -1774,8 +1774,11 @@ bool radv_layout_is_htile_compressed(const struct radv_device *device,
* depth pass because this allows compression and this reduces
* the number of decompressions from/to GENERAL.
*/
/* FIXME: Enabling TC-compat HTILE in GENERAL on the compute
* queue is likely broken for eg. depth/stencil copies.
*/
if (radv_image_is_tc_compat_htile(image) &&
queue_mask == (1u << RADV_QUEUE_GENERAL) &&
queue_mask & (1u << RADV_QUEUE_GENERAL) &&
!in_render_loop) {
/* GFX10+ supports compressed writes to HTILE. */
return device->physical_device->rad_info.chip_class >= GFX10 ||