diff options
author | notaz | 2011-02-26 23:15:43 +0200 |
---|---|---|
committer | notaz | 2011-02-28 18:36:42 +0200 |
commit | 17ed0d696a7a3649cc41dcf182e162c85002b33a (patch) | |
tree | 0a73bad9b0c59149d263dcd88957097c39741140 /plugins/dfsound | |
parent | 4cc3050c739a4967bce4efa0146916c74266aa75 (diff) | |
download | pcsx_rearmed-17ed0d696a7a3649cc41dcf182e162c85002b33a.tar.gz pcsx_rearmed-17ed0d696a7a3649cc41dcf182e162c85002b33a.tar.bz2 pcsx_rearmed-17ed0d696a7a3649cc41dcf182e162c85002b33a.zip |
gte_neon: implement MVMVA, some fixes
Diffstat (limited to 'plugins/dfsound')
-rw-r--r-- | plugins/dfsound/oss.c | 5 | ||||
-rw-r--r-- | plugins/dfsound/spu.c | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/plugins/dfsound/oss.c b/plugins/dfsound/oss.c index f4dd215..929d921 100644 --- a/plugins/dfsound/oss.c +++ b/plugins/dfsound/oss.c @@ -65,9 +65,10 @@ void SetupSound(void) } // we use 64 fragments with 1024 bytes each + // rearmed: now using 10*4096 for better latency - fragsize=10; - myfrag=(63<<16)|fragsize; + fragsize=12; + myfrag=(10<<16)|fragsize; if(ioctl(oss_audio_fd,SNDCTL_DSP_SETFRAGMENT,&myfrag)==-1) { diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index c455d3d..afd5fd6 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -771,7 +771,7 @@ void CALLBACK SPUasync(unsigned long cycle) if(iSpuAsyncWait) { iSpuAsyncWait++; - if(iSpuAsyncWait<=64) return; + if(iSpuAsyncWait<=16) return; iSpuAsyncWait=0; } @@ -780,6 +780,11 @@ void CALLBACK SPUasync(unsigned long cycle) if(!bSpuInit) return; // -> no init, no call MAINThread(0); // -> linux high-compat mode + + // abuse iSpuAsyncWait mechanism to reduce calls to above function + // to make it do larger chunks + // note: doing it less often than once per frame causes skips + iSpuAsyncWait=1; } } |