turnip: Skip rather than invalidate LRZ on gl_FragDepth writes.
authorEmma Anholt <emma@anholt.net>
Tue, 13 Sep 2022 23:16:30 +0000 (16:16 -0700)
committerMarge Bot <emma+marge@anholt.net>
Thu, 15 Sep 2022 21:45:05 +0000 (21:45 +0000)
commit7b2bdb31f2a62982d3b05b04231f17f321311628
tree18afbc2ed3b9c3b76cc43f8681443e1f8577f28c
parent62d81245225f75996582c8e4edab9a1863cec256
turnip: Skip rather than invalidate LRZ on gl_FragDepth writes.

As long as the direction is still compatible, if we skip the LRZ use and
updates for this draw, then we can keep using LRZ later in the scene, as
whatever gl_FragDepth will get written by the shader later will still have
to move the depth in the right direction.

Similarly, the no_earlyz flag that contributes to DISABLE_LRZ just wants
to make sure we don't kill fragments before dispatch, not change what Z
eventually lands.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18606>
src/freedreno/vulkan/tu_lrz.c