summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_atom_clip.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/state_tracker/st_atom_clip.c')
-rw-r--r--src/mesa/state_tracker/st_atom_clip.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mesa/state_tracker/st_atom_clip.c b/src/mesa/state_tracker/st_atom_clip.c
index f82c1332afc..506a770499f 100644
--- a/src/mesa/state_tracker/st_atom_clip.c
+++ b/src/mesa/state_tracker/st_atom_clip.c
@@ -59,8 +59,11 @@ static void update_clip( struct st_context *st )
memcpy(clip.ucp,
use_eye ? ctx->Transform.EyeUserPlane
: ctx->Transform._ClipUserPlane, sizeof(clip.ucp));
- st->state.clip = clip;
- cso_set_clip(st->cso_context, &clip);
+
+ if (memcmp(&st->state.clip, &clip, sizeof(clip)) != 0) {
+ st->state.clip = clip;
+ st->pipe->set_clip_state(st->pipe, &clip);
+ }
}