summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2012-01-12 12:55:06 -0800
committerEric Anholt <[email protected]>2012-01-18 09:59:12 -0800
commitb2be4869624443cd9769bd696b11dd587494b62a (patch)
tree61aa4074bbe2884b257b22a4d211e77349ed148e
parentb972744c78e45928876ea781b9eeef09b3baf083 (diff)
i965: Fix refcount leak of the gl_program structure.
Fixes a leak of almost 200kb on a minimal shader_runner program (algebraic-add-add-1). NOTE: This is a candidate for the 8.0 branch.
-rw-r--r--src/mesa/drivers/dri/i965/brw_shader.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
index ef0f09d9ebb..aa1bfdbd230 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.cpp
+++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
@@ -229,6 +229,8 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
* program constant) has to happen before creating this linkage.
*/
_mesa_associate_uniform_storage(ctx, shProg, prog->Parameters);
+
+ _mesa_reference_program(ctx, &prog, NULL);
}
if (!brw_shader_precompile(ctx, shProg))