Ryan Houdek
|
624c92f97e
|
[ARM] fresx/fnmaddsx/fselx/frsqrtex/fnmaddx implementations.
|
2013-09-25 03:00:57 +00:00 |
|
Ryan Houdek
|
ae75f92b2a
|
[ARM] psq_lx/psq_lux/psq_stx/psq_stux implementations. Four more instructions that JIT64 doesn't have.
|
2013-09-25 02:22:52 +00:00 |
|
Ryan Houdek
|
cd646d89e2
|
[Android] The issue with the dynamic UBO access on Adreno platforms was fixed with v41 of the video drivers. v41 and above of the video drivers fix the spiky polygon problems that are noticed ingames.
|
2013-09-25 01:50:02 +00:00 |
|
Ryan Houdek
|
357a7707a6
|
[ARM] ps_cmpu0/ps_cmpu1/ps_cmpo0/ps_cmpo1 implementations.
|
2013-09-24 21:13:33 +00:00 |
|
Ryan Houdek
|
74bc855f20
|
[ARM] ps_res implementation.
|
2013-09-24 21:00:50 +00:00 |
|
Ryan Houdek
|
3b1b0d3fb5
|
[ARM] ps_div implementation.
|
2013-09-24 20:46:57 +00:00 |
|
Ryan Houdek
|
94a731b49d
|
[ARM] fctiwx implementation.
|
2013-09-24 20:37:10 +00:00 |
|
Ryan Houdek
|
482170c3ea
|
[ARM] Implement subfic with optimizations stolen from JIT64.
|
2013-09-24 19:01:03 +00:00 |
|
Ryan Houdek
|
405aa30cb8
|
[ARM] Fix fastmem...
|
2013-09-24 18:03:06 +00:00 |
|
Ryan Houdek
|
8e2e5a4e70
|
[ARM] Have both fastmem and non-fastmem paths for floating point loadstores because fastmem is completely broken garbage on Android at this point in time.
|
2013-09-24 17:40:12 +00:00 |
|
Ryan Houdek
|
5866859ff0
|
Screw you comex, this doesn't even make any damn sense.
|
2013-09-24 17:25:13 +00:00 |
|
Ryan Houdek
|
eb6ed3e42a
|
[ARM] Change all floating point loadstores to fastmem implementations except lfs since all floating point accesses tend to be to RAM space. lfs tends to get used to write quickly to the gatherpipe and other places, look at the JIT64 implementation to see how to make it quicker.
|
2013-09-24 05:41:58 +00:00 |
|
Ryan Houdek
|
41ab4a2275
|
Nevermind the previous commit, SafeLoadToEAX already calls in to UnsafeLoadToEAX if fastmem is enabled. This one just tidys up the code.
|
2013-09-24 01:40:19 +00:00 |
|
Ryan Houdek
|
aa41978834
|
Enable fastmem for the lfs instruction for unix and OSX as well.
|
2013-09-24 01:34:08 +00:00 |
|
Ryan Houdek
|
3fe8134f3b
|
[ARM] lfsux/lfdx/lfdux/stfsx/stfsux/stfdx/stfdux implementations.
|
2013-09-24 01:17:24 +00:00 |
|
Ryan Houdek
|
96a77f9feb
|
[Android] Fix the ability to stop the game and start another.
|
2013-09-23 01:43:18 -05:00 |
|
Ryan Houdek
|
bab91494d5
|
Merge branch 'master' into android-core-control
|
2013-09-23 00:47:57 -05:00 |
|
Ryan Houdek
|
1da6469c62
|
[Android] Use new 4.0 icon.
|
2013-09-23 00:25:34 -05:00 |
|
Ryan Houdek
|
bdae5d1027
|
[Android] Fix typo, FSAA stands for full scene antialiasing.
|
2013-09-22 11:59:10 -05:00 |
|
Ryan Houdek
|
6340ad68be
|
Merge branch 'GLES3-FSAA'
|
2013-09-22 10:00:51 -05:00 |
|
Ryan Houdek
|
81effb8099
|
[Android] Add in FSAA option.
|
2013-09-22 09:25:38 -05:00 |
|
Ryan Houdek
|
91619e28b8
|
Pull in the glRenderbufferStorageMultisample function pointer at run time.
|
2013-09-22 09:10:47 -05:00 |
|
Ryan Houdek
|
53b93f8cd5
|
Allow GLES3 hardware to support FSAA. Need a GUI option for this on Android devices.
|
2013-09-22 13:54:47 +00:00 |
|
Ryan Houdek
|
85f067780a
|
[ARM] Reenable flush per instruction with FPR cache. Something is still very wrong.
|
2013-09-19 02:08:20 +00:00 |
|
Ryan Houdek
|
930f997f04
|
[ARM] Fix and optimize mtcrf.
|
2013-09-19 02:08:19 +00:00 |
|
Ryan Houdek
|
1b1b5d2100
|
[ARM] MicroOps in the branching instructions.
|
2013-09-19 02:08:19 +00:00 |
|
Ryan Houdek
|
5158aea4dc
|
[ARM] Fix misuse of RBIT in crXXX, meant to use MVN.
|
2013-09-19 02:08:19 +00:00 |
|
Ryan Houdek
|
452fd84bbd
|
[ANDROID] Fix ARM JIT. Is due to Android using softfp instead of hardfp.
|
2013-09-18 17:21:22 -05:00 |
|
Ryan Houdek
|
6fc2117503
|
[ARM] Enable VMOV to move from double VFP reg to two ARM registers.
|
2013-09-18 17:21:22 -05:00 |
|
Ryan Houdek
|
24a44ecfb8
|
[ANDROID] Add two new DriverDetails bugs for Adreno. V45 of the driver has broken shader compilation with UBOs in the shaders, this is most likely fixed with V53 found in the Nexus 5. Add a bug for issue surrounding on screentext and doing a glClear after swap causes screen swizzling and zero frames rendered respectively. On the Java side, pass in the dimensions of the screen swapped since there is an issue with Adreno where it rotates the output 90 degrees for some reason. Disable the GLSL shader cache on Android for now due to the inability to cleanly exit the emulator, this tends to cause the cache to get corrupted. All this together fixes rendering with Adreno 3xx GPUs with driver version v14 and above. In particular my Galaxy S4 still resets with this without the root commands, but my HTC Droid DNA and LG G2 is fine. This must be due to particular 'enhancements' that the Samsung kernel has over the other ones. The speed on Adreno has yet to be optimized, so it will most likely be slow still. Faster than the software rasterizer in any case. The ARMJIT is still broken in at this point, so not much fun can be had.
|
2013-09-18 02:37:10 -05:00 |
|
Ryan Houdek
|
39a8645ffc
|
[ARM] Fix the FPR cache to not have to dump registers after every instruction. Add mullwox instruction.
|
2013-09-17 22:08:23 +00:00 |
|
Ryan Houdek
|
06062d5744
|
[ARM] Fix VSQRT/VCMP/VCMPE/VCMPE0/VCMP0 emitters when using the high 16 double registers.
|
2013-09-17 22:08:23 +00:00 |
|
Ryan Houdek
|
302e9c891b
|
[ARM] crand/crandc/creqv/crnand/crnor/cror/crorc/crxor/mcrf/mfcr/mtcrf/mtsr/mcrxr/mfsr implementations.
|
2013-09-17 11:00:16 +00:00 |
|
Ryan Houdek
|
dcf74ef2b3
|
[ARM] Renables load instructions with update.
|
2013-09-17 11:00:15 +00:00 |
|
Ryan Houdek
|
1529bb48c8
|
[ARM] Flush the fpr cache between every instruction. Do this until I figure out what is destroying the FPR register states.
|
2013-09-16 15:44:41 +00:00 |
|
Ryan Houdek
|
7397867b21
|
[GLES3] Enable support for primitive restart.
|
2013-09-16 15:43:57 +00:00 |
|
Ryan Houdek
|
9b9526fba2
|
[ARM] Add dcbt/dcbtst/dcba noops.
|
2013-09-16 15:13:37 +00:00 |
|
Ryan Houdek
|
98fb4c146e
|
[ARM] ps_sel implementation.
|
2013-09-16 14:05:50 +00:00 |
|
Ryan Houdek
|
cba2dd01bc
|
[ARM] Remove extraneous BKPT from ps_rsqrte.
|
2013-09-16 13:39:02 +00:00 |
|
Ryan Houdek
|
a0a0c526ae
|
[ARM] ps_rsqrte implementation.
|
2013-09-16 12:59:34 +00:00 |
|
Ryan Houdek
|
7d410ec95c
|
[ARM] VRSQRTE NEON emitter.
|
2013-09-16 12:58:20 +00:00 |
|
Ryan Houdek
|
5a9cb84ae2
|
[ARM] ps_nmadd/ps_nmsub implementations.
|
2013-09-16 12:03:08 +00:00 |
|
Ryan Houdek
|
b7f47bc2e1
|
[ARM] rlwnmx implementation.
|
2013-09-16 11:53:22 +00:00 |
|
Ryan Houdek
|
43f2313ef9
|
[ARM] Implement ps_msub. Minor optimizations.
|
2013-09-16 11:53:21 +00:00 |
|
Ryan Houdek
|
0bcc20ca5b
|
[ARM] fcmpo/fcmpu implementations.
|
2013-09-16 08:57:51 +00:00 |
|
Ryan Houdek
|
c56ecce840
|
[ARM] fctiwzx implementation. This isn't implemented in JIT64 and it is unstandeable why it isn't.
|
2013-09-16 07:49:16 +00:00 |
|
Ryan Houdek
|
beb41a8f56
|
[ARM] Add NEON VORR and fix encoding on NEON VEOR. Remove VMRS_APSR because it is the same as VMRS(PC)
|
2013-09-16 07:49:16 +00:00 |
|
Ryan Houdek
|
e56071f2be
|
[ARM] slwx/srwx/srawx implementations.
|
2013-09-14 09:07:34 +00:00 |
|
Ryan Houdek
|
81d7986202
|
[ARM] Add LSRS emitters, and ASR{S} register emitters. Fixes encoding in LSR emitter.
|
2013-09-14 09:06:49 +00:00 |
|
Ryan Houdek
|
53498dafeb
|
[ARM] fmaddsx and fmaddx implementations.
|
2013-09-14 05:52:09 +00:00 |
|
Ryan Houdek
|
be4277e8a1
|
[ARM] stmw implementation.
|
2013-09-14 05:16:18 +00:00 |
|
Ryan Houdek
|
c211d06ad2
|
[ARM] stfd and stfdu implementations.
|
2013-09-14 05:09:46 +00:00 |
|
Ryan Houdek
|
6fe86f1fd1
|
[ARM] cntlzwx implementation.
|
2013-09-14 04:29:37 +00:00 |
|
Ryan Houdek
|
ef2ea31eac
|
[ARM] ps_madds0 and ps_madds1 implementations.
|
2013-09-14 04:12:57 +00:00 |
|
Ryan Houdek
|
4512813cf9
|
[ARM] lfdu and stfsu implementations.
|
2013-09-14 04:00:40 +00:00 |
|
Ryan Houdek
|
0ae8fa964d
|
[ARM] lfsu implementation.
|
2013-09-14 03:51:32 +00:00 |
|
Ryan Houdek
|
aaf8e92f78
|
[ARM] Fixes srawix implementation.
|
2013-09-14 03:00:33 +00:00 |
|
Ryan Houdek
|
751fae4965
|
[Android] Make sure the default config file has fastmem disabled.
|
2013-09-13 21:17:40 -05:00 |
|
Ryan Houdek
|
ba05db7828
|
[Android] Add a fastmem option to the cpu options, default disabled.
|
2013-09-12 23:08:00 -05:00 |
|
Ryan Houdek
|
1680f27739
|
[ARM] Disable loadstorepaired instructions when fastmem is disabled.
|
2013-09-12 23:07:19 -05:00 |
|
Ryan Houdek
|
c1ddeacc9d
|
[ARM] Removes extraneous fpr.Flush
|
2013-09-12 10:31:29 +00:00 |
|
Ryan Houdek
|
aa8f0c2ca4
|
[ARM] Fixes ps_madd implementation.
|
2013-09-12 10:30:52 +00:00 |
|
Ryan Houdek
|
8882d27689
|
[ARM] Fixes the ps_merge00 and ps_merge10 implementations. They both had the potential to overwrite the source registers in the moves.
|
2013-09-12 10:17:27 +00:00 |
|
Ryan Houdek
|
749b62fcd9
|
[ARM] Fixes orcx implementation.
|
2013-09-12 09:55:55 +00:00 |
|
Ryan Houdek
|
e1d510c2dc
|
[ARM] Disables loadstores with update because they are broken.
|
2013-09-12 09:40:10 +00:00 |
|
Ryan Houdek
|
2c33bab1a6
|
[ARM] lfsx implementation.
|
2013-09-12 07:52:19 +00:00 |
|
Ryan Houdek
|
fa5499e046
|
[ARM] Disable lmw when fastmem is disabled.
|
2013-09-12 02:51:38 -05:00 |
|
Ryan Houdek
|
4146e1f3d6
|
[ARM] Implement psq_st. Optimizations in psq_l and fix all the remaining bugs...except clamping within the max value range of the value. Causes some minor visual effects mostly.
|
2013-09-08 21:56:17 +00:00 |
|
Ryan Houdek
|
c1aa80cefa
|
[ARM] Add support for double registers in VMOV(immediate). Add VEOR and VSTR1. Fix some minor encoding bugs.
|
2013-09-08 21:56:17 +00:00 |
|
Ryan Houdek
|
ba0c52b104
|
[ARM] Optimization to psq_l, no need to push/pop regs anymore. Implement support for single float loading, gives a decent speedup to Ikaruga in menus and game.
|
2013-09-08 08:18:34 +00:00 |
|
Ryan Houdek
|
e5b5713d70
|
[ARM] Optimize that fastmem load/stores minimally.
|
2013-09-08 07:37:03 +00:00 |
|
Ryan Houdek
|
2126f405e0
|
[ARM] 1 instruction optimization for psq_l
|
2013-09-08 07:25:59 +00:00 |
|
Ryan Houdek
|
53fb0622f0
|
Fix the glew check. GLES3 can be used on non-Android platforms.
|
2013-09-08 07:21:33 +00:00 |
|
Ryan Houdek
|
e6af4970d8
|
[ARM] Use NEON for loading the values from psq_l, gives a minimal performance increase. This change also begins a new NEONXEmitter for having cleaner support for NEON.
|
2013-09-08 07:07:15 +00:00 |
|
Ryan Houdek
|
31b69c53f7
|
[ARM] Implement psq_l for 2x float loads. Couldn't find a game using quantized loads. Huge speed boost to Ikaruga and THP movies with this one.
|
2013-09-07 17:44:10 +00:00 |
|
Ryan Houdek
|
614a7c2081
|
[ARM] Clean up some host side register allocations I missed.
|
2013-09-07 17:44:10 +00:00 |
|
Ryan Houdek
|
67c65831bc
|
[ARM] Make fnabsx and ps_nabs quicker. Sleep deprivation got the better of me.
|
2013-09-07 00:35:12 +00:00 |
|
Ryan Houdek
|
ef05a14757
|
[ARM] Clean up FPR cache. Rapid fire floating point instruction implementations. Adds 13 new instructions.
|
2013-09-07 00:19:32 +00:00 |
|
Ryan Houdek
|
a7f244e96d
|
Revert "Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay.""
This reverts commit 5696da0b3e.
JMC messed up, it wasn't due to this commit.
|
2013-09-04 19:16:28 -05:00 |
|
Ryan Houdek
|
5696da0b3e
|
Revert "[NetPlay] Make the Memory Card A/B setting sync across netplay."
This reverts commit e110f1049c.
This unfixes issue 6575. Reverted due to huge performance hit on behalf of JMC.
|
2013-09-04 02:55:13 -05:00 |
|
Ryan Houdek
|
d0d053a9f9
|
Fix for old libc version on bionic. Old versions would crash if the second argument was NULL.
|
2013-09-04 02:04:31 -05:00 |
|
Ryan Houdek
|
7e26aace9f
|
[ARM] Reenable ps_add. Issue is due to something in the FPR cache. Still needs to be investigated.
|
2013-09-04 03:27:45 +00:00 |
|
Ryan Houdek
|
8684b7635a
|
[ARM] Reimplement fastmem for the few loadstores that had it before.
|
2013-09-04 02:07:57 +00:00 |
|
Ryan Houdek
|
39ad48dfa5
|
[ARM] lmw implementation.
|
2013-09-03 09:55:15 +00:00 |
|
Ryan Houdek
|
30cd436e86
|
[ARM] Merge load instructions in to one. Also rapid prototype 13 more load instructions. This disables fastmem currently for loads.
|
2013-09-03 09:22:43 +00:00 |
|
Ryan Houdek
|
d4d6eb562e
|
[ARM] Fix and enable fastmem for 32bit stores.
|
2013-09-03 05:05:10 +00:00 |
|
Ryan Houdek
|
c97229f612
|
Merge branch 'arm-storemerge'
|
2013-09-03 04:12:22 +00:00 |
|
Ryan Houdek
|
cc2fa4a003
|
[ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this.
|
2013-09-03 04:11:25 +00:00 |
|
Ryan Houdek
|
dfce0f3b0b
|
[ARM] Merge all store instructions in to one. This disables fastmem on stores currently. Hit isn't noticeable since I've also implemented 5 more store instructions with this.
|
2013-09-03 04:08:15 +00:00 |
|
Ryan Houdek
|
a7f3264fed
|
[ARM] Merge a bunch of arithmetic JIT instructions and rapid prototyping of a bunch more.
|
2013-09-02 14:15:37 +00:00 |
|
Ryan Houdek
|
2897619ddb
|
Removal of my terrible idea.
|
2013-09-02 05:31:48 -05:00 |
|
Ryan Houdek
|
e7157e7c52
|
[Android] Fix fastmem and enable.
|
2013-09-02 04:10:21 -05:00 |
|
Ryan Houdek
|
679957dc98
|
Fix Non-GLES run path in videosoftware for the previous commit.
|
2013-09-02 01:44:46 -05:00 |
|
Ryan Houdek
|
831963616f
|
[Android] Make texture loading/deleting/drawing backend non-specific by making them happen in the backend instead of somewhere else. Just a clean up commit really.
|
2013-09-02 01:40:05 -05:00 |
|
Ryan Houdek
|
b03ff7a86b
|
[Android] Fix the game thread never leaving.
|
2013-09-01 01:10:40 -05:00 |
|
Ryan Houdek
|
df7b4da13b
|
[ARM] Fastmem is back. Still disabled for Android.
|
2013-08-31 02:33:12 +00:00 |
|
Ryan Houdek
|
8b0a0daf10
|
Revert "[ARM] Remove Fastmem. It is buggy and may never have the potential to work correctly."
This reverts commit f485d96b0b.
|
2013-08-31 02:33:11 +00:00 |
|
Ryan Houdek
|
710ac04084
|
[ARM] Fix the VMOV encoding to encode the destination VFP register correctly.
|
2013-08-30 05:13:43 -05:00 |
|
Ryan Houdek
|
2c1337eb5f
|
[ARM] Support both hardfp and softfp with lfs and lfd. Fixes these two instructions on Android since it uses softfp calling conventions. This adds a emitter for moving from two ARM Registers to a double VFP reg.
|
2013-08-30 09:38:11 +00:00 |
|
Ryan Houdek
|
7cceace1ed
|
[ARM] Fix Savestates.
|
2013-08-30 06:43:18 +00:00 |
|