diff options
author | Dave Airlie <[email protected]> | 2012-12-15 13:24:52 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2012-12-15 15:29:49 +1000 |
commit | 7d7a549fa03293ede1d1627be5bdb47c11677f87 (patch) | |
tree | 7f62b0dfff0b83489598be8059bcdc3333a692cb /src/glsl | |
parent | b23e92dbe7682b2aad30c75c75370a4cc2634cb0 (diff) |
glsl: avoid using gl context as a memory context
Not sure what was going on here, but running piglit with debug builds
might be a good plan :-)
Reviewed-by: Kenneth Graunke <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/linker.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 83d0e871005..be08156e068 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -2301,6 +2301,7 @@ is_varying_var(GLenum shaderType, const ir_variable *var) */ bool assign_varying_locations(struct gl_context *ctx, + void *mem_ctx, struct gl_shader_program *prog, gl_shader *producer, gl_shader *consumer, unsigned num_tfeedback_decls, @@ -2375,10 +2376,10 @@ assign_varying_locations(struct gl_context *ctx, */ assert(!ctx->Extensions.EXT_transform_feedback); } else { - lower_packed_varyings(ctx, producer_base, slots_used, ir_var_out, + lower_packed_varyings(mem_ctx, producer_base, slots_used, ir_var_out, producer); if (consumer) { - lower_packed_varyings(ctx, consumer_base, slots_used, ir_var_in, + lower_packed_varyings(mem_ctx, consumer_base, slots_used, ir_var_in, consumer); } } @@ -2910,7 +2911,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) continue; if (!assign_varying_locations( - ctx, prog, prog->_LinkedShaders[prev], prog->_LinkedShaders[i], + ctx, mem_ctx, prog, prog->_LinkedShaders[prev], prog->_LinkedShaders[i], i == MESA_SHADER_FRAGMENT ? num_tfeedback_decls : 0, tfeedback_decls)) goto done; @@ -2923,7 +2924,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) * locations for use by transform feedback. */ if (!assign_varying_locations( - ctx, prog, prog->_LinkedShaders[prev], NULL, num_tfeedback_decls, + ctx, mem_ctx, prog, prog->_LinkedShaders[prev], NULL, num_tfeedback_decls, tfeedback_decls)) goto done; } |