VSync feedback [not working] with ATI!!!

Does anybody know why da fakk when i try to get the vsync state - via extension fcoz - i get always 0. It doesn’t matter what i set with drivers (catalyst 5.4 & 5.3 and probalby earlier). And if how to get over this???

To be honest the nV 66.93 drivers are messed with VSync state, too… :>

Whatz da matte’ with ya? Nobody had this prob?

How about appropriate language?

Wanna app’lang? Nah…

Who would be so kind and gently describe the solution if any exists, PLEASE :>


About the V-Sync stuff, i don´t know. Would have taken a look into it, if you had used the word with two t (bitte = please).

But this thread is much too interessting in its current state, i don´t want to ruin the show.


I would be very happy, if somebody could give me (and us, too) the solution, if any exists, please/bitte…

Thanks in advance…

I don’t know about the details exactly - about this version of vsync or fcoz with openGL, but I think your probably using it the wrong way.

A. You never get a response from the variable because the system can only ever access it when it is zero. When its non-zero the system is waiting until it is zero before it reads it, this is a fundamental problem related to the way video circuits work. (The video clock overrides timing in the video card ramdac on each blanking signal (shutting the card down until blanking is finished)).

B. Vsync is working a different way altogether, when you issue the command it makes the system wait till the next vsync interval.
When you access what looks like a variable its actually making a kind of function call, but in the hardware.

Vsync should come with the health warning that it is an extremely low level object - it is very complex, difficult to understand, and if you get it wrong the computer (or graphics card) crashes instantly.

Incidentally it is the video card itself that controls vsync not its processor so its pretty irrelevant whether the processor is ATI or nVidia.


Are you using wglGetSwapIntervalEXT()?
What value did you set it at?
What about your control panel setting? Set it to application control.

OK, some details:

yes, i use: wglGetSwapIntervalEXT()

it doesn’t mater if I set in control panel of catalyst: always off, default off, default on or always on (btw: the exact: application control is only aplicable for D3D). I always get 0, Null or whatever we call it.
I tested several version of catalysts (5.4, 5.3 and some older).
And on nVidia cards/drivers the VSync works - but with 66.93 it’s messed - it returns 0, when it always disabled (on olders drv it return -1).
So if on nv works why then not with ATI?

I just tried it and it works fine. Cat 5.4

0 works.
1 works
any number higher always returns 1.

I just quickly tried it on a windowed program.

V-Man -> did you use glSetSwapIntervalEXT() before glGetSwapIntervalEXT()?
I tested in this way:
set vsync in drivers to one of 4 values
run app & test wglGetSwapIntervalEXT() result
(quit app) and the same for other values.
And i always get ‘0’, argh…

Yes, but it’s called wglSwapIntervalEXT.
My setting was Default Off.

I think your video card is not able to sync so it returns 0.

V-Man -> but when I made changes within drivers the framerate changes apprioritate (goes under / over refresh_rate). So i think it’s prob with drivers. OTOH if it worx @ your machine… hmmm

BTW, am i right or someone cut off some posts && even change de_topic to be less harsh? :>

And one more thin’ - anybody encountered similar problem wit nVidia (66.93 exact drivers)?

V-Man -> could you test it again but without usin’ glSwapIntervalEXT()? i mean comparing results of glGetSwapIntervalEXT()…

Just calling Get returns 0 for me, which is correct. There isn’t anything obscure about it. Write a short GLUT program and test it.

But when i had a nv card and <66.93 drvz returned valued strilcly matches to driver settings:
-1 - always off
0 - def. off
1 - def. on
So why then ati can’t return prorev values, too?