Lines Matching defs:deref
96 nir_deref_instr *deref = nir_src_as_deref(intrin->src[0]);
97 if (!nir_deref_mode_is(deref, nir_var_shader_out))
100 nir_variable *var = nir_deref_instr_get_variable(deref);
592 nir_deref_instr *deref = nir_src_as_deref(intr->src[0]);
593 if (!nir_deref_mode_is(deref, nir_var_shader_in))
597 nir_variable *in_var = nir_deref_instr_get_variable(deref);
653 nir_deref_instr *deref = nir_src_as_deref(intr->src[0]);
654 if (!nir_deref_mode_is(deref, nir_var_shader_out))
658 nir_variable *out_var = nir_deref_instr_get_variable(deref);
1162 nir_deref_instr *deref = nir_src_as_deref(intr->src[0]);
1164 if (!nir_deref_mode_is(deref, nir_var_uniform))
1168 return !nir_deref_instr_has_indirect(deref);
1194 clone_deref_instr(nir_builder *b, nir_variable *var, nir_deref_instr *deref)
1196 if (deref->deref_type == nir_deref_type_var)
1199 nir_deref_instr *parent_deref = nir_deref_instr_parent(deref);
1202 /* Build array and struct deref instruction.
1203 * "deref" instr is sure to be direct (see is_direct_uniform_load()).
1205 switch (deref->deref_type) {
1208 nir_instr_as_load_const(deref->arr.index.ssa->parent_instr);
1213 nir_instr_as_load_const(deref->arr.index.ssa->parent_instr);
1219 return nir_build_deref_struct(b, parent, deref->strct.index);
1240 nir_deref_instr *deref = nir_src_as_deref(load->src[0]);
1241 nir_variable *uni_var = nir_deref_instr_get_variable(deref);
1265 /* Clone instructions start from deref load to variable deref. */
1266 nir_deref_instr *uni_deref = clone_deref_instr(&b, uni_var, deref);