nir: Allocate nir_tex_instr::sources out of the instruction itself.

The lifetime of the sources array needs to be match the nir_tex_instr
itself.  So, allocate it using the instruction itself as the context.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
Kenneth Graunke
2015-03-28 00:02:37 -07:00
parent 7380c641b1
commit da5ec2ac0b

View File

@@ -460,7 +460,7 @@ nir_tex_instr_create(void *mem_ctx, unsigned num_srcs)
dest_init(&instr->dest);
instr->num_srcs = num_srcs;
instr->src = ralloc_array(mem_ctx, nir_tex_src, num_srcs);
instr->src = ralloc_array(instr, nir_tex_src, num_srcs);
for (unsigned i = 0; i < num_srcs; i++)
src_init(&instr->src[i].src);