Module: Mesa Branch: gallium-0.1 Commit: f033a5f148e4894922351611699d8513438b153b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f033a5f148e4894922351611699d8513438b153b
Author: Michal Krol <[email protected]> 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: _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
