Lines Matching defs:intrin
88 is_input(nir_intrinsic_instr *intrin)
90 return intrin->intrinsic == nir_intrinsic_load_input ||
91 intrin->intrinsic == nir_intrinsic_load_per_vertex_input ||
92 intrin->intrinsic == nir_intrinsic_load_interpolated_input;
96 is_output(nir_intrinsic_instr *intrin)
98 return intrin->intrinsic == nir_intrinsic_load_output ||
99 intrin->intrinsic == nir_intrinsic_load_per_vertex_output ||
100 intrin->intrinsic == nir_intrinsic_store_output ||
101 intrin->intrinsic == nir_intrinsic_store_per_vertex_output;
117 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
121 if ((stage == MESA_SHADER_TESS_CTRL && is_output(intrin)) ||
122 (stage == MESA_SHADER_TESS_EVAL && is_input(intrin))) {
125 remap_tess_levels(b, intrin, tes_primitive_mode))
128 int vue_slot = vue_map->varying_to_slot[intrin->const_index[0]];
130 intrin->const_index[0] = vue_slot;
132 nir_src *vertex = nir_get_io_arrayed_index_src(intrin);
135 intrin->const_index[0] += nir_src_as_uint(*vertex) *
138 b->cursor = nir_before_instr(&intrin->instr);
148 nir_src *offset = nir_get_io_offset_src(intrin);
153 nir_instr_rewrite_src(&intrin->instr, offset,
210 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
212 switch (intrin->intrinsic) {
219 b.cursor = nir_after_instr(&intrin->instr);
230 switch (intrin->intrinsic) {
249 if (intrin->intrinsic == nir_intrinsic_load_draw_id)
262 nir_ssa_def_rewrite_uses(&intrin->dest.ssa,
264 nir_instr_remove(&intrin->instr);
274 int attr = nir_intrinsic_base(intrin);
285 nir_intrinsic_set_base(intrin, slot);
322 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
324 if (intrin->intrinsic == nir_intrinsic_load_input ||
325 intrin->intrinsic == nir_intrinsic_load_per_vertex_input) {
330 int varying = nir_intrinsic_base(intrin);
334 nir_intrinsic_set_base(intrin, 0);
335 nir_intrinsic_set_component(intrin, 3);
341 nir_intrinsic_set_base(intrin, vue_slot);
397 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
399 if (intrin->intrinsic != nir_intrinsic_load_barycentric_at_offset)
404 assert(intrin->src[0].ssa);
408 intrin->src[0].ssa)));
410 nir_instr_rewrite_src(instr, &intrin->src[0], nir_src_for_ssa(offset));
717 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
718 switch (intrin->intrinsic) {
731 if (intrin->src[0].ssa->bit_size == 8)
752 if (intrin->dest.ssa.bit_size == 8)