• Home
  • Raw
  • Download

Lines Matching refs:intr

95 split_wrmask(nir_builder *b, nir_intrinsic_instr *intr)  in split_wrmask()  argument
97 const nir_intrinsic_info *info = &nir_intrinsic_infos[intr->intrinsic]; in split_wrmask()
99 b->cursor = nir_before_instr(&intr->instr); in split_wrmask()
104 unsigned value_idx = value_src(intr->intrinsic); in split_wrmask()
105 unsigned offset_idx = offset_src(intr->intrinsic); in split_wrmask()
106 unsigned num_comp = nir_intrinsic_src_components(intr, value_idx); in split_wrmask()
108 unsigned wrmask = nir_intrinsic_write_mask(intr); in split_wrmask()
113 nir_ssa_def *value = nir_ssa_for_src(b, intr->src[value_idx], num_comp); in split_wrmask()
114 nir_ssa_def *offset = nir_ssa_for_src(b, intr->src[offset_idx], 1); in split_wrmask()
124 nir_intrinsic_instr_create(b->shader, intr->intrinsic); in split_wrmask()
126 nir_intrinsic_copy_const_indices(new_intr, intr); in split_wrmask()
131 if (nir_intrinsic_has_align_mul(intr)) { in split_wrmask()
132 assert(nir_intrinsic_has_align_offset(intr)); in split_wrmask()
133 unsigned align_mul = nir_intrinsic_align_mul(intr); in split_wrmask()
134 unsigned align_off = nir_intrinsic_align_offset(intr); in split_wrmask()
147 if (nir_intrinsic_has_base(intr)) { in split_wrmask()
149 nir_intrinsic_base(intr) + offset_adj); in split_wrmask()
166 new_intr->src[i] = intr->src[i]; in split_wrmask()
179 nir_instr_remove(&intr->instr); in split_wrmask()
195 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in nir_lower_wrmasks_instr() local
198 if (!nir_intrinsic_has_write_mask(intr)) in nir_lower_wrmasks_instr()
202 if (nir_intrinsic_write_mask(intr) == BITFIELD_MASK(intr->num_components)) in nir_lower_wrmasks_instr()
206 if (value_src(intr->intrinsic) < 0) in nir_lower_wrmasks_instr()
209 assert(offset_src(intr->intrinsic) >= 0); in nir_lower_wrmasks_instr()
215 split_wrmask(b, intr); in nir_lower_wrmasks_instr()