diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2008-04-22 20:50:20 +0100 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2008-04-22 20:50:20 +0100 |
commit | 0588858702d1a5c9c08573ea6817e2e149473cf6 (patch) | |
tree | cbbe6eae8b4a3fbadc65bf35c28ab9eda252e98a /src/gallium/auxiliary/draw/draw_context.c | |
parent | 1f0f029ba6f22ef4ada01fcdc153da91571a7963 (diff) | |
download | external_mesa3d-0588858702d1a5c9c08573ea6817e2e149473cf6.zip external_mesa3d-0588858702d1a5c9c08573ea6817e2e149473cf6.tar.gz external_mesa3d-0588858702d1a5c9c08573ea6817e2e149473cf6.tar.bz2 |
draw: allow drivers to query pipeline state more easily
Also, provide a separate flag to say whether the driver can handle
clipping/rhw tasks, in addition to the API flag which indicates they
have already been done.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_context.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_context.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index b4dbdcc..b916b27 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -122,6 +122,19 @@ void draw_set_rasterizer_state( struct draw_context *draw, draw_do_flush( draw, DRAW_FLUSH_STATE_CHANGE ); draw->rasterizer = raster; + draw->bypass_clipping = (draw->rasterizer->bypass_clipping || + draw->driver.bypass_clipping); +} + + +void draw_set_driver_clipping( struct draw_context *draw, + boolean bypass_clipping ) +{ + draw_do_flush( draw, DRAW_FLUSH_STATE_CHANGE ); + + draw->driver.bypass_clipping = bypass_clipping; + draw->bypass_clipping = (draw->rasterizer->bypass_clipping || + draw->driver.bypass_clipping); } |