Lines Matching defs:intr

285 bi_varying_src0_for_barycentric(bi_builder *b, nir_intrinsic_instr *intr)
287 switch (intr->intrinsic) {
295 bi_half(bi_src_index(&intr->src[0]), false));
310 bi_index offset = bi_src_index(&intr->src[0]);
312 unsigned sz = nir_src_bit_size(intr->src[0]);
463 bi_varying_base_bytes(bi_context *ctx, nir_intrinsic_instr *intr)
465 nir_io_semantics sem = nir_intrinsic_io_semantics(intr);
483 bi_varying_offset(bi_context *ctx, nir_intrinsic_instr *intr)
485 nir_src *src = nir_get_io_offset_src(intr);
488 return bi_varying_base_bytes(ctx, intr) + (nir_src_as_uint(*src) * 16);
680 bi_load_sysval_nir(bi_builder *b, nir_intrinsic_instr *intr,
683 bi_load_sysval_to(b, bi_dest_index(&intr->dest),
684 panfrost_sysval_for_instr(&intr->instr, NULL),
948 bi_should_remove_store(nir_intrinsic_instr *intr, enum bi_idvs_mode idvs)
950 nir_io_semantics sem = nir_intrinsic_io_semantics(intr);
969 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
971 if (intr->intrinsic != nir_intrinsic_store_output)
974 if (bi_should_remove_store(intr, *idvs)) {
4265 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
4267 switch (intr->intrinsic) {
4394 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
4396 if (intr->intrinsic != nir_intrinsic_store_output)
4399 nir_ssa_def *in = intr->src[0].ssa;
4400 unsigned first = nir_intrinsic_component(intr);
4401 unsigned mask = nir_intrinsic_write_mask(intr);
4409 b->cursor = nir_before_instr(&intr->instr);
4419 nir_instr_rewrite_src_ssa(instr, &intr->src[0], replicated);
4420 nir_intrinsic_set_component(intr, 0);
4421 nir_intrinsic_set_write_mask(intr, 0xF);
4422 intr->num_components = 4;
4580 nir_intrinsic_instr *intr, UNUSED void *data)
4582 if (nir_src_bit_size(intr->src[0]) != 8)
4586 nir_alu_type_get_base_type(nir_intrinsic_src_type(intr));
4590 b->cursor = nir_before_instr(&intr->instr);
4591 nir_ssa_def *cast = nir_convert_to_bit_size(b, intr->src[0].ssa, type, 16);
4593 nir_intrinsic_set_src_type(intr, type | 16);
4594 nir_instr_rewrite_src_ssa(&intr->instr, &intr->src[0], cast);
4600 nir_intrinsic_instr *intr, UNUSED void *data)
4602 if (nir_dest_bit_size(intr->dest) != 8)
4606 nir_alu_type_get_base_type(nir_intrinsic_dest_type(intr));
4610 b->cursor = nir_before_instr(&intr->instr);
4612 nir_load_output(b, intr->num_components, 16, intr->src[0].ssa,
4613 .base = nir_intrinsic_base(intr),
4614 .component = nir_intrinsic_component(intr),
4616 .io_semantics = nir_intrinsic_io_semantics(intr));
4619 nir_ssa_def_rewrite_uses(&intr->dest.ssa, cast);
4630 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
4631 if (intr->intrinsic == nir_intrinsic_load_output)
4632 return bifrost_nir_lower_i8_fragin_impl(b, intr, data);
4633 else if (intr->intrinsic == nir_intrinsic_store_output)
4634 return bifrost_nir_lower_i8_fragout_impl(b, intr, data);
4659 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
4661 if (intr->intrinsic != nir_intrinsic_store_output)
4665 unsigned component = nir_intrinsic_component(intr);
4666 nir_src *slot_src = nir_get_io_offset_src(intr);
4667 uint64_t slot = nir_src_as_uint(*slot_src) + nir_intrinsic_base(intr);
4672 nir_ssa_def *value = intr->src[0].ssa;
4673 b->cursor = nir_before_instr(&intr->instr);
4686 unsigned new_mask = nir_intrinsic_write_mask(intr);
4694 intr->num_components = util_last_bit(mask);
4695 nir_instr_rewrite_src_ssa(instr, &intr->src[0],
4696 nir_vec(b, channels, intr->num_components));
4698 nir_intrinsic_set_component(intr, 0);
4699 nir_intrinsic_set_write_mask(intr, mask);
4706 _mesa_hash_table_u64_insert(slots, slot, intr);
4814 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(parent);
4816 if (intr->intrinsic != nir_intrinsic_load_interpolated_input)
4819 nir_io_semantics sem = nir_intrinsic_io_semantics(intr);