Mesa (master): a5xx: fix condition for updating *_FS_OUTPUT_CNTL

Ilia Mirkin imirkin at kemper.freedesktop.org
Sun Jul 9 22:36:38 UTC 2017


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

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sun Jul  9 18:06:25 2017 -0400

a5xx: fix condition for updating *_FS_OUTPUT_CNTL

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 <imirkin at alum.mit.edu>
Reviewed-by: Rob Clark <robdclark at gmail.com>

---

 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 378ee2443b..eeddef52ae 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;
 




More information about the mesa-commit mailing list