Mesa (master): freedreno/a3xx+a4xx: fix clip-plane lowering state

Rob Clark robclark at kemper.freedesktop.org
Fri Oct 7 19:51:34 UTC 2016


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

Author: Rob Clark <robdclark at gmail.com>
Date:   Mon Oct  3 16:24:07 2016 -0400

freedreno/a3xx+a4xx: fix clip-plane lowering state

If enabled clip-planes have changed, we need to mark program state
dirty.

Signed-off-by: Rob Clark <robdclark at gmail.com>

---

 src/gallium/drivers/freedreno/a3xx/fd3_draw.c | 3 +++
 src/gallium/drivers/freedreno/a4xx/fd4_draw.c | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_draw.c b/src/gallium/drivers/freedreno/a3xx/fd3_draw.c
index d26786f..b3cd461 100644
--- a/src/gallium/drivers/freedreno/a3xx/fd3_draw.c
+++ b/src/gallium/drivers/freedreno/a3xx/fd3_draw.c
@@ -124,6 +124,9 @@ fixup_shader_state(struct fd_context *ctx, struct ir3_shader_key *key)
 		if (last_key->half_precision != key->half_precision)
 			ctx->dirty |= FD_SHADER_DIRTY_FP;
 
+		if (last_key->ucp_enables != key->ucp_enables)
+			ctx->dirty |= FD_SHADER_DIRTY_FP | FD_SHADER_DIRTY_VP;
+
 		fd3_ctx->last_key = *key;
 	}
 }
diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_draw.c b/src/gallium/drivers/freedreno/a4xx/fd4_draw.c
index 06d16fe..641c58a 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_draw.c
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_draw.c
@@ -113,6 +113,9 @@ fixup_shader_state(struct fd_context *ctx, struct ir3_shader_key *key)
 		if (last_key->rasterflat != key->rasterflat)
 			ctx->dirty |= FD_SHADER_DIRTY_FP;
 
+		if (last_key->ucp_enables != key->ucp_enables)
+			ctx->dirty |= FD_SHADER_DIRTY_FP | FD_SHADER_DIRTY_VP;
+
 		fd4_ctx->last_key = *key;
 	}
 }




More information about the mesa-commit mailing list