assembler for JIT. Replace JIT ToMask() with a different variant. Remove
superfluous zeroWriteBackLog calls(added by me).
Core/Common: Don't bother creating a string and calling into a Logs trigger()
when there is noone listening. Change AtomicLoadAcquire for gcc to just
make the compiler not reorder memory accesses around it instead of doing
a full memory barrier, per the comment in the win32 variant.
Core/AudioCommon: Fix a use of uninitialized variable inside libalsa.
Microbenchmarking results for ToMask variants:(1 000 000 000 iterations):
cpu\variant| shifts | bit scan
intel mobile C2D@2.5GHz | 5.5s | 4.0s
amd athlon64x2@3GHz | 6.1s | 6.4s
(including some constant overhead identical to both variants)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6667 8ced0084-cf51-0410-be5f-012b33b47a6e
This removes some bad behaviour, like the audio thread busy waiting inside ALSA code,
missing begins of voice samples(due to DSP_HLE code not getting called often enough).
Turns out my understanding of ALSA API was lacking.
Tested with pulse plugin and directly on my intel-hda/realtek hardware.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5461 8ced0084-cf51-0410-be5f-012b33b47a6e
The fix is asking alsa for a prefered "hardware" buffer size, so alsa does not fall
back to pulseaudios offering of ~1 minute. Additionally, alsa busy waits when pulseaudio
is used, sw:avail_min is set and hw:buffer_size is small.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5439 8ced0084-cf51-0410-be5f-012b33b47a6e