diff options
author | notaz | 2012-03-02 23:11:45 +0200 |
---|---|---|
committer | notaz | 2012-03-02 23:11:45 +0200 |
commit | 1e07f71d8e8645f9060fcb2ed13f4cb4e0267982 (patch) | |
tree | 16cb12dd434c005997dbbfca24f536c36af5ac78 /plugins | |
parent | 966c128ddcf8b31154d8d2afe62088b3b8f58b4a (diff) | |
download | pcsx_rearmed-1e07f71d8e8645f9060fcb2ed13f4cb4e0267982.tar.gz pcsx_rearmed-1e07f71d8e8645f9060fcb2ed13f4cb4e0267982.tar.bz2 pcsx_rearmed-1e07f71d8e8645f9060fcb2ed13f4cb4e0267982.zip |
gpulib: yet another frameskip hack
or should I call it heuristic?
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/gpulib/gpu.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/plugins/gpulib/gpu.c b/plugins/gpulib/gpu.c index df0099c..aefd53b 100644 --- a/plugins/gpulib/gpu.c +++ b/plugins/gpulib/gpu.c @@ -397,7 +397,8 @@ static noinline int do_cmd_buffer(uint32_t *data, int count) continue; } - if (gpu.frameskip.active && gpu.frameskip.allow) + // 0xex cmds might affect frameskip.allow, so pass to do_cmd_list_skip + if (gpu.frameskip.active && (gpu.frameskip.allow || ((data[pos] >> 24) & 0xf0) == 0xe0)) pos += do_cmd_list_skip(data + pos, count - pos, &cmd); else { pos += do_cmd_list(data + pos, count - pos, &cmd); |