summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw/draw_vertex_shader.c
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2008-01-25 17:21:05 -0700
committerBrian <brian.paul@tungstengraphics.com>2008-01-25 17:22:56 -0700
commit1603a33fb276d7e78a2e872dfa05aa0093d1329a (patch)
treed293a1e1dbd7b05b80828a8f3303607567b59664 /src/mesa/pipe/draw/draw_vertex_shader.c
parent0bfd085e2866fbbd40209dcee23f0e6240583fe8 (diff)
gallium: better flush logic in draw module
This is the other half of Keith's draw/flush patch. There are now 5 flush flags to control what's flushed (post-xform vertex cache, prim cache, vbuf, etc). The gears slow-down in this part of the patch was due to the cull stage not getting invoked. It was unconditional before, but is now gated by 'need_det'. But it also needs to be gated by draw->rasterizer->cull_mode. Gears uses back-face culling.
Diffstat (limited to 'src/mesa/pipe/draw/draw_vertex_shader.c')
-rw-r--r--src/mesa/pipe/draw/draw_vertex_shader.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/pipe/draw/draw_vertex_shader.c b/src/mesa/pipe/draw/draw_vertex_shader.c
index 5ca659dbf5..d19b60198d 100644
--- a/src/mesa/pipe/draw/draw_vertex_shader.c
+++ b/src/mesa/pipe/draw/draw_vertex_shader.c
@@ -271,9 +271,9 @@ void
draw_bind_vertex_shader(struct draw_context *draw,
struct draw_vertex_shader *dvs)
{
- draw_flush(draw);
- draw->vertex_shader = dvs;
+ draw_do_flush( draw, DRAW_FLUSH_STATE_CHANGE );
+ draw->vertex_shader = dvs;
draw->num_vs_outputs = dvs->state->num_outputs;
/* specify the fragment program to interpret/execute */