gallium: distinguish between KIL and KILP
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 12 Aug 2008 18:00:57 +0000 (12:00 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 12 Aug 2008 18:00:57 +0000 (12:00 -0600)
Note: KIL (unconditional) not done yet.

src/gallium/auxiliary/tgsi/tgsi_sse2.c

index 0cb1f11ef2034f4dcd44b061adfa7dd736ec0b3d..f3a202ae89e3959312c3d71615ee6168f1c73930 100644 (file)
@@ -1002,7 +1002,7 @@ emit_store(
  */
 
 static void
-emit_kil(
+emit_kilp(
    struct x86_function *func,
    const struct tgsi_full_src_register *reg )
 {
@@ -1096,6 +1096,15 @@ emit_kil(
       x86_make_reg( file_REG32, reg_AX ) );
 }
 
+
+static void
+emit_kil(
+   struct x86_function *func )
+{
+   /* XXX todo / fix me */
+}
+
+
 static void
 emit_setcc(
    struct x86_function *func,
@@ -1609,8 +1618,15 @@ emit_instruction(
       return 0;
       break;
 
+   case TGSI_OPCODE_KILP:
+      /* predicated kill */
+      emit_kilp( func, &inst->FullSrcRegisters[0] );
+      break;
+
    case TGSI_OPCODE_KIL:
-      emit_kil( func, &inst->FullSrcRegisters[0] );
+      /* unconditional kill */
+      emit_kil( func );
+      return 0; /* XXX fix me */
       break;
 
    case TGSI_OPCODE_PK2H: