diff options
author | Brian Paul <[email protected]> | 2008-05-14 12:10:45 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2008-05-14 12:11:17 -0600 |
commit | 57e222d6e5ef5744491d093475e1136aedf81810 (patch) | |
tree | 1c6af771d12b6be91a20649ecb46b4bea8b4d319 /src/mesa/shader/slang | |
parent | 4b7d301c94d33394550322768a9d2232087b2d64 (diff) |
fix some additional program refcounting bugs
Diffstat (limited to 'src/mesa/shader/slang')
-rw-r--r-- | src/mesa/shader/slang/slang_emit.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/shader/slang/slang_emit.c b/src/mesa/shader/slang/slang_emit.c index 9c307c6275b..d6ec3c5761b 100644 --- a/src/mesa/shader/slang/slang_emit.c +++ b/src/mesa/shader/slang/slang_emit.c @@ -79,7 +79,7 @@ new_subroutine(slang_emit_info *emitInfo, GLuint *id) _mesa_realloc(emitInfo->Subroutines, n * sizeof(struct gl_program), (n + 1) * sizeof(struct gl_program)); - emitInfo->Subroutines[n] = _mesa_new_program(ctx, emitInfo->prog->Target, 0); + emitInfo->Subroutines[n] = ctx->Driver.NewProgram(ctx, emitInfo->prog->Target, 0); emitInfo->Subroutines[n]->Parameters = emitInfo->prog->Parameters; emitInfo->NumSubroutines++; *id = n; @@ -1793,7 +1793,7 @@ _slang_resolve_subroutines(slang_emit_info *emitInfo) sub->NumInstructions); /* delete subroutine code */ sub->Parameters = NULL; /* prevent double-free */ - _mesa_delete_program(ctx, sub); + _mesa_reference_program(ctx, &emitInfo->Subroutines[i], NULL); } /* free subroutine list */ |