Lines Matching refs:fs_reg
52 fs_inst::init(enum opcode opcode, uint8_t exec_size, const fs_reg &dst,
53 const fs_reg *src, unsigned sources)
57 this->src = new fs_reg[MAX2(sources, 3)];
103 fs_inst::fs_inst(enum opcode opcode, uint8_t exec_size, const fs_reg &dst)
108 fs_inst::fs_inst(enum opcode opcode, uint8_t exec_size, const fs_reg &dst,
109 const fs_reg &src0)
111 const fs_reg src[1] = { src0 };
115 fs_inst::fs_inst(enum opcode opcode, uint8_t exec_size, const fs_reg &dst,
116 const fs_reg &src0, const fs_reg &src1)
118 const fs_reg src[2] = { src0, src1 };
122 fs_inst::fs_inst(enum opcode opcode, uint8_t exec_size, const fs_reg &dst,
123 const fs_reg &src0, const fs_reg &src1, const fs_reg &src2)
125 const fs_reg src[3] = { src0, src1, src2 };
129 fs_inst::fs_inst(enum opcode opcode, uint8_t exec_width, const fs_reg &dst,
130 const fs_reg src[], unsigned sources)
139 this->src = new fs_reg[MAX2(that.sources, 3)];
154 fs_reg *src = new fs_reg[MAX2(num_sources, 3)];
167 const fs_reg &dst,
168 const fs_reg &surf_index,
169 const fs_reg &varying_offset,
178 * and a portion done using fs_reg::offset, which means that if you have
184 fs_reg vec4_offset = vgrf(glsl_type::uint_type);
193 fs_reg vec4_result = bld.vgrf(BRW_REGISTER_TYPE_F, 4);
216 ubld.MOV(ubld.null_reg_f(), fs_reg(VGRF, grf, BRW_REGISTER_TYPE_F));
485 fs_reg::init()
493 fs_reg::fs_reg()
499 fs_reg::fs_reg(struct ::brw_reg reg) :
513 fs_reg::equals(const fs_reg &r) const
520 fs_reg::negative_equals(const fs_reg &r) const
527 fs_reg::is_contiguous() const
548 fs_reg::component_size(unsigned width) const
559 fs_reg
564 fs_reg ts = fs_reg(retype(brw_vec4_reg(BRW_ARCHITECTURE_REGISTER_FILE,
569 fs_reg dst = fs_reg(VGRF, alloc.allocate(1), BRW_REGISTER_TYPE_UD);
1004 flag_mask(const fs_reg &r, unsigned sz)
1115 fs_reg
1119 return fs_reg(VGRF,
1124 fs_reg::fs_reg(enum brw_reg_file file, int nr)
1133 fs_reg::fs_reg(enum brw_reg_file file, int nr, enum brw_reg_type type)
1156 fs_visitor::emit_fragcoord_interpolation(fs_reg wpos)
1225 fs_reg
1228 fs_reg ff = bld.vgrf(BRW_REGISTER_TYPE_D);
1231 fs_reg g1 = fs_reg(retype(brw_vec1_grf(1, 1), BRW_REGISTER_TYPE_W));
1233 fs_reg tmp = bld.vgrf(BRW_REGISTER_TYPE_W);
1248 fs_reg g0 = fs_reg(retype(brw_vec1_grf(0, 0), BRW_REGISTER_TYPE_W));
1263 fs_reg g1_6 = fs_reg(retype(brw_vec1_grf(1, 6), BRW_REGISTER_TYPE_D));
1272 fs_reg
1280 fs_reg pos = abld.vgrf(BRW_REGISTER_TYPE_F, 2);
1304 const fs_reg sample_pos_reg =
1308 fs_reg tmp_d = bld.vgrf(BRW_REGISTER_TYPE_D);
1311 fs_reg tmp_f = bld.vgrf(BRW_REGISTER_TYPE_F);
1320 fs_reg
1328 fs_reg sample_id = abld.vgrf(BRW_REGISTER_TYPE_UD);
1361 const fs_reg tmp = abld.vgrf(BRW_REGISTER_TYPE_UW);
1373 const fs_reg t1 = component(abld.vgrf(BRW_REGISTER_TYPE_UD), 0);
1374 const fs_reg t2 = abld.vgrf(BRW_REGISTER_TYPE_UW);
1400 .AND(t1, fs_reg(retype(brw_vec1_grf(0, 0), BRW_REGISTER_TYPE_UD)),
1423 fs_reg
1430 fs_reg mask = bld.vgrf(BRW_REGISTER_TYPE_D);
1435 fs_reg coverage_mask =
1454 fs_reg one = vgrf(glsl_type::int_type);
1455 fs_reg enabled_mask = vgrf(glsl_type::int_type);
1466 fs_reg
1472 fs_reg rate = abld.vgrf(BRW_REGISTER_TYPE_UD);
1488 fs_reg actual_x = fs_reg(retype(brw_vec1_grf(1, 0), BRW_REGISTER_TYPE_UB));
1490 fs_reg actual_y = byte_offset(actual_x, 1);
1492 fs_reg int_rate_x = bld.vgrf(BRW_REGISTER_TYPE_UD);
1493 fs_reg int_rate_y = bld.vgrf(BRW_REGISTER_TYPE_UD);
1506 fs_reg
1507 fs_visitor::resolve_source_modifiers(const fs_reg &src)
1512 fs_reg temp = bld.vgrf(src.type);
1548 fs_reg srcs[URB_LOGICAL_NUM_SRCS];
1549 srcs[URB_LOGICAL_SRC_HANDLE] = fs_reg(retype(brw_vec8_grf(1, 0), BRW_REGISTER_TYPE_UD));
1554 fs_reg srcs[URB_LOGICAL_NUM_SRCS];
1555 srcs[URB_LOGICAL_SRC_HANDLE] = fs_reg(retype(brw_vec8_grf(1, 0), BRW_REGISTER_TYPE_UD));
1597 fs_reg base_addr = ubld.vgrf(BRW_REGISTER_TYPE_UD);
1602 fs_reg header0 = ubld.vgrf(BRW_REGISTER_TYPE_UD);
1617 fs_reg header;
1628 fs_reg srcs[4] = {
1632 fs_reg(), /* payload2 */
1635 fs_reg dest = retype(brw_vec8_grf(payload.num_regs + i, 0),
1708 fs_reg b32;
1711 fs_reg shifted = ubld.vgrf(BRW_REGISTER_TYPE_W, 2);
2258 ibld.UNDEF(fs_reg(VGRF, new_virtual_grf[reg], inst->dst.type));
2449 fs_visitor::get_pull_locs(const fs_reg &src,
2501 const fs_reg dst = ubld.vgrf(BRW_REGISTER_TYPE_UD);
2810 fs_reg tmp = inst->src[1];
2949 lp->dst = fs_reg(VGRF, alloc.allocate(lp->size_written / REG_SIZE), lp->dst.type);
2950 lp2->dst = fs_reg(VGRF, alloc.allocate(lp2->size_written / REG_SIZE), lp2->dst.type);
3090 mask_relative_to(const fs_reg &r, const fs_reg &s, unsigned ds)
3210 regions_overlap(fs_reg(MRF, scan_inst->base_mrf), scan_inst->mlen * REG_SIZE,
3352 fs_reg(UNIFORM, 0, BRW_REGISTER_TYPE_F));
3360 .MOV(brw_uvec_mrf(4, color_mrf, 0), fs_reg(reg));
3736 const fs_reg& surface = inst->src[0];
3737 const fs_reg& offset_B = inst->src[1];
3744 const fs_reg payload = ubld.vgrf(BRW_REGISTER_TYPE_UD);
3759 fs_reg ex_desc;
3788 const fs_reg payload = ubld.group(8, 0).vgrf(BRW_REGISTER_TYPE_UD);
3824 fs_reg dst = inst->dst;
3873 fs_reg compr4_dst = retype(dst, inst->src[i].type);
3878 fs_reg mov_dst = retype(dst, inst->src[i].type);
3938 fs_reg imm(VGRF, alloc.allocate(dispatch_width / 8), inst->dst.type);
3993 fs_reg orig_dst = inst->dst;
4000 fs_reg low = inst->dst;
4008 low = fs_reg(VGRF, alloc.allocate(regs_written(inst)),
4013 fs_reg high(VGRF, alloc.allocate(regs_written(inst)), inst->dst.type);
4082 fs_reg bd(VGRF, alloc.allocate(q_regs), BRW_REGISTER_TYPE_UQ);
4083 fs_reg ad(VGRF, alloc.allocate(d_regs), BRW_REGISTER_TYPE_UD);
4084 fs_reg bc(VGRF, alloc.allocate(d_regs), BRW_REGISTER_TYPE_UD);
4091 fs_reg bd_high(VGRF, alloc.allocate(d_regs), BRW_REGISTER_TYPE_UD);
4092 fs_reg bd_low(VGRF, alloc.allocate(d_regs), BRW_REGISTER_TYPE_UD);
4093 fs_reg acc = retype(brw_acc_reg(inst->exec_size), BRW_REGISTER_TYPE_UD);
4146 const fs_reg acc = retype(brw_acc_reg(inst->exec_size), inst->dst.type);
4319 fs_reg acc(ARF, BRW_ARF_ACCUMULATOR, inst->src[1].type);
4329 fs_reg tmp1 = ibld.vgrf(inst->src[0].type);
4330 fs_reg tmp2 = ibld.vgrf(inst->src[0].type);
4331 fs_reg tmp3 = ibld.vgrf(inst->src[0].type);
4375 fs_reg
4435 const fs_reg sample_mask = brw_sample_mask_reg(bld);
4464 fs_visitor::emit_is_helper_invocation(fs_reg result)
5139 static fs_reg
5145 const fs_reg src = horiz_offset(inst->src[i], lbld.group() - inst->group);
5154 const fs_reg tmp = lbld.vgrf(inst->src[i].type, inst->components_read(i));
5228 static fs_reg
5237 const fs_reg dst = horiz_offset(inst->dst, lbld_after.group() - inst->group);
5242 const fs_reg tmp = lbld_after.vgrf(inst->dst.type, dst_size);
5427 const fs_reg tmp = ibld.vgrf(inst->src[0].type, 2);
5428 fs_reg srcs[4];
5444 const fs_reg tmp = ibld.vgrf(inst->dst.type, 2);
5482 const fs_reg tmp0 = ibld.vgrf(inst->src[0].type);
5483 const fs_reg tmp1 = ibld.vgrf(inst->src[0].type);
5559 fs_reg exec_mask(retype(brw_mask_reg(0), BRW_REGISTER_TYPE_UD));
5571 fs_reg mask = ubld.vgrf(BRW_REGISTER_TYPE_UD);
5588 fs_reg tmp = ubld.vgrf(BRW_REGISTER_TYPE_UD, 1);
6219 fs_reg tmp = fs_reg(VGRF, alloc.allocate(inst->ex_mlen),
6225 fs_reg copy_src = retype(inst->src[3], BRW_REGISTER_TYPE_UD);
6226 fs_reg copy_dst = tmp;
6259 inst->dst = fs_reg(VGRF, alloc.allocate(dispatch_width / 8),
6319 fs_reg dst = ubld.vgrf(BRW_REGISTER_TYPE_UD);
6443 const fs_reg flag = retype(brw_flag_reg(0, 0),
6451 const fs_reg tmp = ubld.group(1, 0).vgrf(flag.type);
6673 fs_reg t = bld.vgrf(BRW_REGISTER_TYPE_UD);
6674 bld.AND(t, fs_reg(retype(brw_vec1_grf(0, 2), BRW_REGISTER_TYPE_UD)),
6687 fs_reg channels_uw = bld.vgrf(BRW_REGISTER_TYPE_UW);
6688 fs_reg channels_ud = bld.vgrf(BRW_REGISTER_TYPE_UD);
6689 bld.MOV(channels_uw, fs_reg(brw_imm_uv(0x76543210)));
6695 fs_reg instance_times_8 = bld.vgrf(BRW_REGISTER_TYPE_UD);
6747 fs_reg srcs[URB_LOGICAL_NUM_SRCS];
6907 const fs_reg dispatch_mask =
7637 fs_reg
7642 fs_reg id = bld.vgrf(BRW_REGISTER_TYPE_UD, 3);
8121 const fs_reg tmp = component(bld.vgrf(BRW_REGISTER_TYPE_UD), 0);
8122 const fs_reg mask = uses_vmask ? brw_vmask_reg() : brw_dmask_reg();