Mesa (master): i915g: Implement KILP.

Stephane Marchesin marcheu at kemper.freedesktop.org
Tue Dec 20 02:33:42 UTC 2011


Module: Mesa
Branch: master
Commit: c661843ab6adc97b54debaccfb29b897b12ab76d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c661843ab6adc97b54debaccfb29b897b12ab76d

Author: Stéphane Marchesin <marcheu at chromium.org>
Date:   Thu Dec 15 12:31:36 2011 -0800

i915g: Implement KILP.

---

 src/gallium/drivers/i915/i915_fpc_translate.c |   15 ++++++++++++---
 1 files 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:




More information about the mesa-commit mailing list