st/mesa: Reset the constant buffers before destroying the pipe context.
authorTilman Sauerbeck <tilman@code-monkey.de>
Tue, 2 Nov 2010 21:15:15 +0000 (22:15 +0100)
committerTilman Sauerbeck <tilman@code-monkey.de>
Thu, 4 Nov 2010 19:01:25 +0000 (20:01 +0100)
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
src/mesa/state_tracker/st_context.c

index b5ea6d0f809a99162208797dd794e7564593f037..d0dcdd4e29bdce5ae3776fe3820ac61ffa2865e9 100644 (file)
@@ -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);