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
Unknown W. Brackets
c3a6092e26
Upgrade symbolmaps with module address info.
...
This fixes some issues with jit replacement only if you had a map laying
around.
2014-05-04 01:24:18 -07:00
Unknown W. Brackets
4d665b5e7a
Fix replacement funcs in the interpreter.
2014-04-28 08:01:13 -07:00
Unknown W. Brackets
97c18e7f0e
Comment out a few unsafe replacement funcs.
2014-04-22 08:07:10 -07:00
Unknown W. Brackets
7326c6e716
Fix a race condition on shutdown with hashmap.
...
Also, always need to init the blocks, they are not zero initialized.
2014-04-20 21:44:10 -07:00
Henrik Rydgard
f35168e0e0
Hardcode a bunch of function hashes so we can replace them.
...
Without needing an external file.
2014-04-18 19:00:08 +02:00
Unknown W. Brackets
dc39e75fc1
Oops, forgot about proxy blocks for replace jal.
...
Also fix a crash when they are used.
2014-04-17 01:03:46 -07:00
Unknown W. Brackets
ddd6e3024d
Skip jals when replacing funcs.
...
Improves performance in God Eater (when replacements enabled.)
2014-04-16 23:57:52 -07:00
Unknown W. Brackets
dde2f3ade6
Re-replace functions after loading a savestate.
...
Might need to clear before saving too... anyway, this makes testing a bit
easier for certain areas.
Also, correctly decrease downcount on x86.
2014-04-12 15:49:20 -07:00
Unknown W. Brackets
76e61e10a9
Fix hashmap crashes with games that load modules.
...
This should properly unload and reload the functions as necessary.
2014-04-12 01:16:32 -07:00
Unknown W. Brackets
3001866d18
Skip flushing FPU/VFPU regs if none were allocated.
...
They're not used as often, so this usually saves time. About 1% during
tests.
2014-03-30 00:42:25 -07:00
Unknown W. Brackets
a4327702f1
Reduce some includes under GPU/.
2014-03-29 16:51:38 -07:00
Henrik Rydgard
58237d976f
Fix performance issue in BlockCache due to an instance of std::vector in every block:
...
Avoid creating the vector when not necessary.
This was especially noticeable in debug mode.
2014-03-29 22:26:51 +01:00
Henrik Rydgård
717c1cd34e
Merge pull request #5748 from unknownbrackets/armjit-minor
...
armjit: Allow R1 in regalloc, use LR as temp
2014-03-29 04:09:58 -04:00
Unknown W. Brackets
600842d9a2
armjit: Use prefixes on vscl's T arg.
...
Makes it pass one more thing in the prefixes test, but not sure exactly
how it operates. Better to have it the same as x86 and int anyway.
2014-03-29 01:00:29 -07:00
Unknown W. Brackets
5a89c17cf0
armjit: Allow R1 in regalloc, use LR as temp.
...
LR should be safe, although it may make stack traces not work within jit,
they don't really tend to work anyway.
2014-03-28 18:38:38 -07:00