xsacha
1871c4e8bd
Merge pull request #900 from xsacha/master
...
Rounding Mode Handling
2013-03-09 20:30:39 -08:00
Sacha
27b70f0726
Add MIPS/Loongson support
2013-03-10 13:24:05 +10:00
Sacha
7782be9a3e
Try software rounding mode instead. Use conditionals for VFP functions. Note: Round to Zero not working for some reason?
2013-03-08 22:39:34 +10:00
Sacha
fbef590bed
Add emitters for VMRS/VMSR. Undisable ceil, which works. Add stub for rounding mode handling.
2013-03-08 22:39:34 +10:00
Sacha
b9ec281c55
Disable rounding methods that aren't working in hardware. Add some notes. Fix compare fall-through and choose right round method.
2013-03-07 21:33:30 +10:00
Sacha
9f0bb8cf52
armv6: Reuse constants in literal pool.
...
May reduce memory loads?
2013-03-07 14:44:55 +10:00
Sacha
ae3b881a7f
Use correct args for Operand2(..) through armjit. Fix STR(..).
2013-03-07 00:59:07 +10:00
Sacha
268d16bd24
Use correct args for STR(..) throughout armjit.
2013-03-07 00:59:07 +10:00
Sacha
5a134243a7
Armjit: Fix lwl, lwr and enable again. Thanks Sonic.
2013-03-06 03:28:28 +10:00
Sacha
7e67de3334
Armjit: Implement lwl, lwr, swl, swr in ARM JIT. lwr is currently disabled as it isn't working.
2013-03-06 02:11:36 +10:00
Sacha
9152d2f2bb
Armjit: Optimise swl+swr and lwl+lwr cases that can be combined to a single sw or lw. Add shift flags to STR/LDR. Add EatInstruction to ArmJit.
2013-03-06 02:11:36 +10:00
Sacha
4641cf376f
Armjit: Implement CLZ instruction. Disable reg shifts for now (breaks Wipeout Pure).
2013-03-05 14:16:35 +10:00
Sacha
10ad797c6d
Armjit stubs.
...
Add a double encoding for VCVT. Implement integer divide (but not working yet). Stubs for msub/msubu. Don't detect vfpv3 on Symbian.
2013-03-05 13:16:08 +10:00
Sacha
1089a31a45
Armjit: add reverse bit instruction.
2013-03-05 02:58:51 +10:00
Sacha
bce3295950
Fix graphical issues. DISABLE INS instruction for now. Fix OR (it was doing AND).
2013-03-04 22:09:45 +10:00
Sacha
0fc6b60874
Fix Lit Pools for cases where offset goes out of range. For example: Zero no Kiseki has a block that is 7K large.
2013-03-04 14:36:23 +10:00
Sacha
9633239f18
Update for lit pools. Works in some games now thanks to [Unknown].
2013-03-04 14:29:17 +10:00
Sacha
bdfe24a86b
ARMv6 literal pool method.
2013-03-04 14:26:45 +10:00
Henrik Rydgard
7dc75d87b5
armjit: Re-enable ext/ins, safer implementation. arm7 path disabled for now.
2013-03-03 23:17:21 +01:00
Henrik Rydgard
1cddc86e05
armjit: Temporarily disable ext/ins as they appear to have broken Persona 3 somehow.
2013-03-03 22:26:20 +01:00
Henrik Rydgard
1e3a00ee9d
armjit: implement vzero, vone. Use vmla for dot product.
2013-03-03 20:56:22 +01:00
Henrik Rydgard
650c02c3a5
Some more armjit work (ext, ins) and VFPU prefix clamps (not enabled)
2013-03-03 17:36:22 +01:00
Henrik Rydgard
bc15617392
Make un-buffered rendering much smarter, removing flicker.
...
This turns it into a very viable option for many games. You do lose some FX
but it can as a result even be used as a workaround for the massive glow
in Wipeout...
2013-03-03 13:00:21 +01:00
Henrik Rydgard
b781c8deb5
Delete unused ARM emitter function.
2013-03-03 10:55:49 +01:00
Henrik Rydgard
f5581caccc
Some work on ARMJIT FPU compares, still not quite working.
2013-03-02 19:09:24 +01:00
Sacha
6c23e1b6d5
Use flags instead of bools for VCVT. Fix up some spacing. Only Android has ArmEmitterTest.
2013-03-02 11:34:03 +10:00
Henrik Rydgard
253396666c
Merge branch 'armjit-fpu' of github.com:hrydgard/ppsspp into armjit-fpu
2013-03-01 18:26:36 +01:00
Sacha
26ebdb4f11
Improve VCMP instruction with option for E.
...
Add comment to le JIT about how the VCMP crashes on ARM11, with commented code.
2013-03-01 15:41:45 +10:00
Sacha
6d3c89e354
Fix up VCVT function to recognise the difference in encoding for to_int and to_float. There is no 'round to zero' option for to_float. cvt.s.w and cvt.w.s should be unsigned.
2013-03-01 13:45:22 +10:00
Henrik Rydgard
516ca8a0c4
Merge branch 'master' into armjit-fpu
...
Conflicts:
Core/MIPS/ARM/ArmJit.h
Core/MIPS/x86/CompVFPU.cpp
GPU/GLES/Framebuffer.cpp
2013-02-28 23:56:28 +01:00
Sacha
35a57be115
ARMJIT: Implement MADD, MADDU. Do bitrev if it takes an immediate. Fix a bug where MULTU was being passed through to the interpreter.
2013-02-28 23:45:46 +01:00
Sacha
059abc0d69
ARMJIT: Add floor, ceil, round. Introducing a rounding mode for VCVT.
...
The cvt and trunc are tested heavily. Floor, ceil, round aren't tested as much as there are very few games that use it.
2013-03-01 01:10:07 +10:00
Sacha
61f5fb35bd
ARMJIT: Implement cvt.w.s, cvt.s.w and trunc.w.s that are used heavily in Dragonball.
...
May need to keep note of FCR to get correct rounding mode? Interpreter doesn't do this either.
2013-02-28 19:46:07 +10:00
Henrik Rydgard
c0e8fb1499
Revert turning on debug thing
2013-02-27 18:01:23 +01:00
Henrik Rydgard
ba0362d817
PGF font support. Mostly an adaptation and cleanup of JPCSP's font system.
2013-02-27 17:41:39 +01:00
Sacha
fe90d5cd06
Add VNEG and VABS implementations and use in FPU2op.
2013-02-27 23:33:59 +10:00
Sacha
ff14815fda
ARMJIT: Combine to one instruction for load/stores.
2013-02-27 19:45:01 +10:00
Sacha
2c59de95e9
JIT the signed load/store variants too
2013-02-27 18:05:45 +10:00
Sacha
fe8b80c12e
ARM JIT: Add and simplify some half-word load/store instructions.
2013-02-27 17:09:47 +10:00
Henrik Rydgård
d73fcebc3f
Quickfix for a symbol collision. Should really share the AES code.
2013-02-25 21:10:15 +01:00
Unknown W. Brackets
de7ada1982
Fix some x64 type warnings.
2013-02-24 10:39:06 -08:00
Sacha
630ee68b05
Build fix for iOS. Now compiles.
2013-02-24 22:17:52 +10:00
Unknown W. Brackets
7abcd37909
This isn't needed if ABI_CallFunction* is used.
...
AFAICT the only reason for it is to avoid far calls, so we just can't
use CALL() directly. It's works even when it throws on Mac.
2013-02-24 00:15:56 -08:00
Unknown W. Brackets
3fbb5d4388
Avoid using CALL() directly in case of far calls.
...
This mainly matters for x64.
2013-02-24 00:12:55 -08:00
Sacha
0f2f59a3f6
Potential JIT for iOS fix.
2013-02-24 17:28:31 +10:00
Sacha
8e88cc37d2
Fix crash on Return to Menu in Symbian.
...
We don't want to free the executable code (actually a Chunk+Heap) using same method we use to free memory pages (delete).
This would be the same situation on jailbroken iOS and WP.
Now the JIT code is always allocated and never freed on Symbian.
2013-02-21 15:59:02 +10:00
Sacha
1540869e95
All mobile devices now have file logging disabled. Change save dir on blackberry/symbian. Update native.
2013-02-20 13:12:03 +10:00
Henrik Rydgard
5a09885a59
Port over much of unknown's vfpu jit work to arm. Untested.
2013-02-20 00:04:21 +01:00
Henrik Rydgard
e32721c72a
Merge branch 'master' into armjit-fpu
...
Conflicts:
Core/MIPS/MIPSVFPUUtils.cpp
Core/MIPS/x86/CompVFPU.cpp
GPU/GLES/VertexDecoder.cpp
2013-02-19 00:50:33 +01:00
Unknown W. Brackets
363d1dbe19
Fix some misc. warnings.
2013-02-18 08:44:59 -08:00
Sacha
a9eb6cf4a4
Fix crash on Symbian when doing "Return to Menu"
2013-02-17 20:21:42 +10:00
Sacha
d99c9fb2ff
Fix Symbian JIT + FastMem by using a mapped virtual address RChunk.
2013-02-17 15:23:56 +10:00
Henrik Rydgard
44e4ba8772
Merge branch 'master' into armjit-fpu
2013-02-15 21:42:44 +01:00
Sacha
4feefda8d0
Symbian build fix: use glib for atomics.
2013-02-15 03:07:32 +10:00
Sacha
743014a293
Cache flushing for iOS
2013-02-15 03:07:32 +10:00
Henrik Rydgard
b0c160fa93
Fix armjit fpu load / store
2013-02-13 21:07:06 +01:00
Henrik Rydgard
30318a4a4d
Merge branch 'master' into armjit-fpu
...
Conflicts:
Core/MIPS/x86/CompFPU.cpp
2013-02-13 20:47:41 +01:00
Sacha
3faeeea2f9
Support other MSVC compilers in Qt. Update native reference.
2013-02-14 01:34:53 +10:00
Sacha
f55776ee59
Windows MSVC 2010 compiler support for Qt.
2013-02-13 21:09:18 +10:00
Sacha
013357f21e
Build fix for iOS
2013-02-13 16:39:53 +10:00
Sacha
58454413b3
Use QNX atomic_set on Blackberry. Allows Playbook builds to continue on GCC 4.4.
2013-02-13 04:05:54 +10:00
Henrik Rydgard
b115cd7320
VMOV gpr->fpu, fixes
2013-02-12 18:53:04 +01:00
Henrik Rydgard
af4c7be086
mul.s div.s
2013-02-11 23:58:06 +01:00
Henrik Rydgard
69c3c91d7e
add.s/sub.s now appear to work
2013-02-11 23:23:42 +01:00
Henrik Rydgard
4bdb2045a7
Armjit-FPU: Fix lots of bugs, impl some stuff. Still nothing working.
2013-02-11 23:10:11 +01:00
Henrik Rydgard
4eb89e6aec
Merge branch 'master' into armjit-fpu
2013-02-11 19:22:14 +01:00
Unknown W. Brackets
2e0beb5833
Buildfix for Windows.
2013-02-10 08:10:01 -08:00
Henrik Rydgard
88d9a6dd05
Merge branch 'master' into armjit-fpu
2013-02-10 15:59:59 +01:00
Henrik Rydgard
f75d14d3b5
ARM FPU jit work
2013-02-10 15:53:56 +01:00
Sacha
b817e3bf26
Update max to std::max
2013-02-10 23:01:18 +10:00
Sacha
ddfac0926a
Update Symbian README. Should build from clean install without any hacks now.
2013-02-10 22:51:14 +10:00
Henrik Rydgard
c1338259bc
Merge latest arm emitters from Sonic1's work.
2013-02-07 20:54:01 +01:00
Henrik Rydgard
377c94b125
JIT x86: cvt.s.w
2013-02-06 20:29:49 +01:00
Henrik Rydgard
8749ad0cb9
Warning fixes, very minor updates to shader generators.
2013-02-06 19:04:28 +01:00
Sacha
148c390524
Buildfix for Symbian
2013-02-04 09:55:56 +10:00
Xele02
2a424977c0
Fix linux build ^^
2013-02-04 21:24:01 +01:00
Henrik Rydgård
d60f685ae8
MacOSX buildfix
2013-02-04 20:36:43 +01:00
Henrik Rydgard
7a36619174
Android buildfix + cleanup
2013-02-04 20:19:24 +01:00
Unknown W. Brackets
112c1e9e23
Automatically delete pointers when savestating.
2013-02-04 08:28:22 -08:00
Unknown W. Brackets
82a8450758
Fix some more non-pod structs in savestates.
2013-02-04 08:27:02 -08:00
Unknown W. Brackets
8f10c7f161
Make savestates automagically call DoState().
2013-02-04 08:27:01 -08:00
Unknown W. Brackets
806907e2cc
Add a safety check that p.Do() is only used on pod.
2013-02-04 08:27:00 -08:00
Unknown W. Brackets
2a6457b6ab
Cut down on h files including PointerWrap.
...
This makes changes to it a bit faster to build.
2013-02-04 08:26:59 -08:00
Florent Castelli
522983549d
Correctly savestate std::maps with non-uint keys.
2013-02-04 03:10:00 +01:00
Unknown W. Brackets
251f4a0b47
Avoid some memory copying when logging.
2013-02-02 15:40:48 -08:00
Henrik Rydgård
b7066a46a0
Merge pull request #567 from xsacha/7bba8c68c478e49bd1e170b34b204164fdf41340
...
Fix Jit on Symbian
2013-02-02 11:34:12 -08:00
Xele02
d5c2560212
Add window to config key bindings
...
Save the bindings in the conf file in a map.
2013-02-02 17:43:56 +01:00
Unknown W. Brackets
ec8f080491
Fix the emitter assert.
2013-01-31 23:29:00 -08:00
Unknown W. Brackets
d13e08423a
Fix a console log crash when color is on the edge.
2013-01-31 22:58:16 -08:00
Unknown W. Brackets
ac59efad11
Use memcpy for console log to avoid terminators.
2013-01-31 22:25:28 -08:00
Unknown W. Brackets
bc05f7fc85
Fix a stupid typo duplicating log messages.
2013-01-31 21:55:36 -08:00
Sacha
7bba8c68c4
Fix JIT on Symbian (HACK).
2013-02-01 09:01:00 +10:00
Henrik Rydgard
d8f4e27926
Rename ARMABI_MOVI2R to MOVI2R
2013-01-31 23:41:05 +01:00
Sacha
6d63403f69
Fix memory management for allocated block on Symbian. TODO: Use RChunks to make it more efficient.
2013-02-01 02:30:27 +10:00
Unknown W. Brackets
d279eb8932
Fix a bad assertion.
2013-01-31 00:02:51 -08:00
Unknown W. Brackets
f73c67b8b8
Handle it better if the console log overflows.
2013-01-30 21:21:32 -08:00
Unknown W. Brackets
86e66a8e2d
Use a char ringbuffer not ptrs in console logging.
2013-01-30 21:21:31 -08:00
Unknown W. Brackets
726196bb66
Use a ringbuffer for the logging instead.
2013-01-30 21:21:31 -08:00
Unknown W. Brackets
fdd8a3cf5f
Don't write more lines than the log can show.
2013-01-30 21:21:30 -08:00
Unknown W. Brackets
e813833c18
Disable OutputDebugString logging by default.
2013-01-30 21:21:30 -08:00