intel: Add a batch flush between front-buffer downsample and X protocol.
[mesa.git] / src / mesa / drivers / dri / i965 / brw_clip.h
index ecbf7416439ed4b1ee80f384257a5a51990f4e9b..41f5c75d1aa0045d24b78a59719125ae9629cfe3 100644 (file)
 #include "brw_context.h"
 #include "brw_eu.h"
 
-#define MAX_VERTS (3+6+6)      
+/* Initial 3 verts, plus at most 6 additional verts from intersections
+ * with fixed planes, plus at most 8 additional verts from intersections
+ * with user clip planes
+ */
+#define MAX_VERTS (3+6+8)
 
 /* Note that if unfilled primitives are being emitted, we have to fix
  * up polygon offset and flatshading at this point:
@@ -109,6 +113,9 @@ struct brw_clip_compile {
        * defined clipping plane.
        */
       struct brw_reg vertex_src_mask;
+
+      /* Offset into the vertex of the current plane's clipdistance value */
+      struct brw_reg clipdistance_offset;
    } reg;
 
    /* Number of registers storing VUE data */
@@ -122,6 +129,7 @@ struct brw_clip_compile {
    struct brw_vue_map vue_map;
 
    bool has_flat_shading;
+   bool has_noperspective_shading;
 };
 
 /**
@@ -165,8 +173,7 @@ void brw_clip_init_planes( struct brw_clip_compile *c );
 
 void brw_clip_emit_vue(struct brw_clip_compile *c, 
                       struct brw_indirect vert,
-                      bool allocate,
-                      bool eot,
+                       enum brw_urb_write_flags flags,
                       GLuint header);
 
 void brw_clip_kill_thread(struct brw_clip_compile *c);