summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe/sp_draw_arrays.c
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-03-16 12:49:46 +1100
committerBen Skeggs <skeggsb@gmail.com>2008-03-16 12:49:46 +1100
commitc4354f84603cabb0e33ea3f586cc89bfdc27f79b (patch)
tree01585e52a3cca102c212630d8bac345058e150f6 /src/gallium/drivers/softpipe/sp_draw_arrays.c
parent5e17088ee3d0ddfa8871d92d262bb5242bdd92bd (diff)
parentcb98f71d42e4c714dfb0c3e29d28d8418a1ee86b (diff)
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_draw_arrays.c')
-rw-r--r--src/gallium/drivers/softpipe/sp_draw_arrays.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/softpipe/sp_draw_arrays.c b/src/gallium/drivers/softpipe/sp_draw_arrays.c
index 2049afda34..5b5a0fe573 100644
--- a/src/gallium/drivers/softpipe/sp_draw_arrays.c
+++ b/src/gallium/drivers/softpipe/sp_draw_arrays.c
@@ -62,6 +62,14 @@ softpipe_unmap_constant_buffers(struct softpipe_context *sp)
{
struct pipe_winsys *ws = sp->pipe.winsys;
uint i;
+
+ /* really need to flush all prims since the vert/frag shaders const buffers
+ * are going away now.
+ */
+ draw_flush(sp->draw);
+
+ draw_set_mapped_constant_buffer(sp->draw, NULL);
+
for (i = 0; i < 2; i++) {
if (sp->constants[i].size)
ws->buffer_unmap(ws, sp->constants[i].buffer);