Home | History | Annotate | Download | only in nir

Lines Matching refs:intrin

158 lower_load(nir_intrinsic_instr *intrin, struct lower_io_state *state,
163 nir_variable *var = intrin->variables[0]->var;
208 load->num_components = intrin->num_components;
231 lower_store(nir_intrinsic_instr *intrin, struct lower_io_state *state,
235 nir_variable *var = intrin->variables[0]->var;
249 store->num_components = intrin->num_components;
251 nir_src_copy(&store->src[0], &intrin->src[0], store);
258 nir_intrinsic_set_write_mask(store, nir_intrinsic_write_mask(intrin));
269 lower_atomic(nir_intrinsic_instr *intrin, struct lower_io_state *state,
272 nir_variable *var = intrin->variables[0]->var;
277 switch (intrin->intrinsic) {
300 for (unsigned i = 0; i < nir_intrinsic_infos[intrin->intrinsic].num_srcs; i++) {
301 nir_src_copy(&atomic->src[i+1], &intrin->src[i], atomic);
308 lower_interpolate_at(nir_intrinsic_instr *intrin, struct lower_io_state *state,
311 nir_variable *var = intrin->variables[0]->var;
317 return lower_load(intrin, state, NULL, offset, component);
320 switch (intrin->intrinsic) {
342 if (intrin->intrinsic != nir_intrinsic_interp_var_at_centroid)
343 nir_src_copy(&bary_setup->src[0], &intrin->src[0], bary_setup);
350 load->num_components = intrin->num_components;
372 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
374 switch (intrin->intrinsic) {
400 nir_variable *var = intrin->variables[0]->var;
420 offset = get_io_offset(b, intrin->variables[0],
426 switch (intrin->intrinsic) {
428 replacement = lower_load(intrin, state, vertex_index, offset,
433 replacement = lower_store(intrin, state, vertex_index, offset,
448 replacement = lower_atomic(intrin, state, offset);
455 replacement = lower_interpolate_at(intrin, state, offset,
463 if (nir_intrinsic_infos[intrin->intrinsic].has_dest) {
464 if (intrin->dest.is_ssa) {
466 intrin->dest.ssa.num_components,
467 intrin->dest.ssa.bit_size, NULL);
468 nir_ssa_def_rewrite_uses(&intrin->dest.ssa,
471 nir_dest_copy(&replacement->dest, &intrin->dest, &intrin->instr);
475 nir_instr_insert_before(&intrin->instr, &replacement->instr);
476 nir_instr_remove(&intrin->instr);