Mesa (master): main: unreference ATIFragmentShader program before creating new one
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jul 26 13:00:49 UTC 2019
Module: Mesa
Branch: master
Commit: 02ecf16a70bb32eaf8540c4625c568bd193020e4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=02ecf16a70bb32eaf8540c4625c568bd193020e4
Author: Yevhenii Kolesnikov <yevhenii.kolesnikov at globallogic.com>
Date: Thu Jul 25 18:15:24 2019 +0300
main: unreference ATIFragmentShader program before creating new one
Old program was overwritten without release of memory.
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov at globallogic.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
src/mesa/main/atifragshader.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/mesa/main/atifragshader.c b/src/mesa/main/atifragshader.c
index a9356ae95b1..71c8ce5efdf 100644
--- a/src/mesa/main/atifragshader.c
+++ b/src/mesa/main/atifragshader.c
@@ -411,7 +411,10 @@ _mesa_EndFragmentShaderATI(void)
if (ctx->Driver.NewATIfs) {
struct gl_program *prog = ctx->Driver.NewATIfs(ctx,
ctx->ATIFragmentShader.Current);
- _mesa_reference_program(ctx, &ctx->ATIFragmentShader.Current->Program, prog);
+ _mesa_reference_program(ctx, &ctx->ATIFragmentShader.Current->Program,
+ NULL);
+ /* Don't use _mesa_reference_program(), just take ownership */
+ ctx->ATIFragmentShader.Current->Program = prog;
}
if (!ctx->Driver.ProgramStringNotify(ctx, GL_FRAGMENT_SHADER_ATI,
More information about the mesa-commit
mailing list