Displaying 3 results from an estimated 3 matches for "pp_rtmp".
Did you mean:
app_rtsp
2009 Jun 21
0
[PATCH] nv50: better insn generation
...rogram_tx_insn(struct nv50_pc *pc, const union tgsi_full_token *tok)
{
const struct tgsi_full_instruction *inst = &tok->FullInstruction;
- struct nv50_reg *rdst[4], *dst[4], *src[3][4], *temp;
- unsigned mask, sat, unit;
+ struct nv50_reg *rdst[4], *dst[4], *src[3][4];
+ struct nv50_reg **pp_rtmp, *rtmp = NULL, *temp = NULL;
+ unsigned mask, sat, unit = 0;
boolean assimilate = FALSE;
- int i, c;
+ int i, c, nr_dst = 0;
mask = inst->FullDstRegisters[0].DstRegister.WriteMask;
sat = inst->Instruction.Saturate == TGSI_SAT_ZERO_ONE;
for (c = 0; c < 4; c++) {
- if (mask &...
2009 Jun 21
0
[PATCH] nv50: support for SLE, SNE, SEQ, SGT
...(1 << 3))
emit_mov_immdval(pc, dst[3], 1.0);
break;
- case TGSI_OPCODE_SGE:
- for (c = 0; c < 4; c++) {
- if (!(mask & (1 << c)))
- continue;
- emit_set(pc, 6, dst[c], src[0][c], src[1][c]);
- }
- break;
case TGSI_OPCODE_SIN:
temp = temp_temp(pc);
rtmp = *pp_rtmp;
@@ -1630,10 +1666,16 @@ nv50_program_tx_insn(struct nv50_pc *pc, const union tgsi_full_token *tok)
}
break;
case TGSI_OPCODE_SLT:
+ case TGSI_OPCODE_SGE:
+ case TGSI_OPCODE_SEQ:
+ case TGSI_OPCODE_SGT:
+ case TGSI_OPCODE_SLE:
+ case TGSI_OPCODE_SNE:
+ i = map_opcode_ccode(inst->Instruc...
2009 Jun 21
0
[PATCH] nv50: initial support for IF, ELSE, ENDIF insns
...if (pc->if_join[pc->if_lvl]) {
+ pc->if_join[pc->if_lvl]->bra = i;
+ pc->if_join[pc->if_lvl] = NULL;
+ pc->join_on = TRUE;
+ }
+ if (pc->insn_cur == (pc->insn_nr - 1))
+ emit_nop(pc, TRUE);
+ break;
case TGSI_OPCODE_EX2:
temp = temp_temp(pc);
rtmp = *pp_rtmp;
@@ -1442,6 +1512,12 @@ nv50_program_tx_insn(struct nv50_pc *pc, const union tgsi_full_token *tok)
emit_sub(pc, dst[c], src[0][c], temp);
}
break;
+ case TGSI_OPCODE_IF:
+ assert(pc->if_lvl < MAX_IF_LEVEL);
+ set_pred_wr(pc, 1, 0, pc->if_cond);
+ emit_branch(pc, 0, 2, &pc-...