Commit Graph

2018 Commits

Author SHA1 Message Date
98e24f5873 The compiler need not obey the static keyword, so to avoid linker
problems, whole functions in .h files need to also be static in
case they are included in several .cpp files.

Also a few other minor LTO fixes.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7082 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-05 16:06:05 +00:00
d5f6d2bbae Change the audio sample rate setting to a numerical value. Fixes issue 4045. You may have to change the setting once after this commit to update your ini file from the string that was saved there before.
Update translation pot file to reflect recent gui changes, and update a few of the languages.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7059 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04 04:54:25 +00:00
cc289a05bb Turn back on unit tests in SCons.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7057 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04 01:02:06 +00:00
6d70c14d12 In the SCons build, skip the generation of static libraries
and just operate on lists of object files instead.

This helps with LTO since LLVM/clang LTO is completely broken
by static libraries. It also helps identify symbol clashes
between components like the former plugins.

Many linkers also expect static libraries to form a strict DAG
which turns out be a difficult rule to uphold in practice,
especially since some of our platforms aren't picky about this.

LTO builds currently appears to crash at runtime because of
the static wx libs.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7056 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-04 00:46:56 +00:00
435b25fa55 Fix the CMake build.
Prevent the PS3 HID crash until I can debug it.

AudioUnits are enabled by default.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7052 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-03 21:11:06 +00:00
dfe84ce0ac Removed the Lua script console and Externals/Lua. The script console was incomplete and no one was working on it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7051 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-03 20:41:23 +00:00
d5550c19fd Temporarily disable gecko codes when they fail to avoid infinite error messages.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7048 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-03 08:12:47 +00:00
109a1dcd66 really fix debug/debugfast build
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7047 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-03 06:03:31 +00:00
9c21d003af Remove the global namespace a bit and remove some dead code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7043 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 18:21:20 +00:00
5a800b765a Some more work on renaming variables and files to reflect that the plugins are no longer plugins.
Fix another minor issue with frame dumping.
Add the graphics config dialog button back to the main config.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7041 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 16:34:12 +00:00
6f93d77106 Fixed the DSP JIT timing when it is executing in a thread. This allows the Zelda ucode games to run when the "DSPLLE on thread" option has been enabled. However, the DSP Interpreter still hangs when this option is enabled.
* Tightened the timing between the CPU and the DSP in thread mode so that it works closer to how the non-threaded mode works.  The CPU now waits for all of the DSP cycles to be exhausted before adding more cycles.
* DSP Idle skipping has been disabled as it messes up the timing when it is running in a thread.
* Checked for external interrupt requests before entering the dispatcher and inside the dispatcher loop
* Added a critical section around the mailbox read high function

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7040 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 14:47:45 +00:00
8b309e26dc Remove PluginSpecs.h. Merge the few needed enums from that file into Common.h for now. I am up for suggestions on a better place for those.
Fix frame dumping on linux.
Make sure that on screen messages get cleared between games.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7039 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-02 04:40:27 +00:00
53ae9e9e8f Fixed vs2010 SVNRevGen project. (Also changed "make_svnrev.h.vbs" to jscript and gave it some comments :p) Removed some old plugin stuff.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7030 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-01 04:20:51 +00:00
27a3e533f4 Change the *totally estimated* aram dma latency to a value which doesn't cause pops in Metroid Prime, and yet still allows WWE:DoR to get ingame. I'm pretty sure I tried this value before, however it only started working since dsp was merged into core... :)
fixes issue 4025

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7027 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-01 01:42:30 +00:00
ad71303007 Fix the DSPLLE debugger window refresh without including wxWidgets in the core.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7020 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 14:25:50 +00:00
1de40588ac Eliminate some trampoline functions.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7015 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 08:19:27 +00:00
0e91e5b238 fix windows (vs2010) build
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7010 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 06:08:46 +00:00
5fb56318ed Revert 7008 until I have time to figure out how to do that without including wxWidgets in the core.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7009 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 05:19:29 +00:00
bbe8675923 Forgot a couple of things.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7008 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 04:44:08 +00:00
b6251ba674 Fix the DSPLLE debugger window.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7007 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 04:36:49 +00:00
8822674653 Fix *BSD build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7002 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 03:02:23 +00:00
1ee18ff146 Added support for JIT multithreaded compilation in both CPU and DSP cores this gives up to 78% speedup in some scenarios such as when looking at a corner in Zelda or the menus in Super Puzzle Bobble.
Added SSE optimizations to JIT LLE, up to 136% speedup observed in Resident Evil games.
Rewrote the GUI to make it more user friendly, added a User friendly Setup.
Also Billiard please: learn to merge.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7000 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 02:38:36 +00:00
18bb65b300 Fix OS X build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6997 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 01:53:57 +00:00
fbaf965995 Eliminated the plugin interface. Merged DX9/DX11/OGL video plugins into Dolphin. It could still use a lot of cleanup. Lots of things are still named "plugin". Software renderer is temporarily disabled until it gets some namespaces. I only updated vs08/10, Linux/OSX builds are broken.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6996 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 01:28:32 +00:00
ae7c64ec13 Clean some DSP code, Fixes issue 4011.
Move some GUI code around for no apparent reason.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6995 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-31 00:33:09 +00:00
7a4c203f69 Fixed a small threading issue introduced by r6933 causing savestates to always freeze, thanks to artart78 for pinpointing the issue.
Properly pause the core when saving/loading savestates, previously we used PowerPC::Pause() and Start() which only update the state but doesn't properly set m_StepEvent and caused random hangs.
Fixed hang when creating a savestate while the game was paused or in Frame Advance mode, now the thing works (just remember to press play duh).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6992 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 21:20:33 +00:00
db1765c425 Move async checking for pressed keys into Host_GetKeyState()
and use wxGetKeyState on platforms other than Windows.

