summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_sse2.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_sse2.c b/src/gallium/auxiliary/tgsi/tgsi_sse2.c
index 0cb1f11ef20..f3a202ae89e 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_sse2.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_sse2.c
@@ -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: