Core/DSPCore: Make JIT work on 64 bit hosts

This is the safe variant that does not assume other
functions use R11 for &g_dsp.r, which they actually do.
So there is a lot unnecessary reloading of the register
getting emitted.

There are a few small changes exploiting pointers known
at emission time and making use of MComplex math.

Also renames m_LLEplaying to m_AIplaying in Core/AudioCommon.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6245 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
pierre
2010-10-01 23:23:13 +00:00
parent c8c805f720
commit b80e207a8a
6 changed files with 313 additions and 26 deletions

View File

@ -37,17 +37,17 @@ unsigned int CMixer::Mix(short* samples, unsigned int numSamples)
}
unsigned int numLeft = Common::AtomicLoad(m_numSamples);
if (m_LLEplaying) {
if (m_AIplaying) {
if (numLeft < numSamples)//cannot do much about this
m_LLEplaying = false;
m_AIplaying = false;
if (numLeft < MAX_SAMPLES/4)//low watermark
m_LLEplaying = false;
m_AIplaying = false;
} else {
if (numLeft > MAX_SAMPLES/2)//high watermark
m_LLEplaying = true;
m_AIplaying = true;
}
if (m_LLEplaying) {
if (m_AIplaying) {
numLeft = (numLeft > numSamples) ? numSamples : numLeft;
// Do re-sampling if needed