r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().
authorHenri Verbeet <hverbeet@gmail.com>
Sun, 5 Dec 2010 17:42:43 +0000 (18:42 +0100)
committerHenri Verbeet <hverbeet@gmail.com>
Sun, 5 Dec 2010 17:44:44 +0000 (18:44 +0100)
src/gallium/drivers/r600/r600_shader.c

index c5969c798c5383abd6140b2e6cb3c45504704886..f53124d100929c24c3ced19e8f2427db21254aba 100644 (file)
@@ -361,6 +361,11 @@ r600_pipe_shader_destroy(struct pipe_context *ctx, struct r600_pipe_shader *shad
 {
        struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx;
 
+       if (shader->shader.processor_type == TGSI_PROCESSOR_VERTEX) {
+               r600_bo_reference(rctx->radeon, &shader->bo_fetch, NULL);
+               r600_bc_clear(&shader->shader.bc_fetch);
+       }
+
        r600_bo_reference(rctx->radeon, &shader->bo, NULL);
 
        r600_bc_clear(&shader->shader.bc);