summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2016-10-03 16:24:07 -0400
committerRob Clark <[email protected]>2016-10-07 15:50:46 -0400
commitf88f025e8c22047e4e07d3f8653b637924e7313e (patch)
tree6320de4303041eb4e759aab914225a998c706e4d /src
parentf546b41f6ac9b4394b931d9e0ac4e30fc3f2c40f (diff)
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 <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/freedreno/a3xx/fd3_draw.c3
-rw-r--r--src/gallium/drivers/freedreno/a4xx/fd4_draw.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_draw.c b/src/gallium/drivers/freedreno/a3xx/fd3_draw.c
index d26786f6499..b3cd4619559 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 06d16fe934f..641c58a15bd 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;
}
}