brw_reg.abs = reg->abs;
brw_reg.negate = reg->negate;
break;
- case IMM:
- assert(reg->stride == ((reg->type == BRW_REGISTER_TYPE_V ||
- reg->type == BRW_REGISTER_TYPE_UV ||
- reg->type == BRW_REGISTER_TYPE_VF) ? 1 : 0));
-
- switch (reg->type) {
- case BRW_REGISTER_TYPE_F:
- brw_reg = brw_imm_f(reg->f);
- break;
- case BRW_REGISTER_TYPE_D:
- brw_reg = brw_imm_d(reg->d);
- break;
- case BRW_REGISTER_TYPE_UD:
- brw_reg = brw_imm_ud(reg->ud);
- break;
- case BRW_REGISTER_TYPE_W:
- brw_reg = brw_imm_w(reg->d);
- break;
- case BRW_REGISTER_TYPE_UW:
- brw_reg = brw_imm_uw(reg->ud);
- break;
- case BRW_REGISTER_TYPE_VF:
- brw_reg = brw_imm_vf(reg->ud);
- break;
- case BRW_REGISTER_TYPE_V:
- brw_reg = brw_imm_v(reg->ud);
- break;
- default:
- unreachable("not reached");
- }
- break;
case ARF:
case FIXED_GRF:
+ case IMM:
brw_reg = *static_cast<struct brw_reg *>(reg);
break;
case BAD_FILE:
reg.negate = src.negate;
break;
- case IMM:
- reg = brw_imm_reg(src.type);
- reg.ud = src.ud;
- break;
-
case UNIFORM:
reg = stride(brw_vec4_grf(prog_data->base.dispatch_grf_start_reg +
(src.nr + src.reg_offset) / 2,
case ARF:
case FIXED_GRF:
+ case IMM:
continue;
case BAD_FILE: