summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_context.c
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2008-04-22 20:50:20 +0100
committerKeith Whitwell <keith@tungstengraphics.com>2008-04-22 20:50:20 +0100
commit0588858702d1a5c9c08573ea6817e2e149473cf6 (patch)
treecbbe6eae8b4a3fbadc65bf35c28ab9eda252e98a /src/gallium/auxiliary/draw/draw_context.c
parent1f0f029ba6f22ef4ada01fcdc153da91571a7963 (diff)
downloadexternal_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.c13
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);
}