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
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
Ryan Houdek
a9622c247b
Merge pull request #2146 from Sonicadvance1/aarch64_optimize_fpr_push_pop
...
[AArch64] Optimize FPR pushing and popping.
2015-03-08 08:51:45 -05:00
Ryan Houdek
a984b2476a
Merge pull request #2144 from Sonicadvance1/android_autostart
...
[Android] Support arguments from Activity Monitor.
2015-03-08 08:50:27 -05:00
Ryan Houdek
3c5e99c777
Fix OpenGL ES 3.1 on non-Nvidia devices.
...
We are declaring we require ARB_shader_image_load_store in the shader, this isn't an extension on GLES because it is part of the GLSL ES 3.1 spec.
If we are running as GLES then just not put it in the shaders.
2015-03-08 08:49:53 -05:00
Ryan Houdek
70977fd6b1
Merge pull request #2092 from Sonicadvance1/gles_occlusion_queries
...
Implement full occlusion queries for the Nexus 9.
2015-03-08 08:44:15 -05:00
Ryan Houdek
c2b2e03f73
[Android] Support arguments from Activity Monitor.
...
Activity Monitor can start activities by using adb to invoke it.
This will allow us to set the user directory and autostart file from adb.
adb shell am start -n org.dolphinemu.dolphinemu/.gamelist.GameListActivity -e AutoStartFile /sdcard/AC.gcz -e UserDir /sdcard/dolphin-emu2/
This allows more automated testing to be done with Dolphin on Android.
2015-03-08 08:43:25 -05:00
Ryan Houdek
fbdee7b15f
[AArch64] Handle FPR island registers in a less dumb way.
2015-03-03 00:30:05 -06:00
Ryan Houdek
81242dd4a7
[AArch64] Allow the other FPR push/pop routines to use a temporary register.
2015-03-02 21:38:09 -06:00
Ryan Houdek
f1a9db9bdc
[AArch64] Stop violating the AAPCS64 so much.
2015-03-02 11:21:15 -06:00
Ryan Houdek
fad46729b0
[AArch64] Implemented paired pushing/popping for the VFP.
...
A bit more efficient if we are only pushing two VFP registers.
We can probably be a bit more efficient in the future by mixing paired loadstores in to the other paths as well.
2015-03-02 06:27:47 -06:00
Ryan Houdek
39e357d62d
[AArch64] Implement VFP loadstore paired in the emitter.
2015-03-02 06:27:17 -06:00
Ryan Houdek
8b8310d28c
[AArch64] Optimize FPR pushing and popping.
...
Previously on FPR pushing and popping we would do a single STR/LDR per quad FPR we wanted to push/pop.
In most of our cases when we are pushing and popping VFP registers they will be consecutive registers that will save more efficiently using the NEON
loadstores that can do up to four quad registers.
So this can potentially cutting instructions down to ~1/4th the amount of instructions if the registers are all consecutive.
On the Cortex-A57 this is basically just an icache improvement, but on the Nvidia Denver this may be optimized to be more efficient. Either way it's a
win.
2015-03-02 06:27:13 -06:00
Ryan Houdek
d3c9701eb6
Merge pull request #2156 from Stevoisiak/EFB-Copies-To-Texture
...
VideoConfigDiag: Rename EFB Copies to RAM option
2015-02-28 22:28:11 -06:00
Ryan Houdek
d6fcd85110
Merge pull request #2127 from lioncash/aui
...
DolphinWX: Relocate the address search into the code window
2015-02-25 10:36:07 -06:00
Ryan Houdek
ca6e154f0b
Fix a bug on user path re-assignment.
...
The Load directory wasn't being properly reassigned when the user path changed, which causes a bunch of issues with things loading from the wrong
place when using the -U option in Dolphin.
2015-02-25 05:45:25 -06:00
Ryan Houdek
db06f058e4
Move user directory detection location to UICommon.
...
The UI should decide on where it wants the user directory, not our core system.
This is in anticipation of some upcoming work on Android which will need proper user directory setting.
2015-02-25 03:31:59 -06:00
Ryan Houdek
7d5a558f31
Merge pull request #2105 from Sonicadvance1/android_stop_eating_buttons
...
[Android] Stop eating button events we don't handle.
2015-02-24 06:25:10 -06:00
Ryan Houdek
29fc52cfa1
[Android] Stop eating button events we don't handle.
...
We were eating /all/ button events except the back button. This would cause issues where Android wouldn't receive button press events for things like
volume rockers. So you couldn't change the audio ingame, even if that button isn't bound to an input.
Now we return to Android if we've handled that button press, so it works fine.
2015-02-24 05:38:16 -06:00
Ryan Houdek
4e5d115bf0
Merge pull request #2114 from Tilka/fix_warnings
...
Fix some warnings
2015-02-24 05:35:49 -06:00
Ryan Houdek
28e55d29f2
Fix a crash with fastmem disabled.
...
When the core is busy shutting down only uninstall the exception handler if fastmem is actually enabled.
We only install when fastmem is enabled, so only uninstall when it is as well.
Fixes a crash I was getting on ARMv7.
2015-02-24 04:52:37 -06:00
Ryan Houdek
84f8547556
Merge pull request #2115 from Sonicadvance1/fix_android_cmake
...
Fix a typo in the Android cmake toolchain script.
2015-02-24 03:27:12 -06:00
Ryan Houdek
a39eee28e9
Fix a typo in the Android cmake toolchain script.
...
This was a fairly recent update that went unnoticed because it uses a cached variable.
When I previously updated Android cmake I didn't noticed this.
Basically the issue was that Android cmake was no longer setting ${LIBRARY_OUTPUT_PATH_ROOT}
and instead only setting it to ${CMAKE_SOURCE_DIR} if it was passed a variable.
Same PR is open on the android cmake repo here https://github.com/taka-no-me/android-cmake/pull/37
2015-02-24 02:58:55 -06:00
Ryan Houdek
7a61bd5519
Merge pull request #2107 from Sonicadvance1/aarch64_fix_lha
...
[AArch64] Fix fastmem lha/lhax.
2015-02-23 15:08:42 -06:00
Ryan Houdek
859eeb6d5b
[AArch64] Fix fastmem lha/lhax.
...
When the fastmem loadstore would fail, we would disassemble a few instructions to determine if lhbrx or lhz*
This was failing since I was checking the REV16 instruction that appears after the LDRH. Fixed it to make sure it was checking the correct instruction
which is SXTH.
Fixes an issue where homebrew wouldn't load with fastmem enabled.
2015-02-22 22:58:10 -06:00
Ryan Houdek
3ab006b8d1
Merge pull request #2099 from Tilka/vtune
...
Fix VTune static library dependencies
2015-02-22 15:19:56 -06:00
Ryan Houdek
e9ac4d53a6
Implement full occlusion queries for the Nexus 9.
...
GLES3 spec is worthless and only returns a boolean result for occlusion queries. This is fine for simple cellular games but we need more than a
boolean result.
Thankfully Nvidia exposes GL_NV_occlusion_queries under a OpenGL ES extension, which allows us to get full samples rendered.
The only device this change affects is the Nexus 9, since it is an Nvidia K1 crippled to only support OpenGL ES.
No other OpenGL ES device that I know of supports this extension.
2015-02-21 17:24:36 -06:00
Ryan Houdek
a5b4ac6faa
[GLExtensions] Add support for NV_occlusion_query_samples.
2015-02-21 17:24:32 -06:00
Ryan Houdek
09e8adb199
[Android] Fix ignore format changes option.
...
This option was inversed, so it was always set to the opposite of what was wanted.
2015-02-18 16:27:37 -06:00
Ryan Houdek
19f8524304
Fix mulli's flags in the instruction tables.
...
It doesn't set RC, so this flag is incorrect.
2015-02-18 16:26:12 -06:00
Ryan Houdek
0567b28ba1
[Android] Fix building unit tests.
2015-02-18 16:24:30 -06:00
Ryan Houdek
ef2fba2e85
Merge pull request #2070 from lioncash/unused
...
PowerPC: Remove unused enum values
2015-02-17 23:42:46 -06:00
Ryan Houdek
127e742992
Merge pull request #2046 from Mullin/Fix-unsigned/signed-stores
...
[ARMv7] Fix unsigned/signed stores
2015-02-17 14:38:36 -06:00
Ryan Houdek
3aa605236d
Merge pull request #2041 from Sonicadvance1/AArch64_vertex_loader
...
[AArch64] Vertex loader and things
2015-02-17 00:51:51 -06:00
Ryan Houdek
ed008c3a69
[AArch64] Change the vertex loader over to using unscaled loadstores.
...
In nearly all direct loadstore cases we can use unscaled loadstores.
Still have a fallback in case we hit a situation that we /can't/ do a unscaled loadstore.
2015-02-16 22:03:09 -06:00
Ryan Houdek
120df4c688
[AArch64] Implement loadstore unscaled.
2015-02-16 22:00:43 -06:00
Ryan Houdek
2ebe57ed3f
Convert our vertex loader unit test to the new RunVertices arguments arrangement.
2015-02-16 16:51:39 -06:00
Ryan Houdek
f54a0d3ff4
[AArch64] Minor floating point loadstore improvements.
...
These use the Vector x Element FMUL instruction to improve speeds slightly.
Should give ~3cycle improvement per quantized loadstore done.
2015-02-16 16:51:39 -06:00
Ryan Houdek
b4b03641b3
[AArch64] Implement vertex loader recompiler.
...
Shows a noticeable reduction in time spent in the vertex loader.
2015-02-16 16:51:32 -06:00
Ryan Houdek
15e41c67f8
Change RunVertices' function arguments.
...
This reduces some dumb state shuffling when calling the emitted vertex loaders.
2015-02-13 12:16:06 -06:00
Ryan Houdek
b989c2fd8f
[AArch64] Fix another assert in the JIT register cache.
2015-02-13 12:16:06 -06:00
Ryan Houdek
814aaaf538
[AArch64] Implement a couple of emitter instructions.
...
These will be used with the vertex loader JIT recompiler.
2015-02-13 12:16:06 -06:00
Ryan Houdek
0252bbb33f
[AArch64] Fix non-PCH build.
2015-02-13 12:16:05 -06:00
Ryan Houdek
8074d06270
[ARM] Fix poison memory functions.
...
We were poisoning 4x more data and overrunning our buffers. We don't want to do this.
2015-02-13 12:16:05 -06:00
Ryan Houdek
20dae1f210
[AArch64] Fix a bunch of emitter asserts.
...
Since I've added the msg handler. I found all these asserts that were backwards. So they were asserting on the correct arguments.
2015-02-13 12:16:05 -06:00
Ryan Houdek
57c66798fc
[Android] Register panic alert handler.
...
This lets me see _assert_msg_ alerts on Android when passing dumb arguments to my AArch64 emitter.
2015-02-13 12:15:59 -06:00
Ryan Houdek
f9c2d73970
Remove an old comment about stfiwx.
...
This instruction does exactly what it is supposed to. No need for this comment.
2015-02-01 00:30:53 -06:00
Ryan Houdek
a277172b49
Merge pull request #1980 from Sonicadvance1/AArch64_more_optimizations
...
[AArch64] Minor optimizations
2015-01-30 08:33:19 -06:00
Ryan Houdek
7cd80200ed
[AArch64] Remove an extraneous nop in 8bit fastmem stores.
2015-01-30 08:30:17 -06:00
Ryan Houdek
4ff2f105cc
[AArch64] Implement MMIO Writes.
2015-01-30 08:30:11 -06:00
Ryan Houdek
a2b872b9da
Merge pull request #1983 from Sonicadvance1/remove_comment
...
Remove an old outdated comment that makes no sense.
2015-01-29 09:51:16 -06:00
Ryan Houdek
9b4a896353
Remove an old outdated comment that makes no sense.
...
This comment was left over from a long time ago. It is no longer true.
2015-01-29 09:40:22 -06:00
Ryan Houdek
631c8a981e
[AArch64] Minor performance improvements to paired stores.
...
We can combine these two ST1 calls in to a single ST1 call.
Saves a few cycles in paired stores
2015-01-29 06:07:00 -06:00
Ryan Houdek
235f6c2445
[AArch64] Don't flush VFP register to stack when not needed.
2015-01-29 06:07:00 -06:00
Ryan Houdek
c8c062fa96
[AArch64] Add support for MMIO loads.
...
Should give a small performance benefit.
2015-01-29 06:06:54 -06:00
Ryan Houdek
1c388b6c37
Fix clang on x86_64.
...
If we are compiling in the CRC32 hash, clang has an issue with casting a s32 to a u64.
Change our lens argument to a unsigned integer to fix the issue.
2015-01-29 01:55:20 -06:00
Ryan Houdek
8c53b88cc3
[AArch64] Implement a way to call lambdas in the emitter
2015-01-29 01:50:11 -06:00
Ryan Houdek
714e146b94
Update Android cmake.
...
This is required to properly build the MIPS64 and x86_64 targets with clang.
2015-01-26 21:26:54 -06:00
Ryan Houdek
7df55d220f
Merge pull request #1967 from Sonicadvance1/Android_settings
...
[Android] Change some configuration options.
2015-01-26 05:30:35 -06:00
Ryan Houdek
de070cfe8b
[Android] Change the default renderer to OpenGL.
...
We now require OpenGL ES 3.0 minimum to run, this is the sane default.
2015-01-26 00:51:24 -06:00
Ryan Houdek
983c7f4f21
[Android] Select the AArch64 recompiler core by default if shown to support ARMv8.
2015-01-26 00:50:25 -06:00
Ryan Houdek
7ee1dc56e7
[Android] No longer carry a default configuration file.
2015-01-26 00:49:24 -06:00
Ryan Houdek
5ba1319abb
Merge pull request #1953 from Sonicadvance1/AArch64_fix_paired_loadstores
...
[AArch64] Fix all of the paired store instructions.
2015-01-25 23:07:44 -06:00
Ryan Houdek
c340a324bc
Merge pull request #1947 from Sonicadvance1/AArch64_tu_tl_merge
...
[AArch64] Implement TU/TL merging.
2015-01-25 23:07:32 -06:00
Ryan Houdek
315f6ddfe6
Merge pull request #1965 from rohit-n/build-pch
...
Fix building with PCH disabled.
2015-01-25 22:41:05 -06:00
Ryan Houdek
3274df7158
Merge pull request #1961 from Sonicadvance1/AArch64_game_fixes
...
[AArch64] Fix a load of games.
2015-01-25 18:26:42 -06:00
Ryan Houdek
b1fc18cbaa
Merge pull request #1958 from Sonicadvance1/Rearchitect_asmcommon
...
Rearchitect a bit of our AsmCommon routines.
2015-01-25 18:26:17 -06:00
Ryan Houdek
d291148016
[AArch64] Implement TU/TL merging.
...
Basically stolen from the x86 recompiler. Works well on AArch64 as well!
2015-01-25 18:05:33 -06:00
Ryan Houdek
f24c466e7e
[AArch64] Fix AArch64 instruction encoding.
2015-01-25 17:26:18 -06:00
Ryan Houdek
98fe869e39
Merge pull request #1962 from rohit-n/build-pch
...
Fix building with PCH disabled.
2015-01-25 15:38:20 -06:00
Ryan Houdek
e4e08b0596
[AArch64] Make sure to load the full destination register on float instructions.
...
With the float instructions that only affect the lower 64bits of the destination register, we need to make sure to load the full 128bit register.
This ensures that we aren't saving garbage in to the top 64bits.
2015-01-25 03:17:46 -06:00
Ryan Houdek
2483f7b359
[AArch64] Fix addcx.
2015-01-25 03:17:14 -06:00
Ryan Houdek
6791a808b6
[AArch64] Fix addzex.
2015-01-25 03:16:57 -06:00
Ryan Houdek
84b90ad1c6
[AArch64] Fix cmp
2015-01-25 03:16:29 -06:00
Ryan Houdek
12b9ada268
Rearchitect a bit of our AsmCommon routines.
...
JitCommon is becoming a cluster of x86 specific things and things that are common to multiple recompilers.
This overlap is beginning to cause us issues.
Begin by breaking out the common ASM arrays to have their own file and move the x86 specific routines to their own folder.
2015-01-24 20:06:15 -06:00
Ryan Houdek
bf0293231f
Merge pull request #1957 from lioncash/cs
...
Coding style cleanup from the zfreeze merge
2015-01-24 16:39:01 -06:00
Ryan Houdek
93f3816eae
[AArch64] Fix all of the paired store instructions.
...
These had some minor errors in them that I discovered with the hardware test and Viewtiful Joe.
All work as they should now.
2015-01-23 23:18:49 -06:00
Ryan Houdek
0557fb6a9e
[Android] Add internet permissions.
...
These permissions are required for the ability to create sockets. Which are sort of required on a system that can make them.
2015-01-23 23:15:56 -06:00
Ryan Houdek
088b6b2ec3
Merge pull request #1081 from phire/jitil-float-mem-opts
...
JitIL Float load/store optimizations.
2015-01-23 21:47:03 -06:00
Ryan Houdek
d544cc3c68
Merge pull request #1463 from phire/cleanup_ELFloader
...
Cleanup ElfLoader and BootElf
2015-01-23 21:46:55 -06:00
Ryan Houdek
189528171b
Remove an old GLES define that I missed.
2015-01-23 14:30:23 -06:00
Ryan Houdek
618dfe9804
Merge pull request #1749 from Buddybenj/readme
...
Readme Fixes and Improvements
2015-01-22 18:38:27 -06:00
Ryan Houdek
6470227a39
[AArch64] Minor fix in the UMULH/SMULH.
...
These two instructions ignore the register encoded in to RA.
2015-01-22 18:08:49 -06:00
Ryan Houdek
db690a1862
Merge pull request #1936 from lioncash/kb
...
Minor keyboard-related cleanups.
2015-01-22 16:23:34 -06:00
Ryan Houdek
bff230fe2e
Merge pull request #1945 from skidau/GCPad-Init
...
Fixed the GCPad and GCKeyboard getting initialised four times each.
2015-01-22 10:41:43 -06:00
Ryan Houdek
bb1ca26c57
Merge pull request #1940 from Sonicadvance1/AArch64_implement_xer
...
[AArch64] Implement mfspr/mtspr XER routines.
2015-01-22 10:31:22 -06:00
Ryan Houdek
85754c63ca
[AArch64] Implement mfspr/mtspr XER routines.
...
These were fairly simple to implement.
2015-01-21 16:56:27 -06:00
Ryan Houdek
e7f2a04699
Merge pull request #1938 from CarlKenner/paddedfunctions
...
Skip zeroes that sometimes pad function to 16 byte boundary (eg. Donkey Kong Country Returns).
2015-01-21 15:17:31 -06:00
Ryan Houdek
621322bbae
Merge pull request #1260 from pauldacheez/video-dialog-string-touchups
...
Improve some setting descriptions in the graphics options.
2015-01-21 14:59:45 -06:00
Ryan Houdek
1c62c2f935
Merge pull request #1924 from degasus/xxhash
...
VideoCommon: xxhash
2015-01-21 14:19:35 -06:00
Ryan Houdek
e4b04c64f0
Merge pull request #1870 from Stevoisiak/countryFilters
...
Country filter fixes/consistency
2015-01-21 13:48:35 -06:00
Ryan Houdek
80e6367e46
Merge pull request #1869 from Stevoisiak/GeneralConsistency
...
Minor consistency changes
2015-01-21 13:46:53 -06:00
Ryan Houdek
f9fc9d47c0
Merge pull request #1895 from JosJuice/isvolumewiidisc
...
Don't read from disk when checking volume type
2015-01-21 13:45:28 -06:00
Ryan Houdek
4c9fd63562
Merge pull request #1932 from Buddybenj/freelook
...
Fix Default Freelook Hotkey to Match Description (For Real This Time)
2015-01-21 13:41:29 -06:00
Ryan Houdek
50d495b581
Merge pull request #1916 from mimimi085181/master
...
Make efb to texture less broken for paletted textures that are efb copies
2015-01-21 13:40:36 -06:00
Ryan Houdek
b8b537d96e
Merge pull request #1934 from Buddybenj/change-order
...
Change Order of Some Hotkeys
2015-01-21 13:38:10 -06:00
Ryan Houdek
a5e9c5e718
Merge pull request #1910 from Sonicadvance1/LLVMDisassembly_improvements
...
Improve the LLVM disassembler in the debug window.
2015-01-21 13:29:47 -06:00
Ryan Houdek
ca10ce36cc
Merge pull request #1923 from Sonicadvance1/remove_sdl_assumption
...
Remove an assumption in SDL.
2015-01-21 13:29:39 -06:00
Ryan Houdek
7fba4856ce
Merge pull request #1931 from Sonicadvance1/Fix_PP_Config
...
Fix the Post Processing shader configuration dialog.
2015-01-21 13:29:01 -06:00