Yes, I have that, it's just the emulator itself. As I recall, the gles2n64 plug-in development was done separately, and there are at least 2 versions which had frameskip added (something like "r4b" and "r5", but I can't remember off the top of my head). They both handled frameskip differently (as I recall one allowed like one or two frames to be skipped and the other allowed you to specify a number.. don't quote me on that). The version I'm using is a hybrid of Yongzh's, Zodttd's, and Lachlan's code, so I have no idea what's in there and what needs to be added for frameskip to work (I'd be willing to bet it is broke at the moment). That's why I need some different versions for comparison before I can get an idea of how it is supposed to be implemented.
--EDIT--
I did a little digging through the code, and it looks like the frame skipping stuff is there, but just not hooked up. There is the following callback, which is not part of the official Mupen64Plus API, and is not being called from anywhere in the code:
EXPORT void CALL SetFrameSkipping(bool autoSkip, int maxSkips)
{
frameSkipper.setSkips(
autoSkip ? FrameSkipper::AUTO : FrameSkipper::MANUAL,
maxSkips);
}
Presumably, this is called from the front-end (I'm pretty sure the Pandora versions allowed you to configure this through the config files, not via a callback, so this is probably something Yongzh came up with). Looking at the config file, it seems to be written for a different version of gles2n64 (several parameters are missing or simply ignored) - I'm assuming Yongzh pulled functionality out of the config files to move it to the GUI instead. I'll play around with the code to see if frameskip actually works when I call the callback. From the code, it looks like "autoSkip"" is supposed to cause frameskipping to change dynamically to try and achieve the target FPS, or if set to manual, you define the maximum skips yourself.