I am not sure if wxGetKeyState is unreliable on Windows or if
the use of GetAsyncKeyState() is simply historical, but for now
I've left the Windows call in there just in case.

This does mean that Host_GetKeyState() is currently only valid
for the small set of keycodes that overlap between wx and Win32,
one of which is VK_TAB/WXK_TAB.

Anyway, please test wxGetKeyState on Windows and remove the
ifdef if it works, so we can extend it to the remaining hotkeys.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6988 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 16:40:38 +00:00
864d24a86e Oops.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6987 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 14:30:50 +00:00
2622f86eb6 Be more flexible about hotkey modifier permutations.
Open .ini files with TextEdit on OS X since wx has no binding.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6986 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 14:20:20 +00:00
f57cfc7c6f Virtual base classes should have a virtual destructor.
Build a libdolphinwx. Just fooling around with LTO..


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6981 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 01:58:54 +00:00
2de8742368 Equip any new threads with an NSAutoreleasePool.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6978 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 23:46:26 +00:00
fb35a83d2c - Fixed Metroid Prime 2 "GFX FIFO: Unknown Opcode (0x%x).\n" This was happened because FIFO_RESET is executed, but at this moment the Write Gather Pipe is not empty. (maybe also fix the same problem reported in MP1, i dont have this game for testing)
- Reimplemented AbortFrame. Now the  Write Gather Pipe buffer is reseted and Read Write Distances is reseted before the game do it instead  the  process all GP CPRWDistance for prevent CP wrong pointers.
This fifo reset should be more accurate, efficient and smooth the FPS when happens. Please, test regresion of SMG1 and SMG2 or others games with FIFO RESETS.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6971 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 20:04:16 +00:00
1f8a1f8560 Build fixing plus some cleanup i had been doing
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6969 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 15:58:50 +00:00
b3a183dffe Core and DSPCore now have mutual dependencies, which breaks the
assumption on the part of many linkers that static libraries make
up a DAG, so merge libdspcore into libcore.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6967 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 14:06:48 +00:00
10675ba3c0 Apply kostamarino's patch to let you select DSPHLE per game.
yeah we need something more generic for this, to make all options per-game somehow..

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6966 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 13:26:49 +00:00
1287a9bb9f Be a little more careful about the use of SSE.
We really need to adopt the GCC model of one instruction set
per compilation unit.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6965 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 11:40:20 +00:00
1bcad428ea Link the video plugin statically into the main binary on OS X.
This makes the OS X build more robust and should help pave the
way for the integration of the video plugins as well as LTO.

There are now no more global class level namespace conflicts left,
as evidenced by the fact that Dolphin can be linked with -all_load,
not that you would want to.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6958 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 04:52:19 +00:00
a8e2e9ec54 Fix the Audio tab and merge the DSP config into one.
Unify the DSP settings into DSP.ini

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6955 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-29 04:16:05 +00:00
a63cfd033f delete more old stuff
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6953 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 21:39:23 +00:00
46d00f211f looks like soren forgot this
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6952 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 21:37:15 +00:00
08b923a163 Fix OS X build.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6951 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 21:27:49 +00:00
f283041970 Linux build fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6950 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 20:07:32 +00:00
0df636ca39 a little more cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6949 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 19:55:21 +00:00
d61a79266a dsphle cleanup: Get rid of now-useless "DSPHandler" layer
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6948 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 19:31:46 +00:00
419d6a244b DSP plugin merge - the two DSP plugins are now gone and all the code has been merged into Dolphin.
This WILL temporarily break the Linux and MacOSX builds but should be easy to fix.

Things left to do:
  * The UI on the new Audio tab for the LLE/HLE choice is ugly
  * At times the code still look "plugin-y" and needs cleanup
  * The two plugins should be merged further. DSPHLE should use the emulated memory etc of DSPLLE as much as possible, so that simply saving the DSPLLE state is enough. This would also bring the possibility of savestate compatibility between the two plugins.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6947 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 18:39:30 +00:00
f281eff9ba Merge the real wiimote threads into the Wiimote class. Put windows back to the crude Shutdown/Initialize refresh method so they can have the rumble on refresh and know their wiimotes are still connected.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6945 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 05:24:47 +00:00
cb91be81ed Fix wiimote thread issues.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6943 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-28 03:48:53 +00:00
179fb38716 Deleted a return that should not have been deleted.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6940 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 23:00:29 +00:00
198dcccfb0 Linux build fix.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6938 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 22:48:46 +00:00
2c05c49a04 Replaced Common::Thread with a partial implementation of std::thread. (rvalue references are used if available, <thread> is used if possible) Eliminates the need to use dynamic memory allocation for threads, so it's impossible to forget to delete a thread or set a pointer to NULL. Enables use of type-safe thread functions, no need to cast to and from void*. I've made sure the code compiles in vs08 and tested the functionality of "StdThread.h" on Linux so I'm hoping everything will work :p. In the future "StdThread.h" can be removed (maybe when OS X ships with gcc 4.4 and vs2015 is released :p).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6933 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-27 20:47:58 +00:00