aboutsummaryrefslogtreecommitdiff
path: root/plugins/dfxvideo/gpu.c
diff options
context:
space:
mode:
authornotaz2011-06-25 01:49:35 +0300
committernotaz2011-07-08 00:15:08 +0300
commitb03e0caf5e153551cb71065ffaa4361b7f7e492b (patch)
treec192a2d7f859235c2a4867c32556500996ff8141 /plugins/dfxvideo/gpu.c
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 'plugins/dfxvideo/gpu.c')
-rw-r--r--plugins/dfxvideo/gpu.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/dfxvideo/gpu.c b/plugins/dfxvideo/gpu.c
index 9a614de..0d105f8 100644
--- a/plugins/dfxvideo/gpu.c
+++ b/plugins/dfxvideo/gpu.c
@@ -1042,6 +1042,7 @@ long CALLBACK GPUdmaChain(uint32_t * baseAddrL, uint32_t addr)
uint32_t dmaMem;
unsigned char * baseAddrB;
short count;unsigned int DMACommandCounter = 0;
+ long dmaWords = 0;
GPUIsBusy;
@@ -1056,6 +1057,7 @@ long CALLBACK GPUdmaChain(uint32_t * baseAddrL, uint32_t addr)
if(CheckForEndlessLoop(addr)) break;
count = baseAddrB[addr+3];
+ dmaWords += 1 + count;
dmaMem=addr+4;
@@ -1067,7 +1069,7 @@ long CALLBACK GPUdmaChain(uint32_t * baseAddrL, uint32_t addr)
GPUIsIdle;
- return 0;
+ return dmaWords;
}
////////////////////////////////////////////////////////////////////////