Lines Matching defs:src
35 nir_ssa_def *src;
424 write_var_list(write_ctx *ctx, const struct exec_list *src)
426 blob_write_uint32(ctx->blob, exec_list_length(src));
427 foreach_list_typed(nir_variable, var, node, src) {
473 write_reg_list(write_ctx *ctx, const struct exec_list *src)
475 blob_write_uint32(ctx->blob, exec_list_length(src));
476 foreach_list_typed(nir_register, reg, node, src)
516 write_src_full(write_ctx *ctx, const nir_src *src, union packed_src header)
524 header.any.is_ssa = src->is_ssa;
525 if (src->is_ssa) {
526 header.any.object_idx = write_lookup_object(ctx, src->ssa);
529 header.any.object_idx = write_lookup_object(ctx, src->reg.reg);
530 header.any.is_indirect = !!src->reg.indirect;
532 blob_write_uint32(ctx->blob, src->reg.base_offset);
533 if (src->reg.indirect) {
535 write_src_full(ctx, src->reg.indirect, header);
541 write_src(write_ctx *ctx, const nir_src *src)
544 write_src_full(ctx, src, header);
548 read_src(read_ctx *ctx, nir_src *src, void *mem_ctx)
554 src->is_ssa = header.any.is_ssa;
555 if (src->is_ssa) {
556 src->ssa = read_lookup_object(ctx, header.any.object_idx);
558 src->reg.reg = read_lookup_object(ctx, header.any.object_idx);
559 src->reg.base_offset = blob_read_uint32(ctx->blob);
561 src->reg.indirect = malloc(sizeof(nir_src));
562 read_src(ctx, src->reg.indirect, mem_ctx);
564 src->reg.indirect = NULL;
801 if (!alu->src[i].src.is_ssa || alu->src[i].abs || alu->src[i].negate)
811 alu->src[i].swizzle[chan] < 4)
814 if (alu->src[i].swizzle[chan] != chan)
844 header.alu.writemask_or_two_swizzles = alu->src[0].swizzle[0];
846 header.alu.writemask_or_two_swizzles |= alu->src[1].swizzle[0] << 2;
859 assert(alu->src[i].src.is_ssa);
860 unsigned idx = write_lookup_object(ctx, alu->src[i].src.ssa);
867 unsigned src_components = nir_src_num_components(alu->src[i].src);
868 union packed_src src;
870 src.u32 = 0;
872 src.alu.negate = alu->src[i].negate;
873 src.alu.abs = alu->src[i].abs;
876 src.alu.swizzle_x = alu->src[i].swizzle[0];
877 src.alu.swizzle_y = alu->src[i].swizzle[1];
878 src.alu.swizzle_z = alu->src[i].swizzle[2];
879 src.alu.swizzle_w = alu->src[i].swizzle[3];
882 write_src_full(ctx, &alu->src[i].src, src);
890 value |= (uint32_t)alu->src[i].swizzle[o + j] <<
926 nir_alu_src *src = &alu->src[i];
927 src->src.is_ssa = true;
928 src->src.ssa = read_lookup_object(ctx, blob_read_uint16(ctx->blob));
930 memset(&src->swizzle, 0, sizeof(src->swizzle));
935 src->swizzle[chan] = chan;
939 union packed_src src = read_src(ctx, &alu->src[i].src, &alu->instr);
941 unsigned src_components = nir_src_num_components(alu->src[i].src);
944 alu->src[i].negate = src.alu.negate;
945 alu->src[i].abs = src.alu.abs;
947 memset(&alu->src[i].swizzle, 0, sizeof(alu->src[i].swizzle));
950 alu->src[i].swizzle[0] = src.alu.swizzle_x;
951 alu->src[i].swizzle[1] = src.alu.swizzle_y;
952 alu->src[i].swizzle[2] = src.alu.swizzle_z;
953 alu->src[i].swizzle[3] = src.alu.swizzle_w;
960 alu->src[i].swizzle[o + j] =
970 alu->src[0].swizzle[0] = header.alu.writemask_or_two_swizzles & 0x3;
972 alu->src[1].swizzle[0] = header.alu.writemask_or_two_swizzles >> 2;
1226 write_src(ctx, &intrin->src[i]);
1259 read_src(ctx, &intrin->src[i], &intrin->instr);
1261 /* Vectorized instrinsics have num_components same as dst or src that has
1270 intrin->num_components = nir_src_num_components(intrin->src[i]);
1547 union packed_src src;
1548 src.u32 = 0;
1549 src.tex.src_type = tex->src[i].src_type;
1550 write_src_full(ctx, &tex->src[i].src, src);
1582 union packed_src src = read_src(ctx, &tex->src[i].src, &tex->instr);
1583 tex->src[i].src_type = src.tex.src_type;
1605 nir_foreach_phi_src(src, phi) {
1606 assert(src->src.is_ssa);
1612 .src = src->src.ssa,
1613 .block = src->pred,
1624 write_lookup_object(ctx, fixup->src));
1652 nir_phi_src *src = nir_phi_instr_add_src(phi, pred, nir_src_for_ssa(def));
1658 src->src.parent_instr = &phi->instr;
1663 list_add(&src->src.use_link, &ctx->phi_srcs);
1672 list_for_each_entry_safe(nir_phi_src, src, &ctx->phi_srcs, src.use_link) {
1673 src->pred = read_lookup_object(ctx, (uintptr_t)src->pred);
1674 src->src.ssa = read_lookup_object(ctx, (uintptr_t)src->src.ssa);
1677 list_del(&src->src.use_link);
1679 list_addtail(&src->src.use_link, &src->src.ssa->uses);