diff options
-rw-r--r-- | src/mesa/drivers/dri/r300/r500_fragprog.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/r300/r500_fragprog.c b/src/mesa/drivers/dri/r300/r500_fragprog.c index 4f2ff514ccd..3a055aeadbd 100644 --- a/src/mesa/drivers/dri/r300/r500_fragprog.c +++ b/src/mesa/drivers/dri/r300/r500_fragprog.c @@ -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 |