summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2013-11-20 17:31:43 +0000
committerJosé Fonseca <jfonseca@vmware.com>2013-11-21 13:56:10 +0000
commitedd9efc2fb99ed67df38fa53ecd0283b8156c4ec (patch)
treeb5c4f68d2ff7d409fd0005514ccdd21aa5b2cdf7
parentbba8f10598866776ae198b363b3752c2e3bbb126 (diff)
tgsi_exec: Fix mask calculation for emit_kill_if.
Same as Si Chen's commit e7a5905d8a3960b0981750f8131e3af9acbfcdb8 for tgsi_exec module. Not actually tested, because softpipe is failing the test that caught this bug due to unrelated issues. Reviewed-by: Roland Scheidegger <sroland@vmware.com>
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_exec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
index 6db1238a60d..b6149074ab7 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_exec.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c
@@ -1610,6 +1610,9 @@ exec_kill_if(struct tgsi_exec_machine *mach,
kilmask |= 1 << i;
}
+ /* restrict to fragments currently executing */
+ kilmask &= mach->ExecMask;
+
mach->Temps[TEMP_KILMASK_I].xyzw[TEMP_KILMASK_C].u[0] |= kilmask;
}