gallium/draw: use correct rasterization state for wide/AA points/lines
authorBrian Paul <brianp@vmware.com>
Mon, 19 Apr 2010 14:35:53 +0000 (08:35 -0600)
committerBrian Paul <brianp@vmware.com>
Mon, 19 Apr 2010 14:35:53 +0000 (08:35 -0600)
commite3a34cc7f6c9f959cdc2af4486e84587fab4d0d7
tree437667e2b7da27f03c190bee6b67bff260af0733
parentdb3b34219ef1dbf9ebf5e524d3e459f9ad9571b5
gallium/draw: use correct rasterization state for wide/AA points/lines

When points or lines are decomposed into triangles, we need to be sure
to disable polygon culling, stippling, "un-filled" modes, etc.

This patch sets the rasterization state to disable those things prior to
drawing points/lines with triangles, then restores the previous state
afterward.

The new piglit point-no-line-cull test checks this problem & solution.
21 files changed:
src/gallium/auxiliary/draw/draw_context.c
src/gallium/auxiliary/draw/draw_context.h
src/gallium/auxiliary/draw/draw_pipe_aaline.c
src/gallium/auxiliary/draw/draw_pipe_aapoint.c
src/gallium/auxiliary/draw/draw_pipe_wide_line.c
src/gallium/auxiliary/draw/draw_pipe_wide_point.c
src/gallium/auxiliary/draw/draw_private.h
src/gallium/drivers/i915/i915_context.c
src/gallium/drivers/i915/i915_state.c
src/gallium/drivers/llvmpipe/lp_context.c
src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
src/gallium/drivers/nv50/nv50_context.c
src/gallium/drivers/r300/r300_context.c
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/softpipe/sp_context.c
src/gallium/drivers/softpipe/sp_state_rasterizer.c
src/gallium/drivers/svga/svga_pipe_rasterizer.c
src/gallium/drivers/svga/svga_swtnl_draw.c
src/gallium/drivers/svga/svga_swtnl_state.c
src/mesa/state_tracker/st_context.c
src/mesa/state_tracker/st_draw_feedback.c