Problem with Freeglut on Windows, SwapBuffers not detected

Nigel Stewart nigels.com at gmail.com
Sun Aug 4 10:25:57 PDT 2013


> My program does seem to work with apitrace, but the tracing does not
> see the frame swaps, created through glutSwapBuffers.

The implementation of fgPlatformGlutSwapBuffers for Windows appears to
be merely a call to SwapBuffers, which is a gdi32 call, not WGL.
Which I would expect to be invisible to apitrace.  However, FreeGLUT
does also do a glFlush() in the glutSwapBuffers implementation.

It might actually be necessary to augment FreeGLUT to emit a suitable
call such as glFrameTerminatorGREMEDY(), but I'm not sure that
apitrace is looking for that one specifically, yet, either.

http://msdn.microsoft.com/en-us/library/windows/desktop/dd369060(v=vs.85).aspx
http://www.opengl.org/registry/specs/GREMEDY/frame_terminator.txt

It is certainly curious that you'd get different results on Windows 7
and Windows 8.
The replayer has a -v flag that dumps out the command stream, perhaps
that's worth a closer look.

- Nigel


More information about the apitrace mailing list