diff options
author | Brian <brian.paul@tungstengraphics.com> | 2007-06-20 14:29:14 -0600 |
---|---|---|
committer | Brian <brian.paul@tungstengraphics.com> | 2007-06-20 14:29:14 -0600 |
commit | fb5cdbd078d4d44fb43d417843debe41148f3714 (patch) | |
tree | c0ee61884177dfb98067fd4ea7f4f52042265b3e /src/mesa/pipe/softpipe/sp_tile.h | |
parent | 1edb5aafadc16ac0d7c604a3cd4a9c2e91d9b705 (diff) |
Initial implementation of a software pipeline for quad rasterization (fragment ops).
This is very much like the clipper/setup pipeline for primitives.
Diffstat (limited to 'src/mesa/pipe/softpipe/sp_tile.h')
-rw-r--r-- | src/mesa/pipe/softpipe/sp_tile.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/mesa/pipe/softpipe/sp_tile.h b/src/mesa/pipe/softpipe/sp_tile.h index f4808b99d2..86c17180bf 100644 --- a/src/mesa/pipe/softpipe/sp_tile.h +++ b/src/mesa/pipe/softpipe/sp_tile.h @@ -33,10 +33,24 @@ struct softpipe_context; struct quad_header; -void quad_shade( struct softpipe_context *softpipe, - struct quad_header *quad ); -void quad_output( struct softpipe_context *softpipe, - struct quad_header *quad ); +struct quad_stage { + struct softpipe_context *softpipe; + + struct quad_stage *next; + + /** the stage action */ + void (*run)(struct quad_stage *qs, struct quad_header *quad); +}; + + + +struct quad_stage *sp_quad_shade_stage( struct softpipe_context *softpipe ); +struct quad_stage *sp_quad_depth_test_stage( struct softpipe_context *softpipe ); +struct quad_stage *sp_quad_blend_stage( struct softpipe_context *softpipe ); +struct quad_stage *sp_quad_output_stage( struct softpipe_context *softpipe ); + +void +sp_build_quad_pipeline(struct softpipe_context *sp); #endif |