Commit Graph

220 Commits

Author SHA1 Message Date
Unknown W. Brackets
d2f7594dc5 interp: Use software dot in vcrsp/vqmul.
Disabled by default using a compile-time flag.
2019-08-04 21:19:23 -07:00
Unknown W. Brackets
39017ea200 interp: Use vfpu_dot for vavg, vfad, vhdp.
Disabled by default.
2019-08-04 21:16:51 -07:00
Unknown W. Brackets
4bff980d34 interp: Use software dot for better accuracy.
This gets some vdot/similar tests to give more accurate results compared
to hardware.  Also added flushing of zero and NaNs.

Currently disabled, only enabled with a compile-time flag.
2019-08-04 21:14:23 -07:00
Unknown W. Brackets
510daa664f interp: Correct vsbn instruction.
Accidentally broken in f2be0cb.  Rarely used.
2019-07-07 22:58:54 -07:00
Unknown W. Brackets
732d344328 Common: Fix some unused ident and case warnings. 2019-06-22 13:22:12 -07:00
Henrik Rydgård
a0dc85a9d7 Fix a bunch of inconsequential uninitialized variables 2019-06-18 00:18:40 +02:00
Henrik Rydgård
379113680c Fix static analysis warning about access outside array (d[ins] = s[ins * 4] * t[0]) 2019-06-18 00:17:43 +02:00
Unknown W. Brackets
3cb1c33fd9 interp: Fix dumb mistake in vtfm.
Had done final testing on this with a 2x2 matrix because it was simpler...

Fixes #12109.
2019-06-16 18:29:29 -07:00
Unknown W. Brackets
ec7cffa847 interp: Handle vtfm/vhtfm prefixes properly. 2019-04-02 18:46:39 -07:00
Unknown W. Brackets
442d6450bb interp: Correct prefixes on vfad and vavg.
Including write mask, which didn't work before.
2019-04-02 18:46:39 -07:00
Unknown W. Brackets
5414c12a15 interp: Cleanup prefix/size in vcrsp/vqmul. 2019-04-02 07:12:34 -07:00
Unknown W. Brackets
58573cd4b4 interp: Handle invalid swizzle for vmin/vmax. 2019-04-02 07:08:33 -07:00
Unknown W. Brackets
e8c060bb5f interp: Correct vwbn and vlgb size behavior. 2019-04-02 07:08:20 -07:00
Unknown W. Brackets
89dbfd7d5b interp: Better prefixes for vdiv/similar ops.
Turns out it does work, just uses the wrong slot like S/T after all.
These other ops must go through the a similar process.
2019-04-02 07:07:53 -07:00
Henrik Rydgård
24cfad87d1 Merge pull request #11955 from unknownbrackets/vfpu-chunk6
Correct prefixes for several swizzled ops, use zero for invalid
2019-04-01 17:13:34 +02:00
Henrik Rydgård
b346142df8 Merge pull request #11954 from unknownbrackets/vfpu-chunk5
Fix prefix and size handling for vsbx, vsocp, and integer conv ops
2019-04-01 17:12:03 +02:00
Unknown W. Brackets
6f87987e7b interp: Correct prefixes on vdot/vhdp. 2019-03-31 17:12:21 -07:00
Unknown W. Brackets
b24f84d1a2 interp: Handle prefixes on matrix init ops. 2019-03-31 17:11:24 -07:00
Unknown W. Brackets
59905de719 interp: Correct vsgn out of swizzle bounds. 2019-03-31 17:10:51 -07:00
Unknown W. Brackets
85ff32eed1 interp: Handle vsgn prefixing.
One could compare against 3 using this, it just generates zeros to compare
with.
2019-03-31 17:10:51 -07:00
Unknown W. Brackets
b881a689c4 interp: Ignore high bit in vmfvc/vmtvc.
Both 0 and 128 read/write the S prefix, for example.
2019-03-31 17:09:55 -07:00
Unknown W. Brackets
dffa238611 interp: Handle invalid swizzle in vsge/vslt. 2019-03-31 15:05:43 -07:00
Unknown W. Brackets
dfd8094f21 interp: Implement vcrs prefixes and sizes.
It only makes sense as triple, but it can be used as quad/single/etc. and
has consistent and sane results.
2019-03-31 15:05:15 -07:00
Unknown W. Brackets
fa7ac7bc64 interp: Correct simple vmov variant prefixing. 2019-03-31 15:01:28 -07:00
Unknown W. Brackets
01aebe54b9 interp: Correct vdet prefix handling. 2019-03-31 15:01:11 -07:00