diff options
author | Bryan Cain <bryancain3@gmail.com> | 2011-06-13 17:52:54 -0500 |
---|---|---|
committer | Bryan Cain <bryancain3@gmail.com> | 2011-08-01 17:59:08 -0500 |
commit | f95169deb40f8245f4b3b07b17b222746da29bdd (patch) | |
tree | 2ca146f3ef587ffe5d96c901a440f0b55a9ad479 /src/gallium/auxiliary/tgsi | |
parent | 6d89abadbcd68bbe9e08f041412549f8dc1fc73c (diff) |
tgsi: add support for TGSI_OPCODE_MOD in tgsi_exec
Diffstat (limited to 'src/gallium/auxiliary/tgsi')
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_exec.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 9cf74a838f..072772eaa7 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -2978,6 +2978,17 @@ micro_xor(union tgsi_exec_channel *dst, } static void +micro_mod(union tgsi_exec_channel *dst, + const union tgsi_exec_channel *src0, + const union tgsi_exec_channel *src1) +{ + dst->i[0] = src0->i[0] % src1->i[0]; + dst->i[1] = src0->i[1] % src1->i[1]; + dst->i[2] = src0->i[2] % src1->i[2]; + dst->i[3] = src0->i[3] % src1->i[3]; +} + +static void micro_f2i(union tgsi_exec_channel *dst, const union tgsi_exec_channel *src) { @@ -3680,7 +3691,7 @@ exec_instruction( break; case TGSI_OPCODE_MOD: - assert (0); + exec_vector_binary(mach, inst, micro_mod, TGSI_EXEC_DATA_INT, TGSI_EXEC_DATA_INT); break; case TGSI_OPCODE_XOR: |