r5xx: Add OPCODE_KIL.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Sat, 17 May 2008 20:38:35 +0000 (13:38 -0700)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Sat, 17 May 2008 20:38:35 +0000 (13:38 -0700)
src/mesa/drivers/dri/r300/r500_fragprog.c

index 4f2ff514ccd66407f2c2bebff932848c4437a38d..3a055aeadbdf139ccf75b1f610dce94a34e62fb9 100644 (file)
@@ -236,6 +236,9 @@ static void emit_tex(struct r500_fragment_program *fp,
                fp->inst[counter].inst1 |= R500_TEX_UNSCALED;
 
        switch (opcode) {
+       case OPCODE_KIL:
+               fp->inst[counter].inst1 |= R500_TEX_INST_TEXKILL;
+               break;
        case OPCODE_TEX:
                fp->inst[counter].inst1 |= R500_TEX_INST_LD;
                break;
@@ -545,6 +548,9 @@ static GLboolean parse_program(struct r500_fragment_program *fp)
                                fp->inst[counter].inst5 = R500_ALU_RGBA_OP_FRC
                                        | R500_ALU_RGBA_ADDRD(dest);
                                break;
+                       case OPCODE_KIL:
+                               emit_tex(fp, fpi, OPCODE_KIL, dest, counter);
+                               break;
                        case OPCODE_LG2:
                                src[0] = make_src(fp, fpi->SrcReg[0]);
                                fp->inst[counter].inst0 = R500_INST_TYPE_ALU