Jordan Woyak
021193b22f
Use mutexes in LogManager to make it threadsafe, as suggested by beistin's patch. Change some LogManager function names to be consistent with Dolphin's naming conventions.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7433 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-04-01 07:43:02 +00:00
Jordan Woyak
41c98f982e
A bit of cleanup to Core Init/Stop, Frame, and Main. Cleanup XAudio2 to attempt to fix the crash on stop(didn't help :p). For some reason CFrame::DoStop is called twice.(might be the issue)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7353 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-15 23:09:12 +00:00
Jordan Woyak
9095dad009
Fix preprocessor prob.(recursive mutexes were being used where not necessary) Hopefully fix Common::Event to handle spurious wakeups since it uses condition variables now.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7307 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-06 00:52:04 +00:00
Glenn Rice
7bc2ae01f2
Fix Common::Barrier and fix the deadlock by making Common::Event check to see if an event has already been set or not.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7305 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05 22:17:28 +00:00
Glenn Rice
024a87af7a
Fix the Host_GetKeyState deadlock caused by Billiard's latest changes.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7304 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05 21:58:54 +00:00
Jordan Woyak
423018f811
Replaced Common::CriticalSection with a std::mutex implementation. 64bit Windows builds now use SRWLocks and ConditionVariables(requires Vista/7, x64 builds will no longer work on Windows XP x64). Tell me if you hate that. Removed Common::EventEx. Common::Event now uses a std::condition_variable impl.(using ConditionVariables on Windows x64, Events on x86, or posix condition variables elsewhere). I experience slight speed improvements with these changes.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7294 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-05 06:11:26 +00:00
Glenn Rice
12cd2d41ec
Change YieldCPU to sleep(0) like on windows. Time trials show this to be the most effective. Also, when using usleep(1) and dsp on thread the emulator is painfully slow. With the old _mm_pause() the emulator hangs on shutdown. With sleep(0) the emulator is faster, and doesn't hang on shutdown.
...
Also fix a possible undefined operation (according to gcc).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7275 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-02 22:19:56 +00:00
Rodolfo Osvaldo Bogado
ccc12c6950
a little simplification for the dlist id and a little correction to YieldProcessor in windows.
...
in windows sleep(0) behaves more like what is defined in the yield instruction so use it instead. In my amd 6 core system brings a nice 8% speedup so please test I'm interested in knowing the behavior in different systems.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7261 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-27 18:06:55 +00:00
skidau
af139f4661
Used usleep(1) instead of _mm_pause on Linux and Mac OSX. This reduces the CPU usage in the video thread's idle loop. Added YieldCPU to the DSP LLE loop.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7125 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-10 12:56:21 +00:00
Jordan Woyak
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
Jordan Woyak
d2044a7a23
Removed extra space character in "Use FPS For Limiting". Changed "Frame Stepping" to "Frame Advance". Some minor preprocessor cleanup.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6913 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-25 11:14:11 +00:00
Glenn Rice
a3c46990f6
Revert to gettimeofday on posix systems. I give up.
...
Temporary fix for OSX in JitIL.cpp
This revision should build on OSX again.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6457 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-22 02:42:53 +00:00
Glenn Rice
222c2d1297
Revert revision 6464. _POSIX_MONOTONIC_CLOCK is not used in that way.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6455 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-21 21:31:37 +00:00
Soren Jorvang
92fe490270
POSIX feature symbols can be defined even if not implemented.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6454 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-21 20:45:42 +00:00
Glenn Rice
39a4781a5f
Check if CLOCK_MONOTONIC is supported before using clock_gettime.
...
Fix the cmake check to see if -Wno-unused-result is supported by the compiler.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6453 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-21 19:13:55 +00:00
Glenn Rice
7788bac40c
Fix ogl screenshots for windows.
...
Fix the macosx build (perhaps).
This changes the JitIL timed profiling to using assembly language to obtain the time. It does seem to be faster. Not sure if it will work on macosx, but if it does it has the necessary precision that gettimeofday does not have.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6448 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-20 03:24:51 +00:00
Glenn Rice
ef55177ed6
Implement JitIL profiling on linux. I also tried implementing __rdtsc using assembly and didn't really see a speed improvement so went with clock_gettime.
...
Also changed other gettimeofday calls to clock_gettime, which is supposedly more accurate.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6447 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-11-20 00:22:56 +00:00
Glenn Rice
0e2b4d8306
Implement proper thread naming on linux. This fixes a segmentation fault with thte wiimote new configuration dialog when a thread was named without first calling ThreadInit.
...
Also take care of some more eols.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5843 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-06 16:16:07 +00:00
ayuanx
221e722284
Linux build fix.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5725 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 14:22:17 +00:00
Sonicadvance1
81f06220ce
Massive Poo storm, had to take shelter. Hacks, fixes, etc etc
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5421 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-29 13:46:20 +00:00
Sonicadvance1
3103b920b6
[OSX] Use spinlocks instead of mutexes since mutexes are really semaphores, gives me a decent speed up.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5420 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-29 12:50:12 +00:00
nitsuja-
766818baa8
possible savestate memory leak fix in DoBuffer
...
made Lua run on the CPU thread to fix unreliable script execution issues
several fixes so the Lua savestate functions can actually work
added Lua function savestate.verify to help with catching desyncs
implemented FailVerifyAtFrameBoundary in Lua interface
added a Clear button to the LuaWindow
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5382 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-17 21:02:03 +00:00
ayuanx
571a47ef9a
This could alleviate the suffering of dual core synchronization a bit.
...
But I doubt you would notice it in most cases.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4830 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 10:52:14 +00:00
Shawn Hoffman
1a5817f6fd
from BhaaL: linux compile fix for r4794, Event::Wait now supports a timeout (default to INFINITE), and it returns true when the timeout expired. fixes issue 1974
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4799 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-09 19:06:23 +00:00
John Peterson
7e115dcb00
GUI: Fixed some GUI related start/stop crashes
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4223 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-07 12:40:43 +00:00
sl1nk3.s
7eed236df9
Fix noWX build, and lower thread priority for screenshots
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3913 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-31 01:55:26 +00:00
XTra.KrazzY
c86d2e5129
Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :)
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3898 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28 21:32:10 +00:00
Nolan Check
758d5c234d
Corrections to r3875.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3876 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-23 22:02:03 +00:00
Nolan Check
ce8b679d76
Revert most of r3855.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3875 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-23 21:17:14 +00:00
Nolan Check
6f28539ccc
Rename scale_something to scale_invert. Plus, sneak in a tiny Thread.h change.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3845 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-19 08:24:30 +00:00
nakeee
ad440b9e47
Fix dspspy, typo in ld_Test
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3843 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-19 07:21:29 +00:00
nakeee
9e16a5ccd8
Call sched_yield for yieldcpu function on linux/osx please test
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3837 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-18 20:04:18 +00:00
Nolan Check
a5d65b3b22
No more SleepCurrentThreads in Command Processor. Some Fifo cleanup.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3822 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-17 22:57:02 +00:00
sl1nk3.s
3bc8eb7eaf
Fixed one of the two remaining crash on Stop (issue 600), and removed some setup defines which are now useless anyway.
...
There's an attempt to implement Peek_Color too, probably done wrong :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3799 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 15:09:20 +00:00
Nolan Check
d779554ff3
Atomic operations library.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3775 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-13 05:38:34 +00:00
LPFaint99
419c6a0927
fig ConfigPadDlg size in linux, temporary linux build fix
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3742 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-11 04:33:38 +00:00
LPFaint99
dc30df7dca
fix building in linux
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3741 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-11 03:10:10 +00:00
Nolan Check
dc7d9ab998
Switch to Video_BeginField; hopefully fix or reduce some video stability problems by using Events.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3740 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-11 02:34:16 +00:00
Nolan Check
6800adf4dc
Use _beginthreadex
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3736 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-10 20:22:25 +00:00
Shawn Hoffman
b0ea0f349b
disable sysconf progressive scan by default, fix discrepancies between some corestartup parameters and sysconf settings
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3172 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-07 21:16:52 +00:00
hrydgard
b0bb4e6335
DSPSpy: Hide loop stack registers - they aren't relevant for most investigations.
...
Highlight differences on both sides.
Show the accelerator subregs in order.
Make it possible to include some code from Dolphin into DSPSpy, good for grabbing useful #defines. (had to change the GEKKO log to POWERPC).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3120 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-05-01 15:17:03 +00:00
omegadox
eb0cab140f
Some code cleanup
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2768 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-28 08:57:34 +00:00
Shawn Hoffman
2301d072a6
nakee's new logmanager. added a console window for windows builds (prints to parent console on non-win32). also fix some random wxw bugs: main window's position is saved when using debugger, disabling windows from the tools menu are saved settings, some other small fixes
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2675 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-18 17:17:58 +00:00
omegadox
8c93e39ddd
Linux build fixes and some warning cleanup for GCC
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2406 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-24 05:20:52 +00:00
John Peterson
af225bc9d2
Last Commit (Threads and Stop): Another Linux build fix, hopefully it works now
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2404 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-24 04:54:00 +00:00
John Peterson
5f4d304ebc
Threads and Stop: How about this? A timeout only for the shutdown process? That way the shutdown can either work anyway, or crash, which is simpler than having to open the Task Manager and manually end the deadlocked process.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2401 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-24 03:03:11 +00:00
hrydgard
042034f199
Restore proper functionality of events and thread waits. The arbitrary 5 sec timeout ( ??? ) broke stepping in the debugger.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2397 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-23 20:52:52 +00:00
John Peterson
472582022b
Core and Common Threads Stop and Start: Added timeout to the thread waiting loops. If we have waited more than five seconds we can be pretty sure that the thread is deadlocked. So then we can just as well continue and hope for the best.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2383 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-23 00:15:19 +00:00
hrydgard
68f5cc1873
Attempt to workaround some stop hangs by using MsgWait instead of Wait. change order of dsp / video shutdown. some comments.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2379 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-22 22:49:42 +00:00
John Peterson
927815bc9b
Core Stop and Start: Added alternative separate thread timer/loop based waiting, instead of same thread loop waiting. You can try it with the SETUP_TIMER_WAITING option in Setup.h.
...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2375 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-22 21:16:12 +00:00