aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authornotaz2011-06-25 01:49:35 +0300
committernotaz2011-07-08 00:15:08 +0300
commitb03e0caf5e153551cb71065ffaa4361b7f7e492b (patch)
treec192a2d7f859235c2a4867c32556500996ff8141 /libpcsxcore
parent4e44d6f63e9f1af3236fbbe2f59016cd42a67d98 (diff)
downloadpcsx_rearmed-b03e0caf5e153551cb71065ffaa4361b7f7e492b.tar.gz
pcsx_rearmed-b03e0caf5e153551cb71065ffaa4361b7f7e492b.tar.bz2
pcsx_rearmed-b03e0caf5e153551cb71065ffaa4361b7f7e492b.zip
gpus: return DMA word count to avoid 1 list walk
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/psxdma.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libpcsxcore/psxdma.c b/libpcsxcore/psxdma.c
index 1274d93..df79b6d 100644
--- a/libpcsxcore/psxdma.c
+++ b/libpcsxcore/psxdma.c
@@ -167,8 +167,9 @@ void psxDma2(u32 madr, u32 bcr, u32 chcr) { // GPU
PSXDMA_LOG("*** DMA 2 - GPU dma chain *** %lx addr = %lx size = %lx\n", chcr, madr, bcr);
#endif
- size = gpuDmaChainSize(madr);
- GPU_dmaChain((u32 *)psxM, madr & 0x1fffff);
+ size = GPU_dmaChain((u32 *)psxM, madr & 0x1fffff);
+ if ((int)size <= 0)
+ size = gpuDmaChainSize(madr);
// Tekken 3 = use 1.0 only (not 1.5x)