Did not see my email in the mailing list archive. I secure the report here:
After refurbishing my custom gnu/linux distro, dota2 vulkan was broken: could
not enter any game without segfaulting. (amd tahiti xt)
The segfault commit is:
I did revert this commit on top of 63572091b52ace35b60c46d092183bf818733ee0,
dota2 vulkan has been ok so far.
Yeah, I noticed this too.
should fix this.
On Sun, Apr 22, 2018 at 05:28:45PM +0000, firstname.lastname@example.org wrote:
> --- Comment #1 from Bas Nieuwenhuizen <email@example.com> ---
> Yeah, I noticed this too.
> should fix this.
Since I'm not into nir, I just reverted the patch.
Your patch seems to do what the commit intended to do in the first place, though.
author Bas Nieuwenhuizen <firstname.lastname@example.org>
nir: Do not use progress for unreachable code in return lowering.
We seem to use progress for two cases:
1) When we lowered some returns.
2) When we remove unreachable code.
If just case 2 happens we assert as state->return_flag has not
been allocated yet, but we are still trying to do insert all
predicates based on it.
This splits the concerns. We only use progress internally for case 1
and then keep track of 2 in a separate variable to indicate progress
in the return value of the pass.
This is slightly better than transforming the assert into
if (!state->return_flag) return, as the solution in this patch avoids
inserting predicates even if some other part of the might need them.
Fixes: 6e22ad6edc "nir: return early when lowering a return at the end of a function"
CC: 18.1 <email@example.com>
Reviewed-by: Timothy Arceri <firstname.lastname@example.org>