panfrost: Control tiler memory usage

Ensure we don't hit OOM when rendering at 8192x8192 on Valhall by disabling
the smallest bin size of the hierarchy mask.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795>
This commit is contained in:
Alyssa Rosenzweig
2022-03-31 10:39:51 -04:00
committed by Marge Bot
parent 586c3b9e35
commit d11351c616

View File

@@ -867,6 +867,15 @@ GENX(pan_emit_tiler_ctx)(const struct panfrost_device *dev,
pan_pack(out, TILER_CONTEXT, tiler) {
/* TODO: Select hierarchy mask more effectively */
tiler.hierarchy_mask = (max_levels >= 8) ? 0xFF : 0x28;
/* For large framebuffers, disable the smallest bin size to
* avoid pathological tiler memory usage. Required to avoid OOM
* on dEQP-GLES31.functional.fbo.no_attachments.maximums.all on
* Mali-G57.
*/
if (MAX2(fb_width, fb_height) >= 4096)
tiler.hierarchy_mask &= ~1;
tiler.fb_width = fb_width;
tiler.fb_height = fb_height;
tiler.heap = heap;