Commit Graph

14836 Commits

Author SHA1 Message Date
degasus 691b690afe enet: Search for shared library 2015-03-02 22:18:57 +01:00
Ryan Houdek f1a9db9bdc [AArch64] Stop violating the AAPCS64 so much. 2015-03-02 11:21:15 -06:00
Markus Wick cc5a2f3411 Merge pull request #2164 from Armada651/cache-fix
ProgramShaderCache: Do plenty of error checking before writing shaders to the disk.
2015-03-02 17:24:00 +01:00
Jules Blok 728081dad2 ProgramShaderCache: Do plenty of error checking before writing shaders to the disk. 2015-03-02 17:03:49 +01: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
skidau cd8c37bc07 Merge pull request #2145 from skidau/GC-Adapter-status-fix
Cleared the status of the GC Adapter before populating it with new data
2015-03-02 12:18:52 +11:00
skidau 939159cd71 Cleared the status of the GC Adapter before populating it with new data 2015-03-02 11:08:26 +11:00
degasus 35373c5185 TextureCache: load all mipmap levels from custom textures
This drops the "feature" to load level 0 from the custom texture
and all other levels from the native one if the size matches.
But in my opinion, when a custom texture only provide one level,
no more should be used at all.
2015-03-02 00:09:09 +01:00
magumagu 7f7973efa5 Merge pull request #2148 from Tilka/fifo_cleanup
Small FIFO-related cleanup
2015-03-01 13:06:43 -08:00
magumagu b4a586f84a Merge pull request #2161 from Tilka/fix_warnings
Fix some warnings
2015-03-01 13:02:37 -08:00
magumagu aa24dbc56e Merge pull request #2157 from lioncash/leaks
DolphinWX: Allow input subsystems to correctly deinitialize
2015-03-01 12:53:28 -08:00
Tillmann Karras f75187db3e Add missing newlines at EOF 2015-03-01 17:17:09 +01:00
Tillmann Karras 88264f5712 Fix -Wswitch warning 2015-03-01 16:17:32 +01:00
Tillmann Karras b0bde31ac0 Fix include order of files outside of Source/Core 2015-03-01 14:54:22 +01:00
Tillmann Karras 4304648a05 Fix -Wreorder warning 2015-03-01 14:54:22 +01:00
degasus 7ca24f90d1 TexCache: increase TEXTURE_KILL_THRESHOLD
Xenoblade uses more than 40 textures alternately per frame for eg water effects.
So don't try to drop them as aggressive.
2015-03-01 13:41:14 +01:00
Lioncash 3981212031 DolphinWX: Allow input subsystems to correctly deinitialize
Previously InitControllers() would be called every poll duration, setting this boolean to false which would prevent said sybsystems from deinitializing correctly.
2015-03-01 01:23:21 -05: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
Stevoisiak cb7b96009d VideoConfigDiag: Rename EFB Copies to RAM option 2015-02-28 23:00:49 -05:00
Stevoisiak 492aa5c391 DiscIO: Get rid of unsafe cast 2015-02-28 22:03:53 -05:00
Stevoisiak 5346e791bc VolumeWad: change titlever to title_version 2015-02-28 21:42:16 -05:00
Lioncash 4cc19ac926 DolphinWX: Clean up some wxTimer code
Technically fixes a memory leak (which wouldn't matter because the timer is only created once and destroyed on shutdown).

Also starting and stopping the timer does not cause leaks.
2015-02-28 20:32:37 -05:00
Stevoisiak eff924e9e2 General Formatting 2015-02-28 19:33:27 -05:00
Tillmann Karras baf732b48b DolphinWX: fix searching the game list in GTK 2015-02-28 16:43:31 +01:00
Tillmann Karras 9493c713dd Fifo: small cleanup 2015-02-28 15:40:01 +01:00
Tillmann Karras e28c97f6bd Fifo: drop unused functions 2015-02-28 15:40:00 +01:00
Lioncash d10571a86a PixelShaderManager: Remove unnecessary casts.
EFBToScaledXf and EFBScaledYf return a float, so the cast isn't needed here.
2015-02-28 00:04:05 -05:00
skidau 4dd0813dcf Merge pull request #2133 from randomstuff/hotkeys
Fix hotkeys for Linux
2015-02-28 10:59:18 +11:00
Markus Wick 4f9fcbaba9 Merge pull request #2120 from JosJuice/show-default-gameini
ISOProperties: Allow opening region-free INIs with "Show Defaults" button
2015-02-27 17:58:42 +01:00
skidau 1dcd0ad879 Merge pull request #2129 from Sonicadvance1/shuffle_user_dir
Move user directory detection location to UICommon.
2015-02-27 14:07:06 +11:00
skidau 2a41ac4072 Merge pull request #2123 from RachelBryk/nonmodal-isoprops
Make iso properties non modal.
2015-02-27 13:25:46 +11:00
skidau 85359d5169 Merge pull request #2124 from RachelBryk/framelimit-hotkeys
Fix order of some hotkeys
2015-02-27 13:24:32 +11:00
Stevoisiak ede4977d12 VolumeWiiCrypted: Implement IsDiscTwo()
Allows us to check if a Wii game is marked as Disc 2.
2015-02-26 17:10:18 -05:00
Stevoisiak f72a559958 Rearranged Volume header files 2015-02-26 16:57:32 -05:00
Stevoisiak 06cb85991e De-capitalized CountryCode 2015-02-26 16:57:31 -05:00
Stevoisiak df2f6d137e VolumeWad: Move country identification to GetCountry()
Brings the code more in line with the rest of the game volume code
2015-02-26 16:55:17 -05:00
Stevoisiak d3190ec4f1 VolumeWad: Private variables for offset values 2015-02-26 16:55:16 -05:00
Lioncash d50c56c2e4 DolphinWX: Remove an unnecessary sizer from the watch window
The AUI manager already has the grid in place. Setting the sizer isn't needed.
2015-02-26 09:58:38 -05:00
Ziek 779f275486 Added TraversalServer.cpp to Core/Common 2015-02-25 18:28:27 -08:00
Ziek 619a3a5171 Added all of enet lib, changed Cmake files accordingly 2015-02-25 18:28:27 -08:00
Ziek a629555e6b Added Gui elements in Netplay Setup Diag so a person can choose a traversal server
Fixed bug with UPnP so that it will grab the proper address and protocal
Fixed bug that caused dolphin to freeze when host codes were to large
2015-02-25 18:28:26 -08:00
Ziek 1dea3780a7 Fixed issue where players were not disconnecting correctly 2015-02-25 18:28:26 -08:00
Ziek 074d688884 Change netplay initial gctime to be determined by the hosts initial time 2015-02-25 18:28:26 -08:00
Ziek 4cdc307b87 Moved Traversal Client code over from old netplay
Moved over gui code for copying host code
added gui to netplay diag setup to switch between direct and traversal connection
2015-02-25 18:28:25 -08:00
Ziek 461a54338b Switched tcp over to enet 2015-02-25 18:17:50 -08:00
Ziek 3f367c22ee Adding enet library for future replacement of tcp 2015-02-25 18:17:49 -08:00
skidau f71f376371 Merge pull request #2117 from lioncash/id
DolphinWX: Remove unnecessary control IDs
2015-02-26 12:49:07 +11:00
Gabriel Corona 1cae151c9c Avoid conflicts between hotkeys and global keybindings for Linux
Alt+foo are usually used as global keybindings.
2015-02-26 01:40:06 +01:00
Gabriel Corona 13d43c0cde Fix linux hotkeys
Backticks are necessary when the key is not /^[A-Za-Z]*$/.
2015-02-26 01:29:52 +01:00
Gabriel Corona c626ce5809 Do not fail to evaluate an expression if some input is missing
My keyboard layout does not have Alt_R but ISO_Level3_Shift. As a
consequence any control expression containing Alt_R fails to evaluate
completely and is unusable. This modification replace the missing term
of the expression by a dummy expression which always evaluate to
0. This way, the keybinding can work even if some keys are not
available.
2015-02-26 01:24:54 +01:00
Lioncash 7408de7e79 Merge pull request #2058 from Stevoisiak/Codemaid-Cleanup-Take2
Basic Formatting/Whitespace Cleanup
2015-02-25 18:07:56 -05:00
magumagu b1fbf205ec Merge pull request #2122 from Tilka/intrinsics
Intrinsics: drop custom _mm_shuffle_epi8()
2015-02-25 10:48:34 -08: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
Stevoisiak 93b16a4a2d Formatting/Whitespace Cleanup
Various fixes to formatting and whitespace
2015-02-25 10:48:21 -05:00
Markus Wick d6ccbb1f9c Merge pull request #2004 from randomstuff/stringutil-c-locale
Use the C locale for non-Windows CharArrayFromFormatV() and StringFromFormat()
2015-02-25 13:17:04 +01: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
Rachel Bryk 2c54ca0f84 Fix order of some hotkeys 2015-02-25 00:42:40 -05:00
Lioncash ce4b73388a DolphinWX: Relocate the address search into the code window
It's only function is in this pane. Leaving it on the main application toolbar not only looks gross, but subverts what a user might think it applies to.
2015-02-25 00:16:17 -05:00
Lioncash 792e166f87 Merge pull request #2118 from lioncash/aui
DolphinWX: Use AUI in the code window.
2015-02-24 21:45:16 -05:00
Lioncash fd11f8fd29 DolphinWX: Use AUI in the code window.
Allows for resizing of the callstack, function call/callers windows etc.
First step in slightly improving the code window.
2015-02-24 21:31:28 -05:00
skidau f4e42b394c Merge pull request #2106 from magumagu/elf-translation-registers
Correctly set up MSR and BAT registers for ELF loading.
2015-02-25 12:42:48 +11:00
Tony Wasserka ec47be7884 VideoConfigDiag: Use consistent spelling of nouns. 2015-02-25 01:58:47 +01:00
Rachel Bryk 2df8190e1a Make iso properties non modal. 2015-02-24 19:11:03 -05:00
Pierre Bourdon f06b1106db Merge pull request #2089 from degasus/remove_disable_efb_copy
Remove disable efb copy
2015-02-24 23:31:05 +01:00
degasus 967eaad8df VideoCommon: rename efb2tex and efb2ram 2015-02-24 23:10:13 +01:00
degasus 1313d3461f VideoCommon: always enable efb copy 2015-02-24 23:01:01 +01:00
degasus ac7102918d OGL: support palette texture decoding 2015-02-24 22:51:55 +01:00
Fiora 0e34737390 Merge pull request #2121 from JosJuice/remove-sudtr-note
Remove "Needed for a few games." from fast disc speed description
2015-02-24 13:12:48 -08:00
magumagu e9e1a2c2dc Merge pull request #2110 from lioncash/tl
DolphinWX: Make RAM watch strings translatable
2015-02-24 11:42:14 -08:00
JosJuice 2247bfa9bc Remove "Needed for a few games." from fast disc speed description
There are no longer any games that are known to require this.
The last one was Rogue Leader, fixed in PR #1778.
2015-02-24 20:06:38 +01:00
JosJuice 021f6d0f72 ISOProperties: Allow opening region-free INIs with "Show Defaults" button 2015-02-24 20:04:19 +01:00
JosJuice a1f0f60a79 CoreParameter: Refactor game INI code 2015-02-24 20:01:11 +01:00
Tillmann Karras dd818a3831 Intrinsics: drop custom _mm_shuffle_epi8()
We don't actually use it, because of reasons.
2015-02-24 19:37:16 +01:00
Lioncash 30c91a3003 DolphinWX: Remove unnecessary control IDs
These don't need to be specifically identified.
2015-02-24 08:31:52 -05: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
Tillmann Karras e67145713c Fix some -Wmissing-declarations warnings 2015-02-24 12:32:55 +01:00
Markus Wick be6a151355 Merge pull request #2116 from Sonicadvance1/fix_exception_handler_crash
Fix a crash with fastmem disabled.
2015-02-24 12:02:22 +01: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
Tillmann Karras e2fec13ab6 Fix some -Wsign-compare warnings 2015-02-24 10:29:59 +01:00
Tillmann Karras 7056f6308a Fix a -Wunused-result warning 2015-02-24 10:29:59 +01: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
skidau bd0d5c1a22 Merge pull request #2102 from magumagu/ipchle-net-regression
Fix crash in Wii games using IPCHLE networking.
2015-02-24 13:14:48 +11:00
skidau 69381580f3 Merge pull request #2096 from lioncash/wx
DolphinWX: Remove unnecessary Windows-specific code in Frame.cpp
2015-02-24 13:11:39 +11:00
skidau bf61abf22b Merge pull request #2093 from magumagu/gc-bios-hack
Hack around our terrible GC BIOS emulation.
2015-02-24 13:11:25 +11:00
Tillmann Karras daf4aa0947 Common: move _M_SSE macro to Intrinsics.h 2015-02-24 01:06:25 +01:00
Tillmann Karras 9aa463c590 Common: move _mm_shuffle_epi8 to Intrinsics.h 2015-02-24 01:06:24 +01:00
Tillmann Karras f298f00e1b Clean up the intrinsics #ifdef mess 2015-02-24 01:02:36 +01:00
Tillmann Karras 56795efd42 Common: add single header for all intrinsics 2015-02-24 01:01:10 +01: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
magumagu b9157c5a36 Merge pull request #2090 from magumagu/jit-gatherpipe-address
Refactor gather-pipe address checking.
2015-02-23 12:46:04 -08:00
magumagu 0ff7e20829 Merge pull request #2109 from lioncash/cr
Interpreter: Fix Helper_UpdateCR1
2015-02-23 11:23:21 -08:00
Markus Wick e0b0ef3868 Revert "High quality resampler" 2015-02-23 18:43:13 +01:00
Lioncash d50e7562af DolphinWX: Make RAM watch strings translateable 2015-02-23 11:02:42 -05:00
Lioncash 6fe59d82e1 Interpreter: Fix Helper_UpdateCR1
This previously shifted off-by-one
2015-02-23 06:56:01 -05: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
magumagu fca5e176b3 Correctly set up MSR and BAT registers for ELF loading. 2015-02-22 20:51:50 -08:00
skidau 593563e16c Merge pull request #2087 from Armada651/epsilon-3d
VertexShaderManager: Turn the epsilon hack back on for 3D Vision.
2015-02-23 13:12:55 +11:00
skidau f8e51a1a26 Merge pull request #2050 from Tilka/reset_vertex_loader_stats
VertexLoaderManager: reset stats properly
2015-02-23 13:10:38 +11:00
skidau 1c2977442f Merge pull request #1992 from degasus/asyncevents
Asyncevents
2015-02-23 13:08:39 +11:00
skidau 57e9d59704 Merge pull request #1978 from lioncash/dspwind
DSPDebugWindow: Fix issue where the DSPLLE window would hang Dolphin on OSX
2015-02-23 12:57:27 +11:00
skidau 793abccb5e Merge pull request #1942 from Buddybenj/No-Intro
Replace Country Names With No-Intro Names
2015-02-23 12:56:28 +11:00
skidau 81eb9bdf16 Merge pull request #1629 from kamiyo/FIR-resampler
High quality resampler
2015-02-23 12:53:33 +11:00
Lioncash 1a913138d5 Interpreter: Uncomment code related to cmp and cmpl
This is actually correct. Also cmpli has this uncommented as well.
2015-02-22 19:07:09 -05:00
magumagu b5020b1675 Fix crash in Wii games using IPCHLE networking.
Address passed from IOS to PowerPC should be in the 0x90000000 range, not
0x10000000.

Issue 8264.
2015-02-22 14:07:05 -08:00
Ryan Houdek 3ab006b8d1 Merge pull request #2099 from Tilka/vtune
Fix VTune static library dependencies
2015-02-22 15:19:56 -06:00
magumagu b9f77a5c0f Merge pull request #1808 from Stevoisiak/additionalToolTips(Again)
Added more settings tooltips
2015-02-22 12:05:34 -08:00
Tillmann Karras 387777ed72 Fix VTune static library dependencies
Since libcommon.a is also the last library to be linked, this has the
totally hacky but useful side-effect that it doesn't require people to
modify CMake files for temporarily adding VTune code to other Dolphin
libraries.
2015-02-22 20:49:30 +01:00
Dolphin Bot 03ffab4249 Merge pull request #2098 from Tilka/fix_warning
Fix -Wmissing-variable-declarations warning
2015-02-22 20:16:11 +01:00
Tillmann Karras 8d19f62b69 Fix -Wmissing-variable-declarations warning 2015-02-22 20:08:28 +01:00
magumagu 917a900ccb Refactor gather-pipe address checking.
The implementation of IsOptimizableGatherPipeWrite is extremely simple
now, but it will get a bit more complicated with dynamic-bat.
2015-02-22 11:01:42 -08:00
magumagu 18ada7a0f5 Merge pull request #2033 from magumagu/mmio-fix-addresses
Fix the addresses of MMIO registers.
2015-02-22 10:58:25 -08:00
Fiora c54a8c54fb Merge pull request #1994 from Tilka/vtune
JitRegister: fix VTune integration
2015-02-22 07:58:12 -08:00
Lioncash d48ad19b8d DolphinWX: Remove unnecessary Windows-specific code in Frame.cpp
wx's version of SetFocus internally calls the Windows one.
2015-02-22 04:09:37 -05:00
degasus b35fa222f5 VideoCommon: perf querys by async events 2015-02-22 08:41:15 +01:00
degasus edbd402101 VideoCommon: bbox by async events 2015-02-22 08:41:15 +01:00
degasus ad7264da7d VideoCommon: implement swap requests in the full async way 2015-02-22 08:41:15 +01:00
degasus bc248f8941 VideoCommon: use a new async event system for efb access 2015-02-22 08:41:15 +01:00
Lioncash bfa5dcc891 Interpreter: Set the FPCC bits correctly for ordered/unordered FP compares
Setting the whole FPRF is slightly incorrect, this should only modify the FPCC bits; the class bit should be preserved.
2015-02-22 02:19:13 -05:00
magumagu 97b7f26d58 Hack around our terrible GC BIOS emulation.
Fixes a crash launching F-Zero GX.
2015-02-21 20:07:54 -08:00
Lioncash 09319a1e11 Interpreter: Rearrange ordered/unordered compares
Comparing floating point numbers with == can trigger warnings (and have static analysis tools complain). So we make it the else case.
This also more closely resembles the Gekko manual.
2015-02-21 22:26:23 -05:00
Lioncash 70e1121b29 Interpreter_Tables: srawix only uses rS, not rS and rB.
srawix's input/output is defined as rA, rS, SH, where SH is an immediate for the shift amount.
2015-02-21 21:20:43 -05:00
Lioncash 7c244766dc Interpreter: Use correct destination for psq_l, psq_lx, psq_lu, and psq_lux.
Gekko manual defines these as storing to rD, not rS.

Also removed FL_OUT_FLOAT_S, since nothing uses it now.
2015-02-21 21:20:41 -05:00
Lioncash 7bc2830520 Interpreter: Use Helper_Get_EA_X() for eciwx and ecowx
Cleans up the functions a little.
2015-02-21 21:20:40 -05:00
Lioncash dc6cc909e5 Interpreter: Use FL_IN_A0B for ecowx
ecowx uses the value zero if rA is zero.
2015-02-21 21:20:39 -05:00
Lioncash a8199a1070 Interpreter: Use correct destination for eciwx
Gekko manual defines the destination as rD. Also, if rA is zero, the
value zero is used, so FL_IN_AB is changed to FL_IN_A0B.
2015-02-21 21:20:38 -05:00
Pierre Bourdon 860c889454 Merge pull request #2076 from tanishalfelven/optimize-IsCPUThread
IsCPUThread() Speed Up
2015-02-22 00:54:55 +01:00
Tanis 568f0dca78 In hope of speeding up ```IsCPUThread()``` got rid of id checking and instead implemented a TLS boolean...
Made initialization of s_tls_is_cpu_key threadsafe
2015-02-21 17:52:49 -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
magumagu 9e29154b08 Merge pull request #1988 from magumagu/fast-checkgatherpipe
Use faster CheckGatherPipe from JIT.
2015-02-21 15:07:59 -08:00
Pierre Bourdon e8f37bc3fe Merge pull request #2091 from magumagu/lmw-saved-regs
Fix registersInUse in Jit64::lmw.
2015-02-21 18:42:17 +01:00
magumagu 018a7f1ec9 Fix registersInUse in Jit64::lmw.
Doesn't fix any known issue at the moment, but I ran into this bug with
dynamic-bat.
2015-02-21 09:31:20 -08:00
Dolphin Bot c3edab8f54 Merge pull request #2082 from Armada651/resolve-depth
D3D: Use the correct format when resolving the EFB depth texture.
2015-02-21 15:50:20 +01:00
Markus Wick 95c48b2be7 Merge pull request #2018 from JosJuice/gameini-region-wildcard
Support game INIs that match all regions
2015-02-21 15:47:57 +01:00
Jules Blok ff4127cf50 VertexShaderManager: Turn the epsilon hack back on for 3D Vision.
The bug is fixed in version 347.52 of the drivers.
2015-02-21 12:09:49 +01:00
Jules Blok 139ad3b2b9 TextureConversionShader: Use a Texture2DArray to match the shader resource view. 2015-02-21 11:50:20 +01:00
Jules Blok c180174e4a D3D: Use the correct format when resolving the EFB depth texture. 2015-02-21 11:50:19 +01:00
Markus Wick 6bbf774507 Merge pull request #2075 from magumagu/titantron-fix
Partially fix WWE12 titantron videos.
2015-02-21 10:09:47 +01:00
Scott Mansell 355be1719e Fix regression with directx when zfreeze=true and ztest=false. 2015-02-21 10:52:29 +13:00
Pierre Bourdon 8b095a0178 Merge pull request #2059 from magumagu/palette-convert
Decode EFB copies used as paletted textures.
2015-02-20 01:11:25 +01:00
magumagu 074397c12d Explicitly set up AllocateTexture configuration for palette conversion.
No functional change.
2015-02-19 15:57:05 -08:00
magumagu 0360e01eaf Merge pull request #2040 from magumagu/gc-memmap
Try to fix our memory map to match the GameCube.
2015-02-19 15:44:36 -08:00
magumagu ddc815dd7a Remove TextureAddress struct. 2015-02-19 15:36:32 -08:00
magumagu c0a4760f0e Decode EFB copies used as paletted textures.
A number of games make an EFB copy in I4/I8 format, then use it as a
texture in C4/C8 format.  Detect when this happens, and decode the copy on
the GPU using the specified palette.

This has a few advantages: it allows using EFB2Tex for a few more games,
it, it preserves the resolution of scaled EFB copies, and it's probably a
bit faster.

D3D only at the moment, but porting to OpenGL should be straightforward..
2015-02-19 15:09:27 -08:00
magumagu 314b241220 Try to fix our memory map to match the GameCube.
This basically just restores the RAM mirroring that existed before PR1856
(address translation).
2015-02-19 15:02:51 -08:00
Pierre Bourdon fbbbad98e9 Merge pull request #2079 from lioncash/tables
PowerPC: Minor cleanups.
2015-02-19 22:51:34 +01:00
magumagu d0c675af83 Merge pull request #2080 from lioncash/interp
Interpreter: Remove unnecessary prototypes and includes
2015-02-19 11:19:20 -08:00
Lioncash 8401b5a1f2 Interpreter: Remove unnecessary prototypes and includes 2015-02-19 13:20:24 -05:00
Lioncash a60d3306b1 PowerPC: Get rid of magic numbers related to interp/JIT initialization. 2015-02-19 12:16:53 -05:00
Lioncash d32359c915 PPCTables: Simplify UsesFPU
We can just retrieve the op info and check if the FPU flag is present
2015-02-19 12:16:44 -05:00
Pierre Bourdon 6a14300c9c Merge pull request #2078 from lioncash/fwd
PPCTables: Remove an unnecessary forward declaration
2015-02-19 15:51:15 +01:00
Lioncash e4df6026c4 PPCTables: Remove an unnecessary forward declaration
This class name isn't used anymore.
2015-02-19 09:08:00 -05:00
Lioncash 0fc3166b2f PPCTables: Correct some flag descriptions 2015-02-19 08:56:18 -05:00
magumagu 4cdf9f543f Partially fix WWE12 titantron videos.
The obvious question here is, why does it matter if we round or truncate?
The key is that GC/Wii does fixed-point interpolation, where PC GPUs do
floating-point interpolation. Discarding fractional bits makes the conversion
from floating-point to fixed point give more consistent results.

I'm not confident this is really the right fix, or that my explanation is
completely correct; ideally, we don't want to depend on floating-point
interpolation at all.
2015-02-18 19:41:00 -08:00
Lioncash c8c61041ba Merge pull request #2007 from lioncash/si
Core: Move several files into the correct VS directory filter.
2015-02-18 21:33:39 -05:00
Lioncash bdca0dac29 Merge pull request #2071 from Sonicadvance1/Android_fix_unittests
[Android] Fix building unit tests.
2015-02-18 21:19:18 -05:00
Lioncash 2906f64e13 Merge pull request #2073 from Sonicadvance1/android_fix_formatchanges
[Android] Fix ignore format changes option.
2015-02-18 21:17:46 -05:00
kamiyo e864521182 High Quality Resampler, using FIR filter
For more information:
https://docs.google.com/document/d/1tBEgsJh7QiwNwepXI0eobfK3U8LkJButSyeuFt1degM/edit?usp=sharing

removed: SSE includes (not used)

added: 16bit -> float -> 16bit functions
added: linear interpolator and high-quality (windowed-sinc) interpolator functions (including Resampler class)
added: dithering

changed: renamed variables and reformatted a few things to fit with style guide (braces, #include->const)
changed: use s16, u16, s32, u32 etc
changed: store samples and do all computations as floats
changed: volume from 0 - 255
2015-02-18 21:13:45 -05:00
mimimi085181 2f8e0c9bb9 Allow multiple texture cache entries for textures at the same address
This is the same trick which is used for Metroid's fonts/texts, but for all textures. If 2 different textures at the same address are loaded during the same frame, create a 2nd entry instead of overwriting the existing one. If the entry was overwritten in this case, there wouldn't be any caching, which results in a big performance drop.

The restriction to textures, which are loaded during the same frame, prevents creating lots of textures when textures are used in the regular way. This restriction is new. Overwriting textures, instead of creating new ones is faster, if the old ones are unlikely to be used again.

Since this would break efb copies, don't do it for efb copies.

Castlevania 3 goes from 80 fps to 115 fps for me.

There might be games that need a higher texture cache accuracy with this, but those games should also see a performance boost from this PR.

Some games, which use paletted textures, which are not efb copies, might be faster now. And also not require a higher texture cache accuracy anymore. (similar sitation as PR https://github.com/dolphin-emu/dolphin/pull/1916)
2015-02-18 23:54:40 +01: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
Shawn Hoffman f91e8e9423 make libusb vcxproj use standard dolphin template and don't compile strerror.c. 2015-02-18 13:29:39 -08:00
Markus Wick 86226cb2b9 Merge pull request #1979 from Mullin/head
Use clock_gettime instead of gettimeofday, it's more efficiency on low power system
2015-02-18 21:54:16 +01:00
Mullin 797fc14414 Use clock_gettime instead of gettimeofday, it's more effiency on low power system
Add def for mac(They don't support clock_gettime)

Fix my mistake

Fix my mistake 2
2015-02-18 21:44:58 +01:00
Pierre Bourdon 8cc6e5cff9 Merge pull request #1854 from JosJuice/read-disc-after-delay
DVDInterface: Read disc after delay, not before
2015-02-18 20:35:07 +00:00
Pierre Bourdon 042fcbcbca Merge pull request #2067 from magumagu/cputhread-assert
Disable an IsCPUThread() assert in Release builds.
2015-02-18 16:22:23 +00:00
Pierre Bourdon 96041a5aca Merge pull request #2068 from mimimi085181/hash-fix
GetCRC32: Fix the hash for the last byte(s)
2015-02-18 13:43:06 +00:00
mimimi085181 f6c9b8243e GetCRC32: Fix the hash for the last byte(s)
This fixes issue 8227
https://code.google.com/p/dolphin-emu/issues/detail?id=8227
2015-02-18 14:26:28 +01:00
Ryan Houdek ef2fba2e85 Merge pull request #2070 from lioncash/unused
PowerPC: Remove unused enum values
2015-02-17 23:42:46 -06:00
Lioncash 78d917b0b3 PowerPC: Remove unused enum values 2015-02-18 00:37:32 -05:00
Lioncash 0b3a2ae4ca PowerPC: Document the instruction table flags
Should make it easier for newcomers to get up to speed.
2015-02-18 00:17:51 -05:00
Buddybenj 265a21a565 Replace Country Names With No-Intro Names 2015-02-17 18:50:10 -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
Mullin 39aa2432a6 Fix signed/unsigned stores 2015-02-17 21:29:01 +01:00
Fiora 53bf21e15a Merge pull request #2066 from lpereira/regcache-with-variadic-tpl
Jit64: Use variadic templates for RegCache locking
2015-02-17 08:53:07 -08:00
Lioncash 39e121e551 Merge pull request #2064 from magcius/fix-tilt
WiimoteEmu: Add back the calibrated accel data to the EEPROM
2015-02-17 11:14:09 -05:00
JosJuice 3ac0977bc6 DVDInterface: Read disc after delay, not before 2015-02-17 14:57:36 +01:00
Leandro Pereira 1162c5344b Jit64: Use variadic templates for RegCache locking 2015-02-17 10:01:42 -02: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
magumagu 77a0bfdd8f Merge pull request #2055 from magumagu/fakevmem-code
Allow executing code out of FakeVMEM.
2015-02-16 19:13:14 -08:00
magumagu cce503c879 Disable an IsCPUThread() assert in Release builds.
IsCPUThread is extremely slow at the moment, and this code runs
frequently.
2015-02-16 19:07:42 -08:00
Jasper St. Pierre e53268be1b WiimoteEmu: Add back the calibrated accel data to the EEPROM
It seems that games actually read this to determine how to act, which
isn't particularly strange. I was imagining it was more for the
Wiimote's internal normalization, but I was wrong.
2015-02-16 15:16:23 -08: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
magumagu f316265973 Fix the addresses of MMIO registers.
MMIO registers are located at 0x0C000000 and 0x0D000000, not 0xCC000000.
The 0xCC000000 addresses are just an artifact of address translation.
2015-02-15 18:29:37 -08:00
magumagu 5b6a947e8f Merge pull request #2035 from magumagu/remove-bat-option
Remove the BAT checkbox/setting/implementation.
2015-02-15 17:27:18 -08:00
Scott Mansell 43dfec07c9 Cleanup DotProduct function to make it more readable. 2015-02-16 13:53:58 +13:00
Scott Mansell 7add7b685f Remove unneeded spaces from code.
Line now matches the style of the rest of the function.
2015-02-16 12:59:45 +13:00
Lioncash 16a6392308 Merge pull request #2054 from lioncash/disable
DolphinWX: Change Enable(false) calls into Disable() where possible
2015-02-15 13:26:44 -05:00
Markus Wick f38b3ace38 Merge pull request #2038 from magumagu/disable-thread-safety-checks
Disable thread safety assertions added in PR1987.
2015-02-15 10:33:19 +01:00
skidau d601657c99 Merge pull request #2045 from greyrogue/master
Add Datel AGP save commands for SRAM/FRAM.  Improve EEPROM.
2015-02-15 12:57:58 +11:00
Pierre Bourdon b7916f9655 Merge pull request #2057 from lioncash/busy
DolphinWX: Remove unnecessary wxBeginBusyCursor and wxEndBusyCursor calls
2015-02-15 01:54:59 +00:00