From c661843ab6adc97b54debaccfb29b897b12ab76d Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Marchesin?= Date: Thu, 15 Dec 2011 12:31:36 -0800 Subject: [PATCH] i915g: Implement KILP. --- src/gallium/drivers/i915/i915_fpc_translate.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/i915/i915_fpc_translate.c b/src/gallium/drivers/i915/i915_fpc_translate.c index 8877215..beb0e0d 100644 --- a/src/gallium/drivers/i915/i915_fpc_translate.c +++ b/src/gallium/drivers/i915/i915_fpc_translate.c @@ -510,9 +510,9 @@ i915_translate_instruction(struct i915_fp_compile *p, src0 = src_vector(p, &inst->Src[0], fs); src1 = src_vector(p, &inst->Src[1], fs); src2 = src_vector(p, &inst->Src[2], fs); - i915_emit_arith(p, A0_CMP, + i915_emit_arith(p, A0_CMP, get_result_vector(p, &inst->Dst[0]), - get_result_flags(inst), + get_result_flags(inst), 0, src0, src2, src1); /* NOTE: order of src2, src1 */ break; @@ -655,7 +655,16 @@ i915_translate_instruction(struct i915_fp_compile *p, break; case TGSI_OPCODE_KILP: - assert(0); /* not tested yet */ + /* We emit an unconditional kill; we may want to revisit + * if we ever implement conditionals. + */ + i915_emit_texld(p, + tmp, /* dest reg: a dummy reg */ + A0_DEST_CHANNEL_ALL, /* dest writemask */ + 0, /* sampler */ + negate(swizzle(0, ONE, ONE, ONE, ONE), 1, 1, 1, 1), /* coord */ + T0_TEXKILL, /* opcode */ + 1); /* num_coord */ break; case TGSI_OPCODE_LG2: -- 2.7.4