Hi, I've been having some problems with this opengl extension, but only on some machines. I'm no great expert at using extensions, but I get a list of extensions with glGetString and find whether 'GL_WIN_swap_hint' is in the list. Then I use wglGetProcAddress to get the address of glAddSwapHintRectWin.
So far so good. As I understand it, if not supported, it should not be in the list or return NULL for the the address.
The problem I'm finding is that on some PCs it is acting correctly and only swapping the requested rect, but on others that say they support it, the command appears to be ignored? Perhaps I'm misunderstanding and they are allowed to totally ignore it, as it is just a 'hint'. But to me that negates half the use of the thing.
Basically I have a GUI and various other things being rendered to the screen. On most frames, I don't need to render the whole screen, just a small part of it. So I want to just render that part, and then call swapbuffers and only have that region swapped. My question would be, if a driver can't do the thing, and swap only part of the buffers, why doesn't it just return that it can't do it?
I now have a situation where I will have to make the default build run a rubbishy slow path, just in case the GL driver has an implementation that doesn't work... Unless it really is a driver bug, but I've had it happen on 2 out of 5 test machines, so it would seem unlikely.
I've also tried hard coding in a small rectangle, just to check I wasn't passing in garbage to the hint function, but same result. Has anyone had any luck with this extension?