• Home
  • Raw
  • Download

Lines Matching refs:intr

116 lower_load_deref(nir_builder *b, nir_intrinsic_instr *intr)  in lower_load_deref()  argument
118 assert(intr->dest.is_ssa); in lower_load_deref()
120 b->cursor = nir_before_instr(&intr->instr); in lower_load_deref()
122 nir_deref_instr *deref = nir_src_as_deref(intr->src[0]); in lower_load_deref()
128 assert(intr->dest.is_ssa); in lower_load_deref()
129 unsigned num_components = nir_dest_num_components(intr->dest); in lower_load_deref()
130 unsigned bit_size = nir_dest_bit_size(intr->dest); in lower_load_deref()
170 nir_ssa_def_rewrite_uses(&intr->dest.ssa, result); in lower_load_deref()
171 nir_instr_remove(&intr->instr); in lower_load_deref()
261 lower_load_ssbo(nir_builder *b, nir_intrinsic_instr *intr) in lower_load_ssbo() argument
263 assert(intr->dest.is_ssa); in lower_load_ssbo()
264 assert(intr->src[0].is_ssa); in lower_load_ssbo()
265 assert(intr->src[1].is_ssa); in lower_load_ssbo()
267 b->cursor = nir_before_instr(&intr->instr); in lower_load_ssbo()
269 nir_ssa_def *buffer = intr->src[0].ssa; in lower_load_ssbo()
270 nir_ssa_def *offset = nir_iand(b, intr->src[1].ssa, nir_imm_int(b, ~3)); in lower_load_ssbo()
271 enum gl_access_qualifier access = nir_intrinsic_access(intr); in lower_load_ssbo()
272 unsigned bit_size = nir_dest_bit_size(intr->dest); in lower_load_ssbo()
273 unsigned num_components = nir_dest_num_components(intr->dest); in lower_load_ssbo()
301 nir_ssa_def *shift = nir_imul(b, nir_iand(b, intr->src[1].ssa, nir_imm_int(b, 3)), in lower_load_ssbo()
314 nir_ssa_def_rewrite_uses(&intr->dest.ssa, result); in lower_load_ssbo()
315 nir_instr_remove(&intr->instr); in lower_load_ssbo()
320 lower_store_ssbo(nir_builder *b, nir_intrinsic_instr *intr) in lower_store_ssbo() argument
322 b->cursor = nir_before_instr(&intr->instr); in lower_store_ssbo()
324 assert(intr->src[0].is_ssa); in lower_store_ssbo()
325 assert(intr->src[1].is_ssa); in lower_store_ssbo()
326 assert(intr->src[2].is_ssa); in lower_store_ssbo()
328 nir_ssa_def *val = intr->src[0].ssa; in lower_store_ssbo()
329 nir_ssa_def *buffer = intr->src[1].ssa; in lower_store_ssbo()
330 nir_ssa_def *offset = nir_iand(b, intr->src[2].ssa, nir_imm_int(b, ~3)); in lower_store_ssbo()
364 nir_ssa_def *pos = nir_iand(b, intr->src[2].ssa, nir_imm_int(b, 3)); in lower_store_ssbo()
393 nir_instr_remove(&intr->instr); in lower_store_ssbo()
413 lower_32b_offset_load(nir_builder *b, nir_intrinsic_instr *intr) in lower_32b_offset_load() argument
415 assert(intr->dest.is_ssa); in lower_32b_offset_load()
416 unsigned bit_size = nir_dest_bit_size(intr->dest); in lower_32b_offset_load()
417 unsigned num_components = nir_dest_num_components(intr->dest); in lower_32b_offset_load()
420 b->cursor = nir_before_instr(&intr->instr); in lower_32b_offset_load()
421 nir_intrinsic_op op = intr->intrinsic; in lower_32b_offset_load()
423 assert(intr->src[0].is_ssa); in lower_32b_offset_load()
424 nir_ssa_def *offset = intr->src[0].ssa; in lower_32b_offset_load()
426 offset = nir_iadd(b, offset, nir_imm_int(b, nir_intrinsic_base(intr))); in lower_32b_offset_load()
464 nir_ssa_def_rewrite_uses(&intr->dest.ssa, result); in lower_32b_offset_load()
465 nir_instr_remove(&intr->instr); in lower_32b_offset_load()
520 lower_32b_offset_store(nir_builder *b, nir_intrinsic_instr *intr) in lower_32b_offset_store() argument
522 assert(intr->src[0].is_ssa); in lower_32b_offset_store()
523 unsigned num_components = nir_src_num_components(intr->src[0]); in lower_32b_offset_store()
524 unsigned bit_size = nir_src_bit_size(intr->src[0]); in lower_32b_offset_store()
527 b->cursor = nir_before_instr(&intr->instr); in lower_32b_offset_store()
528 nir_intrinsic_op op = intr->intrinsic; in lower_32b_offset_store()
530 nir_ssa_def *offset = intr->src[1].ssa; in lower_32b_offset_store()
532 offset = nir_iadd(b, offset, nir_imm_int(b, nir_intrinsic_base(intr))); in lower_32b_offset_store()
542 comps[i] = nir_channel(b, intr->src[0].ssa, i); in lower_32b_offset_store()
565 nir_instr_remove(&intr->instr); in lower_32b_offset_store()
594 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(use_src->parent_instr); in ubo_to_temp_update_entry() local
595 if (intr->intrinsic != nir_intrinsic_load_deref) in ubo_to_temp_update_entry()
689 lower_load_ubo(nir_builder *b, nir_intrinsic_instr *intr) in lower_load_ubo() argument
691 assert(intr->dest.is_ssa); in lower_load_ubo()
692 assert(intr->src[0].is_ssa); in lower_load_ubo()
693 assert(intr->src[1].is_ssa); in lower_load_ubo()
695 b->cursor = nir_before_instr(&intr->instr); in lower_load_ubo()
698 build_load_ubo_dxil(b, intr->src[0].ssa, intr->src[1].ssa, in lower_load_ubo()
699 nir_dest_num_components(intr->dest), in lower_load_ubo()
700 nir_dest_bit_size(intr->dest)); in lower_load_ubo()
702 nir_ssa_def_rewrite_uses(&intr->dest.ssa, result); in lower_load_ubo()
703 nir_instr_remove(&intr->instr); in lower_load_ubo()
724 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in dxil_nir_lower_loads_stores_to_dxil() local
726 switch (intr->intrinsic) { in dxil_nir_lower_loads_stores_to_dxil()
728 progress |= lower_load_deref(&b, intr); in dxil_nir_lower_loads_stores_to_dxil()
732 progress |= lower_32b_offset_load(&b, intr); in dxil_nir_lower_loads_stores_to_dxil()
735 progress |= lower_load_ssbo(&b, intr); in dxil_nir_lower_loads_stores_to_dxil()
738 progress |= lower_load_ubo(&b, intr); in dxil_nir_lower_loads_stores_to_dxil()
742 progress |= lower_32b_offset_store(&b, intr); in dxil_nir_lower_loads_stores_to_dxil()
745 progress |= lower_store_ssbo(&b, intr); in dxil_nir_lower_loads_stores_to_dxil()
758 lower_shared_atomic(nir_builder *b, nir_intrinsic_instr *intr, in lower_shared_atomic() argument
761 b->cursor = nir_before_instr(&intr->instr); in lower_shared_atomic()
763 assert(intr->src[0].is_ssa); in lower_shared_atomic()
765 nir_iadd(b, intr->src[0].ssa, nir_imm_int(b, nir_intrinsic_base(intr))); in lower_shared_atomic()
770 assert(intr->src[1].is_ssa); in lower_shared_atomic()
771 atomic->src[1] = nir_src_for_ssa(intr->src[1].ssa); in lower_shared_atomic()
773 assert(intr->src[2].is_ssa); in lower_shared_atomic()
774 atomic->src[2] = nir_src_for_ssa(intr->src[2].ssa); in lower_shared_atomic()
780 nir_ssa_def_rewrite_uses(&intr->dest.ssa, &atomic->dest.ssa); in lower_shared_atomic()
781 nir_instr_remove(&intr->instr); in lower_shared_atomic()
802 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in dxil_nir_lower_atomics_to_dxil() local
804 switch (intr->intrinsic) { in dxil_nir_lower_atomics_to_dxil()
808 progress |= lower_shared_atomic(&b, intr, \ in dxil_nir_lower_atomics_to_dxil()
981 lower_memcpy_deref(nir_builder *b, nir_intrinsic_instr *intr) in lower_memcpy_deref() argument
983 nir_deref_instr *dst_deref = nir_src_as_deref(intr->src[0]); in lower_memcpy_deref()
984 nir_deref_instr *src_deref = nir_src_as_deref(intr->src[1]); in lower_memcpy_deref()
985 assert(intr->src[2].is_ssa); in lower_memcpy_deref()
986 nir_ssa_def *num_bytes = intr->src[2].ssa; in lower_memcpy_deref()
990 b->cursor = nir_after_instr(&intr->instr); in lower_memcpy_deref()
1018 nir_instr_remove(&intr->instr); in lower_memcpy_deref()
1040 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in dxil_nir_lower_memcpy_deref() local
1042 if (intr->intrinsic == nir_intrinsic_memcpy_deref) in dxil_nir_lower_memcpy_deref()
1043 progress |= lower_memcpy_deref(&b, intr); in dxil_nir_lower_memcpy_deref()
1476 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_bool_input_filter() local
1477 if (intr->intrinsic == nir_intrinsic_load_front_face) in lower_bool_input_filter()
1480 if (intr->intrinsic == nir_intrinsic_load_deref) { in lower_bool_input_filter()
1481 nir_deref_instr *deref = nir_instr_as_deref(intr->src[0].ssa->parent_instr); in lower_bool_input_filter()
1494 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr); in lower_bool_input_impl() local
1496 if (intr->intrinsic == nir_intrinsic_load_deref) { in lower_bool_input_impl()
1497 nir_deref_instr *deref = nir_instr_as_deref(intr->src[0].ssa->parent_instr); in lower_bool_input_impl()
1506 intr->dest.ssa.bit_size = 32; in lower_bool_input_impl()
1507 return nir_i2b1(b, &intr->dest.ssa); in lower_bool_input_impl()