summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTilman Sauerbeck <tilman@code-monkey.de>2010-11-02 22:15:15 +0100
committerTilman Sauerbeck <tilman@code-monkey.de>2010-11-04 20:01:25 +0100
commit646a8b7e1dfbd126819d577a94102e64748d0b9d (patch)
treed95667e0a441afe6bad175bb8fcf78c42df8c920
parente7f5d19a1106351f2db8f62f59f51be86eaa93df (diff)
st/mesa: Reset the constant buffers before destroying the pipe context.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
-rw-r--r--src/mesa/state_tracker/st_context.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index b5ea6d0f80..d0dcdd4e29 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -238,6 +238,11 @@ void st_destroy_context( struct st_context *st )
pipe->set_index_buffer(pipe, NULL);
+ for (i = 0; i < PIPE_SHADER_TYPES; i++) {
+ pipe->set_constant_buffer(pipe, PIPE_SHADER_VERTEX, 0, NULL);
+ pipe_resource_reference(&st->state.constants[PIPE_SHADER_VERTEX], NULL);
+ }
+
_mesa_delete_program_cache(st->ctx, st->pixel_xfer.cache);
_vbo_DestroyContext(st->ctx);