Lines Matching defs:instr
89 void add_instr(nir_instr *instr, unsigned num_components, unsigned bit_size);
892 nir_jump_instr *instr = nir_jump_instr_create(this->shader, type);
893 nir_builder_instr_insert(&b, &instr->instr);
908 nir_jump_instr *instr = nir_jump_instr_create(this->shader, nir_jump_return);
909 nir_builder_instr_insert(&b, &instr->instr);
1228 nir_intrinsic_instr *instr = nir_intrinsic_instr_create(shader, op);
1229 nir_ssa_def *ret = &instr->dest.ssa;
1266 instr->src[0] = nir_src_for_ssa(&nir_deref->dest.ssa);
1268 nir_intrinsic_set_access(instr, deref_get_qualifier(nir_deref));
1273 instr->src[1] = nir_src_for_ssa(evaluate_rvalue(inst->as_rvalue()));
1281 instr->src[2] = nir_src_for_ssa(evaluate_rvalue(inst->as_rvalue()));
1287 nir_ssa_dest_init(&instr->instr, &instr->dest,
1290 nir_ssa_dest_init(&instr->instr, &instr->dest,
1293 nir_builder_instr_insert(&b, &instr->instr);
1311 instr->src[0] = nir_src_for_ssa(&evaluate_deref(counter)->dest.ssa);
1316 nir_ssa_dest_init(&instr->instr, &instr->dest, 1, 32, NULL);
1321 instr->src[1] =
1327 instr->src[2] =
1332 nir_builder_instr_insert(&b, &instr->instr);
1359 nir_intrinsic_set_access(instr, deref_get_qualifier(deref));
1361 instr->src[0] = nir_src_for_ssa(&deref->dest.ssa);
1363 nir_intrinsic_set_image_dim(instr,
1365 nir_intrinsic_set_image_array(instr, type->sampler_array);
1378 nir_ssa_dest_init(&instr->instr, &instr->dest,
1383 instr->num_components = instr->dest.ssa.num_components;
1386 instr->num_components = instr->dest.ssa.num_components;
1387 nir_intrinsic_set_dest_type(instr,
1390 instr->num_components = 4;
1391 nir_intrinsic_set_src_type(instr,
1401 instr->src[1] = nir_src_for_ssa(nir_imm_int(&b, 0));
1402 nir_builder_instr_insert(&b, &instr->instr);
1420 instr->src[1] = nir_src_for_ssa(nir_vec(&b, srcs, 4));
1427 instr->src[2] =
1431 instr->src[2] = nir_src_for_ssa(nir_ssa_undef(&b, 1, 32));
1436 instr->src[3] =
1441 instr->src[3] = nir_src_for_ssa(nir_imm_int(&b, 0)); /* LOD */
1445 instr->src[4] =
1449 instr->src[4] = nir_src_for_ssa(nir_imm_int(&b, 0)); /* LOD */
1452 nir_builder_instr_insert(&b, &instr->instr);
1461 nir_builder_instr_insert(&b, &instr->instr);
1464 nir_ssa_dest_init(&instr->instr, &instr->dest, 2, 32, NULL);
1465 nir_intrinsic_set_memory_scope(instr, NIR_SCOPE_SUBGROUP);
1466 nir_builder_instr_insert(&b, &instr->instr);
1469 nir_builder_instr_insert(&b, &instr->instr);
1472 nir_builder_instr_insert(&b, &instr->instr);
1492 instr->src[0] = nir_src_for_ssa(nir_val);
1493 instr->src[1] = nir_src_for_ssa(evaluate_rvalue(block));
1494 instr->src[2] = nir_src_for_ssa(evaluate_rvalue(offset));
1495 intrinsic_set_std430_align(instr, val->type);
1496 nir_intrinsic_set_write_mask(instr, write_mask->value.u[0]);
1497 instr->num_components = val->type->vector_elements;
1499 nir_builder_instr_insert(&b, &instr->instr);
1506 nir_intrinsic_set_base(instr, 0);
1507 instr->src[0] = nir_src_for_ssa(evaluate_rvalue(offset));
1510 instr->num_components = type->vector_elements;
1511 intrinsic_set_std430_align(instr, type);
1515 nir_ssa_dest_init(&instr->instr, &instr->dest,
1518 nir_builder_instr_insert(&b, &instr->instr);
1522 ret = nir_b2b1(&b, &instr->dest.ssa);
1536 nir_intrinsic_set_base(instr, 0);
1537 instr->src[1] = nir_src_for_ssa(evaluate_rvalue(offset));
1539 nir_intrinsic_set_write_mask(instr, write_mask->value.u[0]);
1546 instr->src[0] = nir_src_for_ssa(nir_val);
1547 instr->num_components = val->type->vector_elements;
1548 intrinsic_set_std430_align(instr, val->type);
1550 nir_builder_instr_insert(&b, &instr->instr);
1573 instr->src[0] = nir_src_for_ssa(evaluate_rvalue(inst->as_rvalue()));
1578 instr->src[1] = nir_src_for_ssa(evaluate_rvalue(inst->as_rvalue()));
1586 instr->src[2] =
1593 nir_ssa_dest_init(&instr->instr, &instr->dest,
1596 nir_builder_instr_insert(&b, &instr->instr);
1600 instr->num_components = 1;
1604 nir_ssa_dest_init(&instr->instr, &instr->dest, 1, 1, NULL);
1607 instr->src[0] = nir_src_for_ssa(evaluate_rvalue(value));
1609 nir_builder_instr_insert(&b, &instr->instr);
1614 nir_ssa_dest_init(&instr->instr, &instr->dest,
1616 instr->num_components = ir->return_deref->type->vector_elements;
1619 instr->src[0] = nir_src_for_ssa(evaluate_rvalue(value));
1621 nir_builder_instr_insert(&b, &instr->instr);
1625 nir_ssa_dest_init(&instr->instr, &instr->dest,
1627 instr->num_components = ir->return_deref->type->vector_elements;
1630 instr->src[0] = nir_src_for_ssa(evaluate_rvalue(value));
1633 instr->src[1] = nir_src_for_ssa(evaluate_rvalue(invocation));
1635 nir_builder_instr_insert(&b, &instr->instr);
1639 nir_ssa_dest_init(&instr->instr, &instr->dest,
1641 instr->num_components = ir->return_deref->type->vector_elements;
1644 instr->src[0] = nir_src_for_ssa(evaluate_rvalue(value));
1646 nir_builder_instr_insert(&b, &instr->instr);
1650 nir_ssa_dest_init(&instr->instr, &instr->dest, 1, 1, NULL);
1651 nir_builder_instr_insert(&b, &instr->instr);
1655 nir_ssa_dest_init(&instr->instr, &instr->dest, 1, 1, NULL);
1658 instr->src[0] = nir_src_for_ssa(evaluate_rvalue(value));
1660 nir_builder_instr_insert(&b, &instr->instr);
1716 nir_builder_instr_insert(&b, &call->instr);
1788 get_instr_dest(nir_instr *instr)
1794 switch (instr->type) {
1796 alu_instr = nir_instr_as_alu(instr);
1800 intrinsic_instr = nir_instr_as_intrinsic(instr);
1807 tex_instr = nir_instr_as_tex(instr);
1818 nir_visitor::add_instr(nir_instr *instr, unsigned num_components,
1821 nir_dest *dest = get_instr_dest(instr);
1824 nir_ssa_dest_init(instr, dest, num_components, bit_size, NULL);
1826 nir_builder_instr_insert(&b, instr);
1925 add_instr(&intrin->instr, deref->type->vector_elements, bit_size);
1947 add_instr(&intrin->instr, 1, 32);
2171 add_instr(&load->instr, ir->type->vector_elements, bit_size);
2483 nir_tex_instr *instr = nir_tex_instr_create(this->shader, num_srcs);
2485 instr->op = op;
2486 instr->sampler_dim =
2488 instr->is_array = ir->sampler->type->sampler_array;
2489 instr->is_shadow = ir->sampler->type->sampler_shadow;
2494 if (instr->is_shadow)
2495 instr->is_new_style_shadow = (dest_type->vector_elements == 1);
2496 instr->dest_type = nir_get_nir_type_for_glsl_type(dest_type);
2497 instr->is_sparse = ir->is_sparse;
2505 instr->src[0].src = nir_src_for_ssa(load);
2506 instr->src[0].src_type = nir_tex_src_texture_handle;
2507 instr->src[1].src = nir_src_for_ssa(load);
2508 instr->src[1].src_type = nir_tex_src_sampler_handle;
2510 instr->src[0].src = nir_src_for_ssa(&sampler_deref->dest.ssa);
2511 instr->src[0].src_type = nir_tex_src_texture_deref;
2512 instr->src[1].src = nir_src_for_ssa(&sampler_deref->dest.ssa);
2513 instr->src[1].src_type = nir_tex_src_sampler_deref;
2519 instr->coord_components = ir->coordinate->type->vector_elements;
2520 instr->src[src_number].src =
2522 instr->src[src_number].src_type = nir_tex_src_coord;
2527 instr->src[src_number].src =
2529 instr->src[src_number].src_type = nir_tex_src_projector;
2534 instr->src[src_number].src =
2536 instr->src[src_number].src_type = nir_tex_src_comparator;
2548 instr->tg4_offsets[i][j] = val;
2554 instr->src[src_number].src =
2556 instr->src[src_number].src_type = nir_tex_src_offset;
2562 instr->src[src_number].src =
2564 instr->src[src_number].src_type = nir_tex_src_min_lod;
2570 instr->src[src_number].src =
2572 instr->src[src_number].src_type = nir_tex_src_bias;
2580 instr->src[src_number].src =
2582 instr->src[src_number].src_type = nir_tex_src_lod;
2588 instr->src[src_number].src =
2590 instr->src[src_number].src_type = nir_tex_src_ddx;
2592 instr->src[src_number].src =
2594 instr->src[src_number].src_type = nir_tex_src_ddy;
2599 instr->src[src_number].src =
2601 instr->src[src_number].src_type = nir_tex_src_ms_index;
2606 instr->component = ir->lod_info.component->as_constant()->value.u[0];
2616 add_instr(&instr->instr, nir_tex_instr_dest_size(instr), bit_size);