summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_eu.c
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2015-02-25 16:07:03 -0800
committerKenneth Graunke <kenneth@whitecape.org>2015-02-27 11:36:08 -0800
commit4ebacf8aa67b1bfba7820f25536be98c7452dcb1 (patch)
treec570237bb90aed4ab6146cb99c407c46337e93df /src/mesa/drivers/dri/i965/brw_eu.c
parent0fad07af9aa9855ebdff5eabeef6419449e2996c (diff)
downloadexternal_mesa3d-4ebacf8aa67b1bfba7820f25536be98c7452dcb1.zip
external_mesa3d-4ebacf8aa67b1bfba7820f25536be98c7452dcb1.tar.gz
external_mesa3d-4ebacf8aa67b1bfba7820f25536be98c7452dcb1.tar.bz2
i965/fs: Introduce brw_negate_cmod().
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_eu.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_eu.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_eu.c b/src/mesa/drivers/dri/i965/brw_eu.c
index 9905972..a1b7fda 100644
--- a/src/mesa/drivers/dri/i965/brw_eu.c
+++ b/src/mesa/drivers/dri/i965/brw_eu.c
@@ -65,6 +65,28 @@ brw_reg_type_letters(unsigned type)
return names[type];
}
+/* Returns a conditional modifier that negates the condition. */
+enum brw_conditional_mod
+brw_negate_cmod(uint32_t cmod)
+{
+ switch (cmod) {
+ case BRW_CONDITIONAL_Z:
+ return BRW_CONDITIONAL_NZ;
+ case BRW_CONDITIONAL_NZ:
+ return BRW_CONDITIONAL_Z;
+ case BRW_CONDITIONAL_G:
+ return BRW_CONDITIONAL_LE;
+ case BRW_CONDITIONAL_GE:
+ return BRW_CONDITIONAL_L;
+ case BRW_CONDITIONAL_L:
+ return BRW_CONDITIONAL_GE;
+ case BRW_CONDITIONAL_LE:
+ return BRW_CONDITIONAL_G;
+ default:
+ return ~0;
+ }
+}
+
/* Returns the corresponding conditional mod for swapping src0 and
* src1 in e.g. CMP.
*/