Lines Matching defs:instr

129                          nir_intrinsic_instr *instr,
133 uint32_t base = nir_intrinsic_base(instr);
148 nir_load_uniform(b, instr->num_components,
149 instr->dest.ssa.bit_size,
150 nir_ushr(b, instr->src[0].ssa, nir_imm_int(b, 2)),
153 nir_ssa_def_rewrite_uses(&instr->dest.ssa, load);
155 nir_instr_remove(&instr->instr);
159 lower_vulkan_resource_index(nir_builder *b, nir_intrinsic_instr *instr,
163 nir_ssa_def *vulkan_idx = instr->src[0].ssa;
165 unsigned set = nir_intrinsic_desc_set(instr);
166 unsigned binding = nir_intrinsic_binding(instr);
194 nir_ssa_def_rewrite_uses(&instr->dest.ssa, def);
195 nir_instr_remove(&instr->instr);
199 lower_vulkan_resource_reindex(nir_builder *b, nir_intrinsic_instr *instr)
201 nir_ssa_def *old_index = instr->src[0].ssa;
202 nir_ssa_def *delta = instr->src[1].ssa;
211 nir_ssa_def_rewrite_uses(&instr->dest.ssa, new_index);
212 nir_instr_remove(&instr->instr);
227 nir_instr_remove(&intrin->instr);
268 nir_instr_rewrite_src_ssa(&intrin->instr, &intrin->src[buffer_src], bindless);
297 nir_ssa_dest_init(&copy->instr, &copy->dest,
304 nir_builder_instr_insert(b, &copy->instr);
320 nir_instr_remove(&intrin->instr);
386 nir_intrinsic_instr *instr, struct tu_shader *shader,
389 nir_deref_instr *deref = nir_src_as_deref(instr->src[0]);
391 nir_rewrite_image_intrinsic(instr, bindless, true);
395 lower_intrinsic(nir_builder *b, nir_intrinsic_instr *instr,
400 switch (instr->intrinsic) {
402 lower_load_push_constant(dev, b, instr, shader, layout);
406 lower_load_vulkan_descriptor(b, instr);
410 lower_vulkan_resource_index(b, instr, shader, layout);
413 lower_vulkan_resource_reindex(b, instr);
434 lower_ssbo_ubo_intrinsic(dev, b, instr);
451 lower_image_deref(dev, b, instr, shader, layout);
499 builder->cursor = nir_after_instr(&tex->instr);
526 builder->cursor = nir_before_instr(&tex->instr);
539 nir_instr_rewrite_src(&tex->instr, &tex->src[sampler_src_idx].src,
548 nir_instr_rewrite_src(&tex->instr, &tex->src[tex_src_idx].src,
567 lower_instr(nir_builder *b, nir_instr *instr, void *cb_data)
570 b->cursor = nir_before_instr(instr);
571 switch (instr->type) {
573 return lower_tex(b, nir_instr_as_tex(instr), params->dev, params->shader, params->layout);
575 return lower_intrinsic(b, nir_instr_as_intrinsic(instr), params->dev, params->shader, params->layout);
595 nir_foreach_instr_safe(instr, block) {
596 if (instr->type != nir_instr_type_intrinsic)
599 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);