summaryrefslogtreecommitdiff
path: root/src/gallium
diff options
context:
space:
mode:
authorHenri Verbeet <hverbeet@gmail.com>2010-12-05 18:42:43 +0100
committerHenri Verbeet <hverbeet@gmail.com>2010-12-05 18:44:44 +0100
commit44094356149d9a63c197e15f9db344ef2f651d86 (patch)
tree6d55241edead18514ab9f49f97aaac27a7e54273 /src/gallium
parent308cfb80f553cf76069e2d75023a44d3b933a399 (diff)
r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/r600/r600_shader.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index c5969c798c..f53124d100 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -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);