void nir_def_init(nir_instr *instr, nir_def *def,
unsigned num_components, unsigned bit_size);
static inline void
-nir_ssa_dest_init_for_type(nir_instr *instr, nir_dest *dest,
- const struct glsl_type *type)
+nir_def_init_for_type(nir_instr *instr, nir_def *def,
+ const struct glsl_type *type)
{
assert(glsl_type_is_vector_or_scalar(type));
- nir_def_init(instr, &dest->ssa, glsl_get_components(type),
+ nir_def_init(instr, def, glsl_get_components(type),
glsl_get_bit_size(type));
}
void nir_def_rewrite_uses(nir_def *def, nir_def *new_ssa);
nir_intrinsic_op op =
nir_intrinsic_from_system_value(var->data.location);
nir_intrinsic_instr *load = nir_intrinsic_instr_create(b->shader, op);
- nir_ssa_dest_init_for_type(&load->instr, &load->dest, var->type);
+ nir_def_init_for_type(&load->instr, &load->dest.ssa, var->type);
load->num_components = load->dest.ssa.num_components;
nir_builder_instr_insert(b, &load->instr);
return &load->dest.ssa;
const struct glsl_type *dest_type = vtn_get_type(b, w[1])->type;
nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(b->nb.shader, op);
- nir_ssa_dest_init_for_type(&intrin->instr, &intrin->dest, dest_type);
+ nir_def_init_for_type(&intrin->instr, &intrin->dest.ssa, dest_type);
if (nir_intrinsic_infos[op].src_components[0] == 0)
intrin->num_components = intrin->dest.ssa.num_components;
nir_intrinsic_instr *intrin =
nir_intrinsic_instr_create(b->nb.shader, nir_op);
- nir_ssa_dest_init_for_type(&intrin->instr, &intrin->dest, dst->type);
+ nir_def_init_for_type(&intrin->instr, &intrin->dest.ssa, dst->type);
intrin->num_components = intrin->dest.ssa.num_components;
intrin->src[0] = nir_src_for_ssa(src0->def);
"OpGroupNonUniformElect must return a Bool");
nir_intrinsic_instr *elect =
nir_intrinsic_instr_create(b->nb.shader, nir_intrinsic_elect);
- nir_ssa_dest_init_for_type(&elect->instr, &elect->dest, dest_type->type);
+ nir_def_init_for_type(&elect->instr, &elect->dest.ssa, dest_type->type);
nir_builder_instr_insert(&b->nb, &elect->instr);
vtn_push_nir_ssa(b, w[2], &elect->dest.ssa);
break;
intrin->src[0] = nir_src_for_ssa(vtn_get_nir_ssa(b, w[4]));
intrin->src[1] = nir_src_for_ssa(nir_load_subgroup_invocation(&b->nb));
- nir_ssa_dest_init_for_type(&intrin->instr, &intrin->dest,
- dest_type->type);
+ nir_def_init_for_type(&intrin->instr, &intrin->dest.ssa,
+ dest_type->type);
nir_builder_instr_insert(&b->nb, &intrin->instr);
vtn_push_nir_ssa(b, w[2], &intrin->dest.ssa);
if (src1)
intrin->src[1] = nir_src_for_ssa(src1);
- nir_ssa_dest_init_for_type(&intrin->instr, &intrin->dest,
- dest_type->type);
+ nir_def_init_for_type(&intrin->instr, &intrin->dest.ssa,
+ dest_type->type);
nir_builder_instr_insert(&b->nb, &intrin->instr);
vtn_push_nir_ssa(b, w[2], &intrin->dest.ssa);
if (nir_intrinsic_infos[op].src_components[0] == 0)
intrin->num_components = src0->num_components;
intrin->src[0] = nir_src_for_ssa(src0);
- nir_ssa_dest_init_for_type(&intrin->instr, &intrin->dest,
- dest_type->type);
+ nir_def_init_for_type(&intrin->instr, &intrin->dest.ssa,
+ dest_type->type);
nir_builder_instr_insert(&b->nb, &intrin->instr);
vtn_push_nir_ssa(b, w[2], &intrin->dest.ssa);
nir_intrinsic_instr_create(b->nb.shader,
nir_intrinsic_load_deref_block_intel);
load->src[0] = nir_src_for_ssa(&src->dest.ssa);
- nir_ssa_dest_init_for_type(&load->instr, &load->dest, res_type->type);
+ nir_def_init_for_type(&load->instr, &load->dest.ssa, res_type->type);
load->num_components = load->dest.ssa.num_components;
nir_builder_instr_insert(&b->nb, &load->instr);
atomic->src[i] = nir_src_for_ssa(src);
}
- nir_ssa_dest_init_for_type(&atomic->instr, &atomic->dest, data_type);
+ nir_def_init_for_type(&atomic->instr, &atomic->dest.ssa, data_type);
nir_builder_instr_insert(&b, &atomic->instr);
nir_store_deref(&b, ret, &atomic->dest.ssa, ~0);