OSDN Git Service

i965: Fix refcount leak of the gl_program structure.
authorEric Anholt <eric@anholt.net>
Thu, 12 Jan 2012 20:55:06 +0000 (12:55 -0800)
committerEric Anholt <eric@anholt.net>
Wed, 18 Jan 2012 17:59:12 +0000 (09:59 -0800)
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

index ef0f09d..aa1bfdb 100644 (file)
@@ -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))