Lines Matching refs:src

92 nir_alu_src_type(const nir_alu_instr *instr, unsigned src)
94 return nir_alu_type_get_base_type(nir_op_infos[instr->op].input_types[src]) |
95 nir_src_bit_size(instr->src[src].src);
99 analyze_constant(const struct nir_alu_instr *instr, unsigned src,
110 const unsigned num_components = nir_ssa_alu_instr_src_components(instr, src);
113 swizzle[i] = instr->src[src].swizzle[i];
116 nir_instr_as_load_const(instr->src[src].src.ssa->parent_instr);
432 analyze_expression(const nir_alu_instr *instr, unsigned src,
438 if (!instr->src[src].src.is_ssa)
441 if (nir_src_is_const(instr->src[src].src))
442 return analyze_constant(instr, src, use_type);
444 if (instr->src[src].src.ssa->parent_instr->type != nir_instr_type_alu)
448 nir_instr_as_alu(instr->src[src].src.ssa->parent_instr);
1224 const nir_alu_instr *instr, unsigned src)
1226 return analyze_expression(instr, src, range_ht,
1227 nir_alu_src_type(instr, src));
1255 nir_foreach_phi_src(src, phi) {
1257 unsigned added = search_phi_bcsel(nir_get_ssa_scalar(src->src.ssa, 0),
1381 uint32_t src1 = nir_unsigned_upper_bound(shader, range_ht, nir_get_ssa_scalar(intrin->src[1].ssa, 0), config);
1407 if (shader->info.stage == MESA_SHADER_VERTEX && nir_src_is_const(intrin->src[0])) {
1422 res = nir_unsigned_upper_bound(shader, range_ht, nir_get_ssa_scalar(intrin->src[0].ssa, 0), config);
1437 res = nir_unsigned_upper_bound(shader, range_ht, nir_get_ssa_scalar(intrin->src[0].ssa, 0), config);
1440 uint32_t src0 = nir_unsigned_upper_bound(shader, range_ht, nir_get_ssa_scalar(intrin->src[0].ssa, 0), config);
1441 uint32_t src1 = nir_unsigned_upper_bound(shader, range_ht, nir_get_ssa_scalar(intrin->src[1].ssa, 0), config);
1480 nir_foreach_phi_src(src, nir_instr_as_phi(scalar.def->parent_instr)) {
1482 shader, range_ht, nir_get_ssa_scalar(src->src.ssa, 0), config));
1525 /* If src is >32 bits, return max */
1740 nir_foreach_use(src, def) {
1741 switch (src->parent_instr->type) {
1743 nir_alu_instr *use_alu = nir_instr_as_alu(src->parent_instr);
1744 unsigned src_idx = container_of(src, nir_alu_src, src) - use_alu->src;
1780 if (src_idx == 0 && nir_src_is_const(use_alu->src[1].src)) {
1781 unsigned chunk = nir_src_comp_as_uint(use_alu->src[1].src,
1782 use_alu->src[1].swizzle[0]);
1791 if (src_idx == 0 && nir_src_is_const(use_alu->src[1].src)) {
1792 unsigned chunk = nir_src_comp_as_uint(use_alu->src[1].src,
1793 use_alu->src[1].swizzle[0]);
1804 bits_used |= (nir_src_bit_size(use_alu->src[0].src) - 1);
1812 if (nir_src_is_const(use_alu->src[1 - src_idx].src)) {
1813 uint64_t u64 = nir_src_comp_as_uint(use_alu->src[1 - src_idx].src,
1814 use_alu->src[1 - src_idx].swizzle[0]);
1823 if (nir_src_is_const(use_alu->src[1 - src_idx].src)) {
1824 uint64_t u64 = nir_src_comp_as_uint(use_alu->src[1 - src_idx].src,
1825 use_alu->src[1 - src_idx].swizzle[0]);
1841 nir_instr_as_intrinsic(src->parent_instr);
1842 unsigned src_idx = src - use_intrin->src;
1893 nir_phi_instr *use_phi = nir_instr_as_phi(src->parent_instr);