st/nine: Fix clip state logic
authorAxel Davy <axel.davy@ens.fr>
Sun, 21 Dec 2014 12:03:47 +0000 (13:03 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 22 Jan 2015 22:16:17 +0000 (22:16 +0000)
The clip state was reset everytime, incurring an overhead.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Axel Davy <axel.davy@ens.fr>
src/gallium/state_trackers/nine/nine_state.c

index 41758036bc26a988c345984a0630696e4bab2c37..e4e6788fb84f698e1df3286074d9663de1e69ba6 100644 (file)
@@ -839,8 +839,10 @@ nine_update_state(struct NineDevice9 *device, uint32_t mask)
         }
     }
 
-    if (state->changed.ucp)
+    if (state->changed.ucp) {
         pipe->set_clip_state(pipe, &state->clip);
+        state->changed.ucp = 0;
+    }
 
     if (group & (NINE_STATE_FREQ_GROUP_1 | NINE_STATE_VS)) {
         if (group & (NINE_STATE_TEXTURE | NINE_STATE_SAMPLER))