freedreno/a6xx: The Walking Dead (and probably other telltale games) LRZ fix
Fixes incorrect rendering in "The Walking Dead: Season 1" by invalidating LRZ on draws that write depth with blend enabled.
Writing depth with blend enabled means we need to invalidate LRZ, because the written depth value could mean that a later draw with blend enabled (where we would otherwise write LRZ) could have fragments which don't pass the depth test due to this draw. For example, consider this sequence of draws, with depth mode GREATER:
draw A:
z=0.1, fragments pass
draw B:
z=0.4, fragments pass
blend enabled (LRZ write disabled)
depth write enabled
draw C:
z=0.2, fragments don't pass
blend disabled
depth write enabled
Normally looking at the state in draw C, we'd assume we could enable LRZ write. But this would cause early-z/lrz to discard fragments from draw A which should be visible due to draw B.
Note that there are a couple games in my collection of traces, which render correctly, that are hurt by a few percent. I may follow-up with a driconf allowlist to enable the previous behavior of disabling LRZ write but not invalidating LRZ, since the problematic pattern of draws seems pretty rare.