Merge branch 'master' into gallium-sampler-view
[mesa.git] / src / gallium / drivers / softpipe / sp_quad.h
index 0ef425a310fd0900950ba43c05a9a2b69f9ed386..a3236bd1169d08535e726e98b64fd700d8eecf97 100644 (file)
@@ -34,6 +34,7 @@
 #include "pipe/p_state.h"
 #include "tgsi/tgsi_exec.h"
 
+
 #define QUAD_PRIM_POINT 1
 #define QUAD_PRIM_LINE  2
 #define QUAD_PRIM_TRI   3
 
 
 /**
- * Encodes everything we need to know about a 2x2 pixel block.  Uses
- * "Channel-Serial" or "SoA" layout.  
+ * Quad stage inputs (pos, coverage, front/back face, etc)
  */
 struct quad_header_input
 {
-   int x0;
-   int y0;
-   float coverage[QUAD_SIZE];    /** fragment coverage for antialiasing */
-   unsigned facing:1;   /**< Front (0) or back (1) facing? */
-   unsigned prim:2;     /**< QUAD_PRIM_POINT, LINE, TRI */
+   int x0, y0;                /**< quad window pos, always even */
+   float coverage[QUAD_SIZE]; /**< fragment coverage for antialiasing */
+   unsigned facing:1;         /**< Front (0) or back (1) facing? */
+   unsigned prim:2;           /**< QUAD_PRIM_POINT, LINE, TRI */
 };
 
+
+/**
+ * Quad stage inputs/outputs.
+ */
 struct quad_header_inout
 {
    unsigned mask:4;
 };
 
+
+/**
+ * Quad stage outputs (color & depth).
+ */
 struct quad_header_output
 {
    /** colors in SOA format (rrrr, gggg, bbbb, aaaa) */
@@ -80,15 +87,20 @@ struct quad_header_output
    float depth[QUAD_SIZE];
 };
 
+
+/**
+ * Encodes everything we need to know about a 2x2 pixel block.  Uses
+ * "Channel-Serial" or "SoA" layout.  
+ */
 struct quad_header {
    struct quad_header_input input;
    struct quad_header_inout inout;
    struct quad_header_output output;
 
-   const struct tgsi_interp_coef *coef;
+   /* Redundant/duplicated:
+    */
    const struct tgsi_interp_coef *posCoef;
-
-   unsigned nr_attrs;
+   const struct tgsi_interp_coef *coef;
 };
 
 #endif /* SP_QUAD_H */