The register values depend on the currently set program, so make sure to
revalidate when the program changes.

Fixes glsl-1.10-fragdepth as well as
dEQP-GLES3.functional.shaders.fragdepth.compare.*

Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
---
 src/gallium/drivers/freedreno/a5xx/fd5_emit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_emit.c 
b/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
index 378ee2443b6..eeddef52ae3 100644
--- a/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
+++ b/src/gallium/drivers/freedreno/a5xx/fd5_emit.c
@@ -642,7 +642,7 @@ fd5_emit_state(struct fd_context *ctx, struct fd_ringbuffer 
*ring,
                                          
A5XX_PC_PRIMITIVE_CNTL_PRIMITIVE_RESTART));
        }
 
-       if (dirty & (FD_DIRTY_FRAMEBUFFER | FD_DIRTY_RASTERIZER)) {
+       if (dirty & (FD_DIRTY_FRAMEBUFFER | FD_DIRTY_RASTERIZER | 
FD_DIRTY_PROG)) {
                uint32_t posz_regid = ir3_find_output_regid(fp, 
FRAG_RESULT_DEPTH);
                unsigned nr = pfb->nr_cbufs;
 
-- 
2.13.0

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to