summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorBrian <[email protected]>2008-02-21 16:18:05 -0700
committerBrian <[email protected]>2008-02-21 16:18:05 -0700
commiteb4dc2dd5ed62e6ccb55ccc2bc13f6a2f3fc1f76 (patch)
tree36918ed5ea3c04aefe57eb4e3629cdf31ced2987 /src/gallium/drivers
parenta93d8bfaf2aba1b2fe3ecfbb5bc4b7ff113c305e (diff)
gallium: new AA point drawing stage
AA points are drawn by converting the point to a quad, then modifying the user's fragment shader to compute a coverage value. The final fragment color's alpha is modulated by the coverage value. Fragments outside the point's radius are killed.
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/softpipe/sp_context.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/softpipe/sp_context.c b/src/gallium/drivers/softpipe/sp_context.c
index 316020cba63..de4c6c18e7f 100644
--- a/src/gallium/drivers/softpipe/sp_context.c
+++ b/src/gallium/drivers/softpipe/sp_context.c
@@ -328,8 +328,12 @@ struct pipe_context *softpipe_create( struct pipe_winsys *pipe_winsys,
draw_set_rasterize_stage(softpipe->draw, softpipe->setup);
}
- /* enable aaline stage */
+ /* plug in AA line/point stages */
draw_install_aaline_stage(softpipe->draw, &softpipe->pipe);
+ draw_install_aapoint_stage(softpipe->draw, &softpipe->pipe);
+
+ /* sp_prim_setup can do wide points (don't convert to quads) */
+ draw_convert_wide_points(softpipe->draw, FALSE);
sp_init_surface_functions(softpipe);