/**
* Execute fragment shader for the four fragments in the quad.
+ * \return TRUE if quad is alive, FALSE if all four pixels are killed
*/
static INLINE boolean
shade_quad(struct quad_stage *qs, struct quad_header *quad)
}
-
+/**
+ * Shade/write an array of quads
+ * Called via quad_stage::run()
+ */
static void
shade_quads(struct quad_stage *qs,
- struct quad_header *quads[],
- unsigned nr)
+ struct quad_header *quads[],
+ unsigned nr)
{
struct quad_shade_stage *qss = quad_shade_stage( qs );
struct softpipe_context *softpipe = qs->softpipe;
for (i = 0; i < nr; i++) {
if (!shade_quad(qs, quads[i]))
- continue;
+ continue; /* quad totally culled/killed */
if (/*do_coverage*/ 0)
coverage_quad( qs, quads[i] );
}
-
-
-
/**
* Per-primitive (or per-begin?) setup
*/