Commit Graph
3004 Commits
Author SHA1 Message Date
Unknown W. Brackets f339f7d539 armjit: Handle NAN correctly in float conversion. 2014-06-29 20:05:59 -07:00
Unknown W. Brackets c168db5943 armjit: Fix really bad typo in cvt.w.s. 2014-06-29 19:43:17 -07:00
Unknown W. Brackets 0078faef8b Fix some log semicolons that might affect logic.
But, these should all be right.
2014-06-29 19:09:38 -07:00
Unknown W. Brackets 5db79dcf11 Fix some missing semicolons on log statements. 2014-06-29 19:09:37 -07:00
Unknown W. Brackets 252100aee5 Remove outdated comment (real cause found/fixed.) 2014-06-28 16:06:10 -07:00
Unknown W. Brackets f008bebab4 armjit: Fix floor/ceil/cvt.w.s rounding.
Unfortunately, correctly rounding is probably slower.
2014-06-28 00:38:57 -07:00
Unknown W. Brackets f544a87b2f jit: Initialize startDefaultPrefix when switching. 2014-06-28 00:38:56 -07:00
Unknown W. Brackets 27870aa593 x86jit: Map HI/LO as registers.
Not actually ever cached, but now it's all consistent.
2014-06-28 00:38:56 -07:00
Unknown W. Brackets bc3d789c8a x86jit: Cache the vfpu compare flags in a reg.
Again, to match armjit.
2014-06-28 00:38:55 -07:00
Unknown W. Brackets acad2e1763 x86jit: Cache fpcond in a register.
Mostly to match armjit.
2014-06-28 00:38:55 -07:00
Unknown W. Brackets 0da972c548 Hook the FF1 battle effect func.
So that we can download the framebuffer.  At least, it seems like that's
what this function is doing.
2014-06-26 01:38:22 -07:00
Unknown W. Brackets 24d8a34a0b Properly respect resolveReplacements.
And use the same opcode reading func in armjit as x86jit.
Fixes Star Ocean on Android.
2014-06-23 08:20:38 -07:00
Unknown W. Brackets ec94498342 When scanning or relocating, check replacements.
Just to make sure we don't wrongly detect the length or unresolve a var
wrong etc.
2014-06-23 08:18:56 -07:00
Unknown W. Brackets c1e293fe7c Fix a warning on 32-bit that might be bad... 2014-06-22 22:17:48 -07:00
Unknown W. Brackets 8851fc1685 Remove savedIdRegister/MIPS_CALL_ID.
We've never trusted it anyway, simpler without dealing with this stuff.
2014-06-22 11:29:47 -07:00
Unknown W. Brackets d7e2c2c1d2 armjit: Oops, correctly handle plus/minus vmin/max. 2014-06-21 07:45:47 -07:00
Unknown W. Brackets 95f5d9397c Correct overflow in trunc.w.s for interpreter.
Reported in #4786.
2014-06-21 00:53:33 -07:00
Unknown W. Brackets 62daf6d7c8 armjit: Fix vmin/vmax to follow the PSP's rules.
Also the interpreter.  Fixes #6107.
2014-06-20 23:55:33 -07:00
Unknown W. Brackets e87e1606c5 Fix func replacements and delay slots on arm.
Fixes #6303.
2014-06-19 08:02:49 -07:00
Unknown W. Brackets 9efbc2694b Add an invalidate all method to the jit. 2014-06-19 01:13:06 -07:00
Unknown W. Brackets 561d0e5ef9 Check more ops for changing memory in debugger. 2014-06-19 00:48:33 -07:00
Henrik Rydgard ee1d16cb1d Use sincosf where available (linux) 2014-06-15 12:06:02 +02:00
Henrik Rydgard e6f55bfef0 Fix silly mistake in vfpu_sincos. Add unittest. 2014-06-15 11:51:30 +02:00
Henrik Rydgard 0879d76503 VFPU: Ensure that sin(4*x) returns 0.0 (and cos 1) for all x. Fixes #2921 2014-06-15 11:03:00 +02:00
Sacha 55221b5c7c Sin/cos fix for hardfp builds. 2014-06-12 23:10:22 +10:00
Unknown W. Brackets 0550b9372a Skip nop padding between functions.
Fixes graphical artifacts in Final Fantasy Tactics, recognizing memset and
memcpy.
2014-06-09 00:16:03 -07:00
Unknown W. Brackets a926b19c03 Hook Tales of Phantasia X save pictures.
Maybe other games will use the same func even.  This makes save pictures
work correctly the first time.
2014-06-08 16:38:43 -07:00
Unknown W. Brackets a7b9ce205b Enable function replacements by default.
So things like Star Ocean work, and game memcpy()'s to GPU work.

This will make game start on mobile a bit slower, though.  And there could
still be bugs so leaving as an option, but seems pretty stable.  Didn't
realize it wasn't enabled by default.
2014-06-07 00:13:45 -07:00
Unknown W. Brackets f6d4be1d49 Hook Star Ocean's function to upload stencil data.
Hurray, it seems to work properly.
2014-05-31 21:48:11 -07:00
Henrik Rydgård fd19b8d271 Merge pull request #6197 from unknownbrackets/replace-funcs
Function replacement hooks and some GLES compat replacements
2014-05-31 20:30:30 +02:00
Unknown W. Brackets 5ccc227462 armjit: Minor const optimization in Comp_VV2Op. 2014-05-31 11:12:36 -07:00
Unknown W. Brackets df289e46a9 armjit: Use sat0/1 method from prefixes in vsat. 2014-05-31 11:12:35 -07:00
Unknown W. Brackets b2dc92b942 Add a hook for Hexyz Force's "monoclome" thread.
This fixes missing graphics in some areas in GLES, due to direct framebuf
access.
2014-05-31 10:03:02 -07:00
Unknown W. Brackets 5dd8ebe2b4 Add a hook for Gods Eater Burst's swizzled copy. 2014-05-31 10:03:01 -07:00
Unknown W. Brackets d09be5a4bc Update PC before going into a replacement func.
This way we can report the PC properly on errors, and the replacement func
can even look at PC.
2014-05-31 10:03:01 -07:00
Unknown W. Brackets f489694515 Add the option to hook, rather than replace, funcs.
This can be useful for debugging or developing translations/game hacks,
and also gives us options when dealing with GLES incompatibilities.
2014-05-31 10:03:00 -07:00
Unknown W. Brackets 72eb15f282 Speed up debug build hashfunc lookup. 2014-05-31 10:03:00 -07:00
Henrik Rydgård 585050de27 Fix crash in block cache 2014-05-27 22:02:20 +02:00
Unknown W. Brackets b73c575418 Support swizzled framebuffer downloads.
Used in God Eater 2 when showing the load save screen.
2014-05-27 01:17:09 -07:00
Unknown W. Brackets a70b5abfb9 Allow jit to be enabled/disabled at runtime. 2014-05-27 00:02:51 -07:00
Unknown W. Brackets 8afd1f028c Add a couple more memcpy() variants. 2014-05-26 11:20:34 -07:00
Unknown W. Brackets 288d867588 Fix a type comparison warning. 2014-05-21 08:00:31 -07:00
Unknown W. Brackets 5b24e0107f x86jit: Correct vsat0/vsat1 handling. 2014-05-16 01:04:58 -07:00
Unknown W. Brackets ccc5458a84 x86jit: Correctly handle NaNs in vfpxd sat clamps.
May be a small performance jit, but we've seen games with bugs because of
NaNs recently, so better to be safe.
2014-05-16 01:04:57 -07:00
Unknown W. Brackets 69b0b622be armjit: Fix D-prefix sat clamp NAN handling.
They should leave NAN alone.
2014-05-16 01:04:57 -07:00
Unknown W. Brackets bc32f0e0b2 armjit: Correct disabled vslt NaN handling.
Can possibly enable?
2014-05-16 01:04:57 -07:00
Unknown W. Brackets a3ad238a44 Add notes for proper NaN handling in vmin/vmax. 2014-05-16 01:04:56 -07:00
Unknown W. Brackets 6ccae8f5a7 x86jit: Use a faster safemem fallback.
Really helps performance in games that use uncached addresses a lot,
without really impacting performance of most games which don't.

Of course, fastmem is faster.
2014-05-06 08:05:12 -07:00
The Dax 086d97516d Fix a couple ARM VFPU flags.
Unknown's explanation:
LO means Lower (unsigned), but for floats, it means "Less than".
LT means Lower (signed), but for floats it means "Less than OR unordered".
ARM docs at http://infocenter.arm.com/help/topic/com.arm.doc.dui0068b/Chdhcfbc.html explain the following:
LE means Signed less than or equal, and for floats it means "Less than or equal, or unordered".
LS means Unsigned lower or same, but for floats, it means "Less than or equal"
2014-05-04 22:37:41 -04:00
Unknown W. Brackets 95dcadb6ae Ignore when a proxied block points to erased mem.
Happens for example when a new module is loaded, sometimes.
2014-05-04 01:25:19 -07:00