nir/split_var_copies: Use a nir_shader rather than a void *mem_ctx

Reviewed-by: Eduardo Lima Mitev <elima@igalia.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
Jason Ekstrand
2016-12-24 11:03:01 -08:00
parent ffa4ba71d9
commit 8495ece52e

View File

@@ -62,7 +62,7 @@
*/ */
struct split_var_copies_state { struct split_var_copies_state {
void *mem_ctx; nir_shader *shader;
void *dead_ctx; void *dead_ctx;
bool progress; bool progress;
}; };
@@ -176,7 +176,7 @@ split_var_copy_instr(nir_intrinsic_instr *old_copy,
* actually add the new copy instruction. * actually add the new copy instruction.
*/ */
nir_intrinsic_instr *new_copy = nir_intrinsic_instr *new_copy =
nir_intrinsic_instr_create(state->mem_ctx, nir_intrinsic_copy_var); nir_intrinsic_instr_create(state->shader, nir_intrinsic_copy_var);
/* We need to make copies because a) this deref chain actually /* We need to make copies because a) this deref chain actually
* belongs to the copy instruction and b) the deref chains may * belongs to the copy instruction and b) the deref chains may
@@ -254,7 +254,7 @@ split_var_copies_impl(nir_function_impl *impl)
{ {
struct split_var_copies_state state; struct split_var_copies_state state;
state.mem_ctx = ralloc_parent(impl); state.shader = impl->function->shader;
state.dead_ctx = ralloc_context(NULL); state.dead_ctx = ralloc_context(NULL);
state.progress = false; state.progress = false;