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
Unknown W. Brackets
58c5179d8e
Push and pop the callee saved NEON registers.
2014-03-25 22:34:42 -07:00
Unknown W. Brackets
2f5c6a5660
Fix VLDM/VSTM encoding for double/quad regs.
...
Duh, forgot to check Vd. Fixes #5723 .
2014-03-25 22:08:20 -07:00
Unknown W. Brackets
246eaeb209
x86jit: Avoid mem temp for float cmp/loads.
2014-03-22 15:56:28 -07:00
Unknown W. Brackets
b53143bb33
Revert "armjit: Skip an AND for rotate shifts."
...
This reverts commit ab2dd54ade
.
Even though the docs say it's safe but apparently not always.
2014-03-22 15:54:48 -07:00
Henrik Rydgård
98165b599f
Merge pull request #5653 from unknownbrackets/armjit-minor
...
Minor armjit optimizations, fix B/BL encoding
2014-03-22 16:05:59 +01:00
Unknown W. Brackets
737c96eced
More cstring includes, grr.
2014-03-15 12:03:33 -07:00
Unknown W. Brackets
a843cbd580
Shrink the very common sceKernelThread.h include.
2014-03-15 11:44:02 -07:00
Unknown W. Brackets
d65af7353b
Avoid some ChunkFile includes.
2014-03-15 11:32:57 -07:00
Unknown W. Brackets
05ab192c9c
Reduce includes in Core/HLE/.
...
Especially templates.
2014-03-15 11:22:19 -07:00
The Dax
21ce99cabd
Fix Unix-like builds.
2014-03-15 10:02:47 -04:00
Henrik Rydgard
c80510fb3b
MemMap should not be included in MIPS.h.
2014-03-15 10:45:39 +01:00
Unknown W. Brackets
ab2dd54ade
armjit: Skip an AND for rotate shifts.
2014-03-15 00:49:18 -07:00
Unknown W. Brackets
bed9c82d0a
armjit: Try to use nearby immediates in slti/u.
2014-03-14 19:26:52 -07:00