r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().
[mesa.git] / 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);