static void fs_lower_opcode_tgsi_imm(struct fs_compile_context *fcc, struct toy_dst dst, int idx) { const uint32_t *imm; struct toy_dst real_dst[4]; int ch; imm = toy_tgsi_get_imm(&fcc->tgsi, idx, NULL); tdst_transpose(dst, real_dst); /* raw moves */ for (ch = 0; ch < 4; ch++) tc_MOV(&fcc->tc, tdst_ud(real_dst[ch]), tsrc_imm_ud(imm[ch])); }
static void vs_lower_opcode_tgsi_imm(struct vs_compile_context *vcc, struct toy_dst dst, int idx) { const uint32_t *imm; int ch; imm = toy_tgsi_get_imm(&vcc->tgsi, idx, NULL); for (ch = 0; ch < 4; ch++) { /* raw moves */ tc_MOV(&vcc->tc, tdst_writemask(tdst_ud(dst), 1 << ch), tsrc_imm_ud(imm[ch])); } }
static void gs_lower_opcode_tgsi_imm(struct gs_compile_context *gcc, struct toy_dst dst, int idx) { const uint32_t *imm; int ch; imm = toy_tgsi_get_imm(&gcc->tgsi, idx, NULL); for (ch = 0; ch < 4; ch++) { struct toy_inst *inst; /* raw moves */ inst = tc_MOV(&gcc->tc, tdst_writemask(tdst_ud(dst), 1 << ch), tsrc_imm_ud(imm[ch])); inst->access_mode = GEN6_ALIGN_16; } }