i965/gs: Add a case to brwNewProgram() for geometry shaders.
[mesa.git] / src / mesa / drivers / dri / i965 / brw_gs.h
index 2ab8b724eaced7f0cde22fd61f1a736a0928ff26..319f10521fe3d6ab7d21e7dca20caab28f528c3f 100644 (file)
@@ -49,8 +49,6 @@ struct brw_gs_prog_key {
 
    GLuint pv_first:1;
    GLuint need_gs_prog:1;
-   GLuint userclip_active:1;
-   GLuint rasterizer_discard:1;
 
    /**
     * Number of varyings that are output to transform feedback.
@@ -59,10 +57,17 @@ struct brw_gs_prog_key {
 
    /**
     * Map from the index of a transform feedback binding table entry to the
-    * gl_vert_result that should be streamed out through that binding table
+    * gl_varying_slot that should be streamed out through that binding table
     * entry.
     */
    unsigned char transform_feedback_bindings[BRW_MAX_SOL_BINDINGS];
+
+   /**
+    * Map from the index of a transform feedback binding table entry to the
+    * swizzles that should be used when streaming out data through that
+    * binding table entry.
+    */
+   unsigned char transform_feedback_swizzles[BRW_MAX_SOL_BINDINGS];
 };
 
 struct brw_gs_compile {
@@ -97,8 +102,6 @@ struct brw_gs_compile {
    struct brw_vue_map vue_map;
 };
 
-#define ATTR_SIZE  (4*4)
-
 void brw_gs_quads( struct brw_gs_compile *c, struct brw_gs_prog_key *key );
 void brw_gs_quad_strip( struct brw_gs_compile *c, struct brw_gs_prog_key *key );
 void brw_gs_lines( struct brw_gs_compile *c );