Mesa (main): llvmpipe: never infer early zs tests when fbfetch is active

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri May 6 17:42:44 UTC 2022


Module: Mesa
Branch: main
Commit: ef8c5a20ee3712aaf214b85fbfc94fd31fb11bc5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef8c5a20ee3712aaf214b85fbfc94fd31fb11bc5

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu May  5 09:55:28 2022 -0400

llvmpipe: never infer early zs tests when fbfetch is active

this breaks zs fbfetch

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16346>

---

 src/gallium/drivers/llvmpipe/lp_state_fs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c
index bc4778e2764..d2d59bc9553 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_fs.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c
@@ -619,7 +619,8 @@ generate_fs_loop(struct gallivm_state *gallivm,
 
       if (shader->info.base.properties[TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL])
          depth_mode = EARLY_DEPTH_TEST | EARLY_DEPTH_WRITE;
-      else if (!shader->info.base.writes_z && !shader->info.base.writes_stencil) {
+      else if (!shader->info.base.writes_z && !shader->info.base.writes_stencil &&
+               !shader->info.base.uses_fbfetch) {
          if (shader->info.base.writes_memory)
             depth_mode = LATE_DEPTH_TEST | LATE_DEPTH_WRITE;
          else if (key->alpha.enabled ||



More information about the mesa-commit mailing list