diff options
author | Keith Whitwell <[email protected]> | 2008-04-22 20:50:20 +0100 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2008-04-22 20:50:20 +0100 |
commit | 0588858702d1a5c9c08573ea6817e2e149473cf6 (patch) | |
tree | cbbe6eae8b4a3fbadc65bf35c28ab9eda252e98a /src/gallium/auxiliary/draw/draw_context.c | |
parent | 1f0f029ba6f22ef4ada01fcdc153da91571a7963 (diff) |
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 b4dbdccd610..b916b278772 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); } |