freedreno/a3xx+a4xx: fix clip-plane lowering state
authorRob Clark <robdclark@gmail.com>
Mon, 3 Oct 2016 20:24:07 +0000 (16:24 -0400)
committerRob Clark <robdclark@gmail.com>
Fri, 7 Oct 2016 19:50:46 +0000 (15:50 -0400)
If enabled clip-planes have changed, we need to mark program state
dirty.

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/a3xx/fd3_draw.c
src/gallium/drivers/freedreno/a4xx/fd4_draw.c

index d26786f6499074ca5d24c47736fd9bd106c33a2f..b3cd4619559fbe78ababda73478c3a68c315abf4 100644 (file)
@@ -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;
        }
 }
index 06d16fe934f9bd7122951b2824961cd923dd057d..641c58a15bdb0e419c9fa982d94be04685bfbf55 100644 (file)
@@ -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;
        }
 }