MorphOS Developer
Posts: 510 from 2003/4/11
Quote:Quote:
It will be fixed starting with MorphOS 3.5, so you could do something like...
But I thought only the R200-driver was buggy? Such a snippet would toggle the behaviour on all systems ver 3.0 - 3.4.
Well, it does look like I managed to replicate that behaviour in the R300 driver too :)
Quote:Quote:
Make sure that you actually create a screen context, otherwise it won't work.
Unfortunately it definitely is a correct screen-context

But besides the fact that GLASetSync seems to be broken on my system: so for window-contexts GLASetSync should indeed have no effect and one is supposed to use WaitTOF or so instead?
Well, basically, full screen double buffering is always vsynced. However, TinyGL has the possibility to not wait for a buffer to have been fully displayed before swapping to the next buffer, which removes the waiting for benchmark purposes, but isn't the same as non-vsync on f.ex. Linux or Windows. To make it clear: you don't have to do anything extra to get vsync on a fullscreen context. The one exception is if you happen to have an env variable with the name 'TGLSYNC', which can be used to force vsync off.
You should never, ever use WaitTOF(). Never. If you really must, then use WaitBOVP(), but that doesn't in any way guarantee anything, since anything can happen between the WaitBOVP() call returning and your program doing whatever it does afterwards. I
think that Enhanced Layers has some fancy way to ensure vsynced updates to window contents, but I'm not sure, and I have no idea how it works. Jacadcaps should fill in the blanks here :)
[ Edited by bigfoot 20.12.2013 - 18:13 ]I rarely log in to MorphZone which means that I often miss private messages sent on here. If you wish to contact me, please email me at [username]@asgaard.morphos-team.net, where [username] is my username here on MorphZone.