[Mesa-dev] [PATCH 2/7] i965: Fix refcount leak of the gl_program structure.

Eric Anholt eric at anholt.net
Thu Jan 12 13:47:09 PST 2012


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.
---
 src/mesa/drivers/dri/i965/brw_shader.cpp |    2 ++
 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 ef0f09d..aa1bfdb 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))
-- 
1.7.7.3



More information about the mesa-dev mailing list