./build/apitrace trace --api gl --output=TRACE -v java -XstartOnFirstThread -Dorg.lwjgl.util.DebugLoader=true -Dorg.lwjgl.util.Debug=true -Dorg.lwjgl.opengl.Display.enableHighDPI=true -Dorg.lwjgl.opengl.Display.enableOSXFullscreenModeAPI=true -jar ../intermetto/target/intermetto-1.0-SNAPSHOT.jar
Yeah, GL debugging is in a sorry state on OS X.They broke their GL profiler a couple of updates ago - though, as weird as it sounds, I've had success connecting it "remotely" (on the same machine, just using the remote connection feature). Didn't try again since then, so I'm not sure if this still works with the latest OS version.Other than that, I've been using apitrace in the past to figure out some issues/bottlenecks on both MacOS and Windows.
To my knowledge, that may not mean anything. Drivers can postpone/defer/queue the actual processing of the GL calls until their effect must be known, which is at glfwSwapBuffers() or glFinish() or other calls such as glReadPixels() when you are reading the backbuffer which you previously rendered to. In addition, the GPU will start processing the GL calls and will do this asynchornously to your CPU/host program. Only at glfwSwapBuffers() and glFinish() will the GPU and CPU synchronize (and in most cases the CPU wait for the GPU to finish).If you want to know how long calls take on the GPU, measure the GPU time via timer query objects.
Codi, how can I use apitrace? it starts the application but does not log anything.
Is there any example how can I use glDebugMessageCallback? Or... am I right when I say it doesnt work, because its from 4.3 and osx has 4.1?