notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
drc: prefer callee-saved regs on alloc
[pcsx_rearmed.git]
/
plugins
/
dfxvideo
/
gpu.c
diff --git
a/plugins/dfxvideo/gpu.c
b/plugins/dfxvideo/gpu.c
index
9fa08fe
..
649cb42
100644
(file)
--- a/
plugins/dfxvideo/gpu.c
+++ b/
plugins/dfxvideo/gpu.c
@@
-1060,8
+1060,8
@@
long CALLBACK GPUdmaChain(uint32_t * baseAddrL, uint32_t addr)
if(count>0) GPUwriteDataMem(&baseAddrL[dmaMem>>2],count);
addr = GETLE32(&baseAddrL[addr>>2])&0xffffff;
if(count>0) GPUwriteDataMem(&baseAddrL[dmaMem>>2],count);
addr = GETLE32(&baseAddrL[addr>>2])&0xffffff;
- }
- while (addr != 0xffffff);
+ } while (!(addr & 0x800000)); // contrary to some documentation, the end-of-linked-list marker is not actually 0xFF'FFFF
+ // any pointer with bit 23 set will do.
GPUIsIdle;
GPUIsIdle;
@@
-1143,6
+1143,8
@@
void GPUrearmedCallbacks(const struct rearmed_cbs *cbs)
dwFrameRateTicks = cbs->gpu_peops.dwFrameRateTicks;
if (cbs->pl_vout_set_raw_vram)
cbs->pl_vout_set_raw_vram(psxVub);
dwFrameRateTicks = cbs->gpu_peops.dwFrameRateTicks;
if (cbs->pl_vout_set_raw_vram)
cbs->pl_vout_set_raw_vram(psxVub);
+ if (cbs->pl_set_gpu_caps)
+ cbs->pl_set_gpu_caps(0);
skip_advice = &cbs->fskip_advice;
fps_skip = 100.0f;
skip_advice = &cbs->fskip_advice;
fps_skip = 100.0f;