diff options
author | Keith Whitwell <keithw@vmware.com> | 2010-03-04 16:50:22 +0000 |
---|---|---|
committer | Keith Whitwell <keithw@vmware.com> | 2010-03-04 16:50:22 +0000 |
commit | 3b6a991728ccb174f19de8b9752241cd4f21398e (patch) | |
tree | 20ebaa0310d321f2cfca7fe65a67a363a4072335 /src/gallium/drivers/softpipe | |
parent | c549593931ef08bb48e601189fa97c86b5e780b2 (diff) |
softpipe: fix constant buffer tracking after rework
Diffstat (limited to 'src/gallium/drivers/softpipe')
-rw-r--r-- | src/gallium/drivers/softpipe/sp_state_fs.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/gallium/drivers/softpipe/sp_state_fs.c b/src/gallium/drivers/softpipe/sp_state_fs.c index cd0e905bc9..2b089c2831 100644 --- a/src/gallium/drivers/softpipe/sp_state_fs.c +++ b/src/gallium/drivers/softpipe/sp_state_fs.c @@ -176,19 +176,17 @@ softpipe_set_constant_buffer(struct pipe_context *pipe, assert(shader < PIPE_SHADER_TYPES); assert(index == 0); - if(softpipe->constants[shader][index] == constants) - return; - draw_flush(softpipe->draw); /* note: reference counting */ pipe_buffer_reference(&softpipe->constants[shader][index], constants); if(shader == PIPE_SHADER_VERTEX) { - draw_set_mapped_constant_buffer(softpipe->draw, PIPE_SHADER_VERTEX, 0, + draw_set_mapped_constant_buffer(softpipe->draw, PIPE_SHADER_VERTEX, index, data, size); } + softpipe->mapped_constants[shader][index] = data; softpipe->dirty |= SP_NEW_CONSTANTS; } |