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
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
Sacha
0f2f59a3f6
Potential JIT for iOS fix.
2013-02-24 17:28:31 +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
44e4ba8772
Merge branch 'master' into armjit-fpu
2013-02-15 21:42:44 +01: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
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
f75d14d3b5
ARM FPU jit work
2013-02-10 15:53:56 +01:00
Henrik Rydgard
c1338259bc
Merge latest arm emitters from Sonic1's work.
2013-02-07 20:54:01 +01:00
Henrik Rydgard
d8f4e27926
Rename ARMABI_MOVI2R to MOVI2R
2013-01-31 23:41:05 +01:00
Henrik Rydgard
1b4394ac5e
ARM jit: jit integer multiplies. ARM is so nice, very clean.
2013-01-30 01:06:14 +01:00
Henrik Rydgard
630c025fd5
ArmEmitter: Set the P bit for 0-offset LDR/STR like AS does (but not W, which is the update part of indexed instructions)
2013-01-28 22:40:06 +01:00
Henrik Rydgard
e635be5797
Let's set a bit in LDR that should apparently be set.
2013-01-17 00:15:40 +01:00
Henrik Rydgard
e34288070c
Don't flush the icache from the start, also don't sleep. May help JIT slowdowns.
2013-01-15 20:42:45 +01:00
Henrik Rydgard
51fd025064
Add ARMv6 fallback to jit (it doesn't have MOVW/MOVT)
2013-01-11 15:20:06 +01:00
Henrik Rydgard
c7a137a930
Merge branch 'master' into armjit
...
Conflicts:
android/jni/MenuScreens.cpp
2013-01-10 12:57:45 +01:00
Sacha
ca6d614185
Fix cache invalidation on Blackberry.
2013-01-10 16:37:36 +10:00
Henrik Rydgard
71652874c2
Fix jit bugs related to the dirty flag, and more:
...
* Tweak block logging
* Faster calls-to-interpreter.
2013-01-10 00:03:51 +01:00
Henrik Rydgard
dafe2c389c
More regalloc fixing and tweaks. Still not working the way I want it.
2013-01-09 13:38:44 +01:00
Henrik Rydgard
17210c5364
Generate immediates as rot+shift when possible.
2013-01-09 11:52:49 +01:00
Henrik Rydgard
dafc9f62df
Regcache fixes, etc. thing still don't work when I turn on addiu :(
2013-01-09 11:20:48 +01:00
Henrik Rydgard
789c4781c0
Merge remote-tracking branch 'origin/master' into armjit
...
Conflicts:
Core/HLE/sceKernelThread.cpp
2013-01-09 00:43:44 +01:00
Henrik Rydgard
76481a300c
Icache must be invalidated. Jit now starts to run, but there's no cube in cube.elf!
2013-01-08 23:52:11 +01:00
Summeli
1e8253f1c8
Modified memorymanagement for JIT in Symbian
2013-01-08 19:04:25 +02:00
Henrik Rydgard
b3fd1ff34c
Lots of various work on the ARM jit. It executes a couple of blocks now.
2013-01-08 13:49:52 +01:00
Henrik Rydgard
38ae09b50f
Merge remote-tracking branch 'origin/armjit' into armjit
...
Conflicts:
android/jni/MenuScreens.cpp
2013-01-07 10:22:50 +01:00
Sacha
62908325a0
Make the armjit branch compile on Blackberry, compatible with iOS. Still crashes on ArmEmitterTest().
2012-12-13 11:41:30 +10:00
Henrik Rydgard
863bc863c9
Some more arm work
2012-11-24 17:51:10 +01:00
Henrik Rydgard
265e70a498
Just some sketchwork on a JIT for ARM. When completed, will bring speed to mobile devices.
2012-11-23 19:41:35 +01:00
Diogo Franco (Kovensky)
6108e36ae9
Several fixes to build under stricter C++11
...
Add missing #include to various files.
strings.h isn't provided by MSVC so we don't include it there; it's needed
for other OSes/compilers.
Get rid of pre-ISO-C malloc.h includes; malloc is provided by stdlib.h.
Fixes some linuxisms.
Prepend __builtin_ to __clear_cache, calling it without the prefix is a
GNU extension.
2012-11-21 14:33:50 -03:00
Henrik Rydgard
687b085357
Missed these somehow
2012-11-04 23:58:25 +01:00
Henrik Rydgard
5878f28fca
Merge Ryan's latest ARM emitter work from Dolphin
2012-11-02 11:58:56 +01:00
Henrik Rydgard
4f7ad15758
Add snapshot of the whole source code.
2012-11-01 16:19:01 +01:00