Ryan Houdek
73d213142f
Merge pull request #2611 from Sonicadvance1/aarch64_fix_register_cache
...
[AArch64] Fix a few bugs in the FPR cache.
2015-06-14 19:03:40 -05:00
Ryan Houdek
094c6bf5bc
Merge pull request #2601 from Sonicadvance1/android_fix_user_directory
...
[Android] Make sure we are setting the default user directory.
2015-06-14 17:03:55 -05:00
Ryan Houdek
96058c5de1
[AArch64] Reenable psq_l.
...
The bug was due to issues in the FPR cache.
2015-06-14 04:11:59 -05:00
Ryan Houdek
282282aafc
[AArch64] Fix a few bugs in the FPR cache.
2015-06-14 04:11:26 -05:00
Ryan Houdek
c981f6407e
Merge pull request #2597 from endrift/android-allow-ndk-override
...
Android: Allow NDK location to be specified manually
2015-06-13 13:56:53 -05:00
Ryan Houdek
1c1282fddc
Merge pull request #2604 from lioncash/var
...
Arm64Emitter: Remove unused variable from EncodeLoadStoreRegisterOffset
2015-06-13 13:33:04 -05:00
Ryan Houdek
7c4e6c7eb9
[Android] Make sure we are setting the default user directory.
...
This fixes an issue where the settings aren't being saved correctly because the user directory is never set before a run of the game.
2015-06-13 08:37:56 -05:00
Ryan Houdek
467f351f79
[Android] Remove dialog telling individuals that their drivers are terrible.
...
There aren't any AArch64 devices with v14 Qualcomm drivers. So it is dead code.
2015-06-13 08:18:42 -05:00
Ryan Houdek
0af5bdcf1d
[AArch64] Clean up our CPUDetect.
...
Drops ARMv7 feature detection.
2015-06-13 08:04:23 -05:00
Ryan Houdek
bcc8c78e4a
Merge pull request #2582 from Sonicadvance1/aarch64_fix_thp_videos
...
[WIP] [AArch64] Clamp quantized store ranges.
2015-06-12 18:07:24 -05:00
Ryan Houdek
113c2dcd74
[AArch64] Clamp quantized store ranges.
...
Fixes block dots in THP videos.
Nintendo's THP video uses paired U8 stores to write their THP videos after decoding with floating point operations.
Paired stores clamp the range to the minimum and maximum values(0 - 255 in this case).
In some instances the resulting float will be larger than what a U8 can fit(Typically white) and results in black dots due to how AArch64 handles
quantizing.
2015-06-09 18:11:27 -05:00
Ryan Houdek
3d2b116323
[AArch64] Implement a couple instructions in the emitter.
...
Implements LD2R.
Implements LD1R/LD2R with post-indexing support.
Implements vector min/max instructions.
2015-06-09 18:10:56 -05:00
Ryan Houdek
7b0a65e295
Merge pull request #2576 from sigmabeta/android-controls
...
Android: Persist previously-set controller bindings on the Settings menu.
2015-06-09 16:56:34 -05:00
Ryan Houdek
0047ea8852
Merge pull request #2501 from sigmabeta/android-kill-old-ui
...
Android: Remove the old UI, and remove support for pre-5.0 devices.
2015-06-09 03:57:47 -04:00
Ryan Houdek
ffe085f5ea
[AArch64] Implement CRC32 texture hashing.
...
In a particular hashing heavy scene in Crazy Taxi the Murmur3 hash used 3.11% CPU time.
The new CRC32 hash in the same scene used 1.86%
This was tested on a Nvidia SHIELD Android TV with Cortex-A57s.
This will be a bit slower on the Nexus 9, the Denver CPU core is a bit slower with CRC32 texture hashing than Murmur3 texture hashing.
2015-06-08 19:16:50 -05:00
Ryan Houdek
a91c152b86
Merge pull request #2572 from sigmabeta/android-show-version
...
Android: Show the version name as a subtitle in the GameGridActivity.
2015-06-08 19:37:33 -04:00
Ryan Houdek
2282be3265
Merge pull request #2573 from sigmabeta/android-show-filenames
...
Android: Show filenames for games with an empty title.
2015-06-08 19:35:17 -04:00
Ryan Houdek
881f6db2ab
Merge pull request #2509 from comex/fix-ar-codes
...
Fix subdialogs of the ISO props dialog... sort of
2015-06-08 04:13:16 -04:00
Ryan Houdek
21b1d143bc
Merge pull request #2566 from sigmabeta/android-tv-back
...
Android TV: Show the in-game menu when back button is pushed.
2015-06-08 04:02:22 -04:00
Ryan Houdek
3a3b782f3c
[AArch64] Detect AES/SHA1/SHA2/CRC32 in CPUDetect.
2015-06-08 01:20:24 -05:00
Ryan Houdek
1b6969ca67
Merge pull request #2567 from Sonicadvance1/remove_armv7
...
Remove ARMv7 support.
2015-06-08 02:19:11 -04:00
Ryan Houdek
59e2225f7d
Remove ARMv7 support.
2015-06-07 22:44:13 -05:00
Ryan Houdek
499478bcad
Merge pull request #2550 from Armada651/d3d-pokes
...
D3D: Implement Z pokes.
2015-06-07 23:25:16 -04:00
Ryan Houdek
9969273994
Merge pull request #2557 from AdmiralCurtiss/gc-sram-checksum
...
GameCube SRAM: Recalculate checksums after setting language.
2015-06-07 23:24:06 -04:00
Ryan Houdek
e8ae0f8c3c
Merge pull request #2562 from Sonicadvance1/aarch64_optimize_gatherpipe
...
[AArch64] Optimize gatherpipe stores
2015-06-07 23:23:11 -04:00
Ryan Houdek
8c2e5e2860
Merge pull request #2555 from Sonicadvance1/aarch64_rebase_ppsspp_emitter
...
[AArch64] Upstream PPSSPP's emitter changes.
2015-06-07 23:23:04 -04:00
Ryan Houdek
a81d1c250a
Merge pull request #2512 from JosJuice/bnr-size-match
...
VolumeGC: Check that opening.bnr size matches type
2015-06-07 23:20:54 -04:00
Ryan Houdek
51b440fbcf
Merge pull request #2449 from sigmabeta/android-decouple-surfaceview
...
\Android: Decouple SurfaceView initialization and emulation start.
2015-06-07 23:18:56 -04:00
Ryan Houdek
49a0adb2e9
Merge pull request #2506 from comex/enet-build-fixes
...
ENet fixes (build fixes, upgrade)
2015-06-07 23:16:42 -04:00
Ryan Houdek
9521bc1fc6
Merge pull request #2558 from sigmabeta/android-panic-alerts
...
Android: Display Panic Alerts on-screen as a Toast message.
2015-06-07 23:14:34 -04:00
Ryan Houdek
c79dd40e72
Merge pull request #2529 from JosJuice/ini-skip-bom
...
Skip reading UTF-8 BOM at the beginning of INI files
2015-06-07 23:13:53 -04:00
Ryan Houdek
daf9492072
Merge pull request #2561 from Sonicadvance1/gles_fix
...
Fix OpenGL ES shader compilation.
2015-06-07 23:12:57 -04:00
Ryan Houdek
444d112df5
Merge pull request #2563 from Sonicadvance1/aarch64_disable_psql
...
[AArch64] Disable psq_l again.
2015-06-07 23:12:50 -04:00
Ryan Houdek
c8068e26fb
Merge pull request #2527 from Sonicadvance1/aarch_multi_loadstore
...
[AArch64] Implement lmw/stmw.
2015-06-07 23:12:42 -04:00
Ryan Houdek
d29fd84249
[AArch64] Disable psq_l again.
...
Still causing issues with games.
Disable it again until I can spend enough time debugging it.
2015-06-07 19:55:27 -05:00
Ryan Houdek
46c3a11d01
[AArch64] Optimize gatherpipe stores
...
This can be even more optimized in the future when the register cache supports constant caching.
2015-06-07 19:53:40 -05:00
Ryan Houdek
8ae12d8005
[AArch64] Add ASIMD LDR/STR with register offset
2015-06-07 19:53:05 -05:00
Ryan Houdek
05b72c5d31
[AArch64] Upstream PPSSPP's emitter changes.
...
Requires a minor change to in the JIT to make sure everything still works.
2015-06-07 19:50:21 -05:00
Ryan Houdek
3f46491255
Fix OpenGL ES shader compilation.
2015-06-07 19:44:44 -05:00
Ryan Houdek
588de63f9c
Merge pull request #2141 from Tilka/position_cache
...
zfreeze: cache vertex positions
2015-06-07 16:44:40 -04:00
Ryan Houdek
10bd68936c
[AArch64] Implement ZFreeze cache
2015-06-07 12:13:01 +02:00
Ryan Houdek
63f41ce54e
Merge pull request #2514 from sigmabeta/android-tv-support
...
Android TV: Allow the app to be launched from an Android TV launcher.
2015-06-05 18:30:32 -04:00
Ryan Houdek
7b9565c4e6
[AArch64] Implement lmw/stmw.
2015-06-04 23:54:50 -05:00
Ryan Houdek
17e1f644b0
Merge pull request #2504 from ds84182/master
...
Fix invalid enums on OpenGLES
2015-06-02 12:17:12 -04:00
Ryan Houdek
9407797d16
Merge pull request #2454 from Sonicadvance1/armv7_disable_loadstores
...
[ARMv7] Extend the life of the JIT Recompiler.
2015-06-02 10:42:06 -04:00
Ryan Houdek
1414221bd4
Merge pull request #2499 from sigmabeta/android-tv-tweaks
...
Android TV: Make file selector screen usable with d-pads
2015-06-01 16:58:15 -04:00
Ryan Houdek
1d90a1b8a7
Merge pull request #2497 from Sonicadvance1/aarch64_minor_opt
...
[AArch64] Minor bugfix and optimization.
2015-06-01 16:40:26 -04:00
Ryan Houdek
5ed3a5de22
[AArch64] Minor bugfix and optimization.
...
Fixes a bug in lfs where I was doing a rev64.16b when I needed to do a rev32.8b.
Change a ld1r.4s to a ld1r.2s.
Fix an issue where a fcvtl2 needed to be a fcvtl.
Re-enabled psq_l, issue with flickering can't be reproduced anymore, so whatever.
2015-05-31 22:03:36 -05:00
Ryan Houdek
d0ae3f7d24
Break out the disassembler code from the WXWidgets UI.
...
This cleans up some of the code between core and UI for disassembling and dumping code blocks.
Should help the QT UI in bringing up its debug UI since it won't have to deal with this garbage now.
2015-05-31 18:16:59 -05:00
Ryan Houdek
ac1f3ef099
Merge pull request #2492 from Sonicadvance1/fix_block_sizes
...
Fix JIT core's block sizes.
2015-05-31 16:49:47 -04:00
Ryan Houdek
f9c0932b0c
Merge pull request #2493 from Sonicadvance1/aarch64_cant_disable_tw
...
[AArch64] Don't disable tw{i,}
2015-05-31 16:49:41 -04:00
Ryan Houdek
1723217cc9
[AArch64] Don't disable tw{i,}
...
It's an endblock instruction, it shouldn't be disabled via the JITDISABLE macro.
2015-05-31 15:37:22 -05:00
Ryan Houdek
6c56cd0c30
Fix JIT core's block sizes.
...
Was causing disassembled blocks to be cut off by a few instructions at the end.
2015-05-31 14:59:17 -05:00
Ryan Houdek
210d7c4d54
Merge pull request #2486 from Tilka/x86_32
...
Jit64: drop more x86_32 left-overs
2015-05-31 13:06:19 -04:00
Ryan Houdek
cdbdff436b
Merge pull request #2478 from degasus/fix_prefetching
...
HiresTexture: Fix prefetching with broken textures
2015-05-29 01:42:48 -04:00
Ryan Houdek
b038b61a29
[ARMv7] Extend the life of the JIT Recompiler.
...
Until loadstores are fully investigated, let's artificially extend the life of it by disabling all of them.
These instructions break in a very terrible way and eventually all loadstores end up attempting to access memory region (u32)-1.
Disable until someone has enough time to investigate further.
2015-05-25 23:36:28 -05:00
Ryan Houdek
a4a8162fb5
Merge pull request #2188 from JosJuice/dol-cleanup
...
DOL loader cleanup with std::vector and safety checks
2015-05-25 23:51:40 -04:00
Ryan Houdek
f4625e6383
Merge pull request #2398 from JosJuice/revert-854f6b8
...
Attempt at fixing issue 8544 (input recording desyncs)
2015-05-25 23:49:56 -04:00
Ryan Houdek
061848457a
Merge pull request #2382 from RisingFog/vfwfix
...
Fix video dumping incorrect lengths for some games in Windows
2015-05-25 23:46:22 -04:00
Ryan Houdek
f706518dc0
Merge pull request #2390 from darkengine-io/new-qt
...
More miscellaneous Qt fixes
2015-05-25 23:45:21 -04:00
Ryan Houdek
96ef0fce38
Merge pull request #2450 from lioncash/alloc
...
NetPlayClient: Remove unnecessary array allocation
2015-05-25 23:42:49 -04:00
Ryan Houdek
b0b5f4d10d
Merge pull request #2326 from JosJuice/isoproperties-config-block
...
ISOProperties: Don't block when opening default INI in text editor
2015-05-25 23:42:26 -04:00
Ryan Houdek
5911dd528a
Merge pull request #2361 from JosJuice/filesystem-read32
...
Remove CFileSystemGCWii::Read32
2015-05-25 23:40:28 -04:00
Ryan Houdek
c88d6c804a
Merge pull request #2430 from Sonicadvance1/android_panic_handler
...
[Android] Add support for panic alerts to the JNI.
2015-05-25 23:37:48 -04:00
Ryan Houdek
4ba430951a
Merge pull request #2439 from JosJuice/company-from-id
...
Use an ID-to-name map when volume has no company string
2015-05-25 23:32:55 -04:00
Ryan Houdek
0c31013622
Merge pull request #2453 from rohit-n/call-me-bob
...
Fix building with PCH disabled.
2015-05-25 23:28:18 -04:00
Ryan Houdek
1d6375b71f
Merge pull request #2339 from JosJuice/fix-wii-fst-size
...
Fix reading Wii FST size
2015-05-25 23:27:25 -04:00
Ryan Houdek
dad5d8e13d
Merge pull request #2357 from degasus/ogl_efb_poke_merge
...
ogl: efb poke merge
2015-05-25 23:26:39 -04:00
Ryan Houdek
3817dd0f91
Merge pull request #2272 from phire/jitil-floatbug
...
JitIL: Fix a bug in floatpoint load/store instructions.
2015-05-25 23:17:56 -04:00
Ryan Houdek
d789d8d75f
[Android] Add support for panic alerts to the JNI.
2015-05-25 22:13:00 -05:00
Ryan Houdek
7c04c76a26
Merge pull request #2421 from Tilka/jit_stuff
...
Jit64: fixes + less code
2015-05-25 23:08:24 -04:00
Ryan Houdek
0c5f5c4519
Merge pull request #2394 from Sonicadvance1/android_block_profiling_api
...
[Android] Block profiling JNI interface
2015-05-25 23:06:37 -04:00
Ryan Houdek
95f9096068
Merge pull request #2396 from Sonicadvance1/fix_racing_cpu_core
...
Fix a race condition when pausing the CPU core.
2015-05-25 23:06:18 -04:00
Ryan Houdek
99d9161e49
Merge pull request #2429 from Sonicadvance1/aarch64_block_profile
...
[AArch64] Implement block profiling.
2015-05-25 23:05:54 -04:00
Ryan Houdek
69963dc4b0
Merge pull request #2274 from degasus/disable_bbox
...
Disable bbox
2015-05-25 08:46:12 -04:00
Ryan Houdek
eb94e742f1
[AArch64] Implement block profiling.
...
This is time based block profiling unlike the ARMv7 core.
I would like to add cycle counter based block profiling like the ARMv7 core, but it first requires writing a kernel module to enable the counters to userland applications
2015-05-20 22:23:59 -05:00
Ryan Houdek
42cc48f929
Merge pull request #2407 from sigmabeta/master
...
Android: Put GCPadNew.ini back into the repository.
2015-05-12 19:24:05 -04:00
Ryan Houdek
0533ecde23
Merge pull request #2397 from Sonicadvance1/aarch64_disable_psq_l
...
[AArch64] Disable psq_l.
2015-05-11 19:21:53 -04:00
Ryan Houdek
5bbaa85f25
Merge pull request #2389 from sigmabeta/lollipop-ui-tweaks
...
Android: Add file browser screen to new UI, and several tweaks.
2015-05-11 11:35:51 -04:00
Ryan Houdek
2d47a159ab
[AArch64] Disable psq_l.
...
Causes flickering in games ever since PR #2172 .
No idea why
2015-05-11 00:11:40 -05:00
Ryan Houdek
af305aa168
Fix a race condition when pausing the CPU core.
...
This affects enabling and disabling block profiling on the fly.
The block profiling pauses the CPU cores and then flushes the JIT's block cache and enables block profile.
The issue with this is that when we pause the CPU core, we don't have a way to tell if the JIT recompiler has actually left.
So if the secondary thread that is clearing the JIT block cache is too quick, it will clear the cache as a recompiler is still running that block that
has been cleared.
2015-05-10 21:00:54 -05:00
Ryan Houdek
379f9feebd
Fix non-PCH build.
2015-05-10 20:16:05 -05:00
Ryan Houdek
a36dc19d9b
Add JNI interface for enabling writing block profile results.
2015-05-10 20:03:34 -05:00
Ryan Houdek
0da086e389
Make sure the JitInterface's WriteProfileResults instruction pauses and resumes the CPU core.
2015-05-10 20:02:25 -05:00
Ryan Houdek
80fe5e0a55
Merge pull request #2370 from sigmabeta/native-libs-task-removal
...
Remove the "nativeLibsToJar" gradle task.
2015-05-06 09:16:43 -04:00
Ryan Houdek
f9dc8a39c0
Merge pull request #2350 from sigmabeta/master
...
Convert the Android source code to Gradle.
2015-05-03 22:01:02 -04:00
Ryan Houdek
5dbfebcd30
Merge pull request #2216 from Sonicadvance1/aarch64_dirty_dirty
...
[AArch64] Implement dirty register tracking.
2015-03-22 11:32:43 -05:00
Ryan Houdek
27619e613f
Merge pull request #2231 from Sonicadvance1/fix_wii_config
...
Fix Wii configuration path being incorrect.
2015-03-17 22:42:07 -05:00
Ryan Houdek
297012ddd7
Fix Wii configuration path being incorrect.
...
On loading the NANDRoot from the config, if it isn't set it will still attempt to be set.
So on the invalid empty path, just don't set it.
2015-03-17 21:27:40 -05:00
Ryan Houdek
3e946b1bf7
[AArch64] Implement dirty register tracking.
...
Using BindToRegister from the register caches causes the register bound to be marked dirty.
Using the regular R() function from the register caches loads the registers without being dirty.
When implementing new instructions make sure to BindToRegister registers that become dirty.
2015-03-15 20:09:30 -05:00
Ryan Houdek
5e0b9179db
Merge pull request #2186 from Sonicadvance1/aarch64_optimize_paired_slowmem
...
[AArch64] Optimize slowmem paired stores.
2015-03-15 14:37:21 -05:00
Ryan Houdek
bcc434095d
Merge pull request #2212 from Sonicadvance1/fix_user_paths
...
Fix user directories at times doing stupid things.
2015-03-15 09:45:02 -05:00
Ryan Houdek
aaf04aeaca
Fix user directories at times doing stupid things.
...
With my previous changes Dolphin would fail to create the user directory if it didn't exist, and would dump all the configuration options in to the cwdir.
This was a bit more complicated to fix in a clean fashion, so I took to moving around code concerning user directories.
Instead of having GetUserPath serve a dual purpose of both getting and setting our user directories, break out to a new SetUserPath function.
GetUserPath will know only get the configured user path.
SetUserPath will set our user paths and setup the internal user path state.
This ending up being a lot cleaner overall, which is nice. Also less mind bending when attempting to read the code.
So now we won't dump all of our configuration in to the cwdir if ~/.dolphin-emu isn't found.
Fixes issue 8371.
2015-03-15 09:19:48 -05:00
Ryan Houdek
b267e5147c
Merge pull request #2203 from alucryd/findx11
...
Include the FindX11 module
2015-03-15 07:40:20 -05:00
Ryan Houdek
5e6d49d96b
Merge pull request #2209 from magumagu/remove-hle-opcode
...
Remove remnants of old fake opcodes.
2015-03-15 07:13:07 -05:00
Ryan Houdek
d6c6d36e87
Merge pull request #2191 from magumagu/mmio-typo
...
Fix typo in usage of IsOptimizableMMIOAccess.
2015-03-08 18:40:24 -05:00
Ryan Houdek
7f50cc0873
[AArch64] Optimize slowmem paired stores.
...
This came up from the discussion we were having prior about dumping half of a kilobyte of VFP registers to the stack is insanity.
This was due to me basically copying exactly what I did on ARMv7's paired loadstores, where the impact is less since we only use the bottom 64bits of
the VFP registers.
So I decided to think about how to improve upon this since I got called out on my terrible code.
The solution I have come up with is instead of jumping to the common ASM routine and having that check if it needs to take the fastmem or slowmem
routes, just inline the check in to the JIT block and jump to either a fastmem or slowmem handler.
Fairly simple, and this allows us to only flush the registers that are required when doing so. Should give a reasonable increase in performance for
games that use the slowmem path quite a lot.
2015-03-08 16:12:49 -05:00
Ryan Houdek
f6511c3ba5
[AArch64] Add an assert to SMOV in the emitter.
...
SMOV doesn't have an encoding for moving a 32bit element to a 32bit GPR.
One should use UMOV if they want that.
2015-03-08 12:29:45 -05:00
Ryan Houdek
d34e908c4e
Merge pull request #2185 from degasus/master
...
GLX: fix memory leak
2015-03-08 11:54:50 -05:00
Ryan Houdek
b0f61201c3
Merge pull request #2142 from Sonicadvance1/fix_gles31_non_nvidia
...
Fix OpenGL ES 3.1 on non-Nvidia devices.
2015-03-08 09:03:05 -05:00