Mesa (master): etnaviv: Fix rework ZSA into a derived state

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sun Jan 3 09:13:03 UTC 2021


Module: Mesa
Branch: master
Commit: 33a6c01e12cca60903fb78af44ecca3899ad628f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=33a6c01e12cca60903fb78af44ecca3899ad628f

Author: Marek Vasut <marex at denx.de>
Date:   Sat Dec 19 01:23:12 2020 +0100

etnaviv: Fix rework ZSA into a derived state

In case the stencil is modified, it is also enabled. That was the
behavior of the original code, which was also the correct behavior,
so reinstate the behavior.

Fixes dEQP-GLES2.functional.fragment_ops.depth_stencil.* on STM32MP1 GC400T.

Fixes: b29fe26d438 ("etnaviv: rework ZSA into a derived state")
Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
Signed-off-by: Marek Vasut <marex at denx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8174>

---

 src/gallium/drivers/etnaviv/etnaviv_zsa.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_zsa.c b/src/gallium/drivers/etnaviv/etnaviv_zsa.c
index a7477ba6640..530a38cbcc3 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_zsa.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_zsa.c
@@ -77,11 +77,13 @@ etna_zsa_state_create(struct pipe_context *pctx,
       if (so->stencil[0].fail_op != PIPE_STENCIL_OP_KEEP ||
           so->stencil[0].zfail_op != PIPE_STENCIL_OP_KEEP ||
           so->stencil[0].zpass_op != PIPE_STENCIL_OP_KEEP) {
+         cs->stencil_enabled = 1;
          cs->stencil_modified = 1;
       } else if (so->stencil[1].enabled) {
          if (so->stencil[1].fail_op != PIPE_STENCIL_OP_KEEP ||
              so->stencil[1].zfail_op != PIPE_STENCIL_OP_KEEP ||
              so->stencil[1].zpass_op != PIPE_STENCIL_OP_KEEP) {
+            cs->stencil_enabled = 1;
             cs->stencil_modified = 1;
          }
       }



More information about the mesa-commit mailing list