<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/AudioCommon/Mixer.cpp, branch 5.0</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Core: Threadsafety Synchronization Fixes (Frame Advance / FifoPlayer)</title>
<updated>2016-05-12T23:23:44+00:00</updated>
<author>
<name>EmptyChaos</name>
<email>EmptyChaos@users.noreply.github.com</email>
</author>
<published>2016-05-12T09:17:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c1922783f8125dee4f12fdb20bdcbcf764e7ade4'/>
<id>c1922783f8125dee4f12fdb20bdcbcf764e7ade4</id>
<content type='text'>
Fix Frame Advance and FifoPlayer pause/unpause/stop.

CPU::EnableStepping is not atomic but is called from multiple threads
which races and leaves the system in a random state; also instruction
stepping was unstable, m_StepEvent had an almost random value because
of the dual purpose it served which could cause races where CPU::Run
would SingleStep when it was supposed to be sleeping.

FifoPlayer never FinishStateMove()d which was causing it to deadlock.
Rather than partially reimplementing CPU::Run, just use CPUCoreBase
and then call CPU::Run(). More DRY and less likely to have weird bugs
specific to the player (i.e the previous freezing on pause/stop).

Refactor PowerPC::state into CPU since it manages the state of the
CPU Thread which is controlled by CPU, not PowerPC. This simplifies
the architecture somewhat and eliminates races that can be caused by
calling PowerPC state functions directly instead of using CPU's
(because they bypassed the EnableStepping lock).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix Frame Advance and FifoPlayer pause/unpause/stop.

CPU::EnableStepping is not atomic but is called from multiple threads
which races and leaves the system in a random state; also instruction
stepping was unstable, m_StepEvent had an almost random value because
of the dual purpose it served which could cause races where CPU::Run
would SingleStep when it was supposed to be sleeping.

FifoPlayer never FinishStateMove()d which was causing it to deadlock.
Rather than partially reimplementing CPU::Run, just use CPUCoreBase
and then call CPU::Run(). More DRY and less likely to have weird bugs
specific to the player (i.e the previous freezing on pause/stop).

Refactor PowerPC::state into CPU since it manages the state of the
CPU Thread which is controlled by CPU, not PowerPC. This simplifies
the architecture somewhat and eliminates races that can be caused by
calling PowerPC state functions directly instead of using CPU's
(because they bypassed the EnableStepping lock).
</pre>
</div>
</content>
</entry>
<entry>
<title>Mixer: Convert defines into concrete variables</title>
<updated>2016-01-16T04:41:53+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2016-01-14T08:00:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c70487163f3e67633170e10a513d936e4f033f71'/>
<id>c70487163f3e67633170e10a513d936e4f033f71</id>
<content type='text'>
Gets defines out of global scope.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Gets defines out of global scope.
</pre>
</div>
</content>
</entry>
<entry>
<title>Mixer: Directly initialize class members</title>
<updated>2016-01-14T06:32:31+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2016-01-14T06:19:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=fc6a2f490ffe9bfcf68d56549b4887e6ff5aa515'/>
<id>fc6a2f490ffe9bfcf68d56549b4887e6ff5aa515</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Mixer: Devirtualize</title>
<updated>2016-01-14T06:32:24+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2016-01-14T05:58:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=531a3ed09a85f646aff5dfb5754f0a2147842518'/>
<id>531a3ed09a85f646aff5dfb5754f0a2147842518</id>
<content type='text'>
Nothing in the codebase inherits from this class
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Nothing in the codebase inherits from this class
</pre>
</div>
</content>
</entry>
<entry>
<title>Throttler: Rename "framelimiter" to "emulation speed".</title>
<updated>2016-01-05T22:39:05+00:00</updated>
<author>
<name>degasus</name>
<email>wickmarkus@web.de</email>
</author>
<published>2015-12-15T23:10:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3ff4ec275ae931dfc946cdb09825efa7b9e60d18'/>
<id>3ff4ec275ae931dfc946cdb09825efa7b9e60d18</id>
<content type='text'>
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
</pre>
</div>
</content>
</entry>
<entry>
<title>Throttler + Mixer: Configureable variance</title>
<updated>2015-11-03T07:22:36+00:00</updated>
<author>
<name>degasus</name>
<email>wickmarkus@web.de</email>
</author>
<published>2015-10-25T13:04:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=888c377b57eae52e5710c35ca590f8b5d42b78ff'/>
<id>888c377b57eae52e5710c35ca590f8b5d42b78ff</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix building with PCH disabled.</title>
<updated>2015-09-28T16:51:08+00:00</updated>
<author>
<name>Rohit Nirmal</name>
<email>rohitnirmal9@gmail.com</email>
</author>
<published>2015-09-28T15:57:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3b75f45cf63e8455efb539109bebf6626bcb40e3'/>
<id>3b75f45cf63e8455efb539109bebf6626bcb40e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Common: Remove other Common prefixed headers from Common.h</title>
<updated>2015-09-26T22:51:58+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2015-09-26T21:13:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=cc036ca86cdaf709e01221975da734cb64d54a94'/>
<id>cc036ca86cdaf709e01221975da734cb64d54a94</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MathUtil: Convert Clamp into a constexpr function</title>
<updated>2015-09-12T05:18:28+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2015-09-12T03:43:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b9e360df7bcb8a1051d0f82d42cc6e9ae047d282'/>
<id>b9e360df7bcb8a1051d0f82d42cc6e9ae047d282</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>AudioCommon: Log to AUDIO, not DSPHLE</title>
<updated>2015-08-10T01:36:03+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2015-08-10T01:36:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3f78d74fc111c7633d06b302aa154e3433b926d8'/>
<id>3f78d74fc111c7633d06b302aa154e3433b926d8</id>
<content type='text'>
This code is not related to DSPHLE.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This code is not related to DSPHLE.
</pre>
</div>
</content>
</entry>
</feed>
