Skip to content
Snippets Groups Projects
Commit 0624346a authored by Icecream95's avatar Icecream95 Committed by Marge Bot
Browse files

panfrost: Only allow colour blit shaders to be killed

Fixes timeouts in SuperTuxKart with the advanced rendering pipeline.

Fixes: d0344619 ("panfrost: Set allow_forward_pixel_to_be_killed for blit")
Part-of: <mesa/mesa!12267>
parent 76377de9
No related branches found
No related tags found
No related merge requests found
......@@ -168,10 +168,13 @@ pan_blitter_prepare_bifrost_rsd(const struct panfrost_device *dev,
/* We can only allow blit shader fragments to kill if they write all
* colour outputs. This is true for our colour (non-Z/S) blit shaders,
* but obviously not true for Z/S shaders. However, blit shaders
* otherwise lack side effects, so other fragments may kill them. */
* otherwise lack side effects, so other fragments may kill them.
* However, while shaders writing Z/S can normally be killed, on v6
* for frame shaders it can cause GPU timeouts, so only allow colour
* blit shaders to be killed. */
rsd->properties.bifrost.allow_forward_pixel_to_kill = !zs;
rsd->properties.bifrost.allow_forward_pixel_to_be_killed = true;
rsd->properties.bifrost.allow_forward_pixel_to_be_killed = (dev->arch >= 7) || !zs;
rsd->preload.fragment.coverage = true;
rsd->preload.fragment.sample_mask_id = ms;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment