Mesa (gallium-0.1): tgsi: Implement CND, CND0 opcodes.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Thu Aug 27 08:30:20 UTC 2009
Module: Mesa
Branch: gallium-0.1
Commit: f033a5f148e4894922351611699d8513438b153b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f033a5f148e4894922351611699d8513438b153b
Author: Michal Krol <michal at vmware.com>
Date: Mon Mar 9 08:50:01 2009 +0100
tgsi: Implement CND, CND0 opcodes.
---
src/gallium/auxiliary/tgsi/tgsi_exec.c | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
index c59e18d..8044222 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_exec.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c
@@ -2034,11 +2034,23 @@ exec_instruction(
break;
case TGSI_OPCODE_CND:
- assert (0);
+ FOR_EACH_ENABLED_CHANNEL(*inst, chan_index) {
+ FETCH(&r[0], 0, chan_index);
+ FETCH(&r[1], 1, chan_index);
+ FETCH(&r[2], 2, chan_index);
+ micro_lt(&r[0], &mach->Temps[TEMP_HALF_I].xyzw[TEMP_HALF_C], &r[2], &r[0], &r[1]);
+ STORE(&r[0], 0, chan_index);
+ }
break;
case TGSI_OPCODE_CND0:
- assert (0);
+ FOR_EACH_ENABLED_CHANNEL(*inst, chan_index) {
+ FETCH(&r[0], 0, chan_index);
+ FETCH(&r[1], 1, chan_index);
+ FETCH(&r[2], 2, chan_index);
+ micro_le(&r[0], &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C], &r[2], &r[0], &r[1]);
+ STORE(&r[0], 0, chan_index);
+ }
break;
case TGSI_OPCODE_DOT2ADD:
More information about the mesa-commit
mailing list