ATI -ALT-TAB problems

Does anyone have an example of an OpenGL app running in fullscreen mode that successfully alt-tabs on a ATI card? (I have no problems in windowed mode. )

All my attempts (on a win2K -Radeon 9700 -latest drivers) result in texture corruption or locking the computer. The same code works fine on Nvidia cards.

I have tried other OpenGl apps that run in fullscreen mode, but have yet to find one that successfully allows me to ALT-TAB.

I’m hoping someone out there has a sample code stub that they will be kind enough to let me look at.

Thanks.

(BTW- The engine I work on also has a Direct3D interface which seems to work fine on the ATI cards)

-Small update:
I’ve just tested a Radeon 9000 and it seems to work OK. So it seems the problem is only with the 9700. So all you 9700 owners, could you please test if ALT-Tabbing a OpenGL fullscreen App works. (If it works for you, I may have a faulty card)

If you do find out a fix for it, please let me know. Unfortunately I have no ATI card (not to mention a 9700), so I can’t test & debug this myself.

hm… can’t switch at all with the nehe apps… it does not change res, nor does it update any other window… but switching back makes everything okay again…

can you send your app? want to see what happens with yours…

Sounds like a driver bug to me. I had some problems earlier with some of my apps getting desktop corruption after returning from fullscreen. Might be related.

It’s a relatively well-known problem under Windows that alt-tabbing out of a full screen program can damage that application’s video memory. Windows will not protect the video memory of an application that is not visible. This happens under both DirectX and OpenGL.

It doesn’t happen all the time, but alt-tabbing is not guarenteed to be successful on fullscreen apps. Note that this is why Quake3 disables alt-tabbing.

[This message has been edited by Korval (edited 11-20-2002).]

Unfortunally, the project I am working on is a huge framework (Auran Jet) so I can’t easily send a simple example.

However, I find the OpenGL fur demo on the ATI’s web site locks the computer up in a very similar way. http://mirror.ati.com/developer/samples/3rdparty/tomohide_fur.03.13.02.zip

So could 9700 owners run this demo and try to alt-tab. (Seems to be ok on 9000,8500 cards)
(This demo does not really support alt-tabbing as the desktop resloution does not change)

About Windows and video memory. True, Windows does not protect video memory but all resources in OpenGL are supposto be managed so that when video memory is lost, it is saved to system memory and re-uploaded when necessary. Direct3D has a similar concept except you can mark resources as managed or un-managed. Un-managed resources you have to re-create yourself when video memory is lost (Vertex buffers and render-textures come to mind as these cannot be managed) (I am not a “real” Direct3D programmer so what I say may be slightly incorrect)

As I stated above, The ATI 9700 card has no problem managing the Direct3D rendering backend on ALT-TAB. (I tested a 8500,9000 and Geforce3 and they seem to work fine in both OpenGL and Direct3D)

All my problems may be hardware based however as I may be using a pre-production 9700. This is why I would like other 9700 owners to test the above application.

Note that this is why Quake3 disables alt-tabbing.

Yeah and I have noticed that Doom 3 also has it disabled in fullscreen. But that doesn’t suprise me when the windows code for doom is the same as quake 3. Some of the code in doom was never changed from the quake 3 code base they started out with when doom began.

-SirKnight