Windows and fullscreen

hello sdl,

I’ve been having a rough time getting fullscreen to work in windows (on
a project for work). Of windows flavors, have used primarily win2k and
winNT for testing, multiple machines of each, and the pattern is
basically that in win2k fullscreen OpenGL works great and fullscreen
software has flicker problems, while in winNT fullscreen software works
right and fullscreen OpenGL has severe problems (in one case a crash).

I would like to know if this is expected, so that I know if I can
expect to find a ‘proper’ solution with the current version of SDL.

Thanks.

                                        -Ray Skoog

hello sdl,

I’ve been having a rough time getting fullscreen to work in windows (on
a project for work). Of windows flavors, have used primarily win2k and
winNT for testing, multiple machines of each, and the pattern is
basically that in win2k fullscreen OpenGL works great and fullscreen
software has flicker problems.

This sounds like you’re passing SDL_HWSURFACE for fullscreen software,
and writing directly to visible video memory. Either remove the
SDL_HWSURFACE flag or add SDL_DOUBLEBUF.

while in winNT fullscreen software works
right and fullscreen OpenGL has severe problems (in one case a crash).

This sounds like bad OpenGL drivers on Windows NT.
What video card and driver revisions do you have?

See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment

Sam Lantinga wrote:

hello sdl,

I’ve been having a rough time getting fullscreen to work in windows (on
a project for work). Of windows flavors, have used primarily win2k and
winNT for testing, multiple machines of each, and the pattern is
basically that in win2k fullscreen OpenGL works great and fullscreen
software has flicker problems.

This sounds like you’re passing SDL_HWSURFACE for fullscreen software,
and writing directly to visible video memory. Either remove the
SDL_HWSURFACE flag or add SDL_DOUBLEBUF.

while in winNT fullscreen software works
right and fullscreen OpenGL has severe problems (in one case a crash).

This sounds like bad OpenGL drivers on Windows NT.
What video card and driver revisions do you have?

Thanks, Sam.

I don’t see my win2k software fullscreen problem yet. I set up my SDL
video mode as follows:

videoFlags = SDL_HWPALETTE;
videoFlags |= SDL_DOUBLEBUF;
videoFlags |= SDL_SWSURFACE;
if( videoInfo->blit_hw )
videoFlags |= SDL_HWACCEL;

Which should place me in double-buffered software (when I call
SDL_SetVideoMode() of course). At a latter time when I go to openGL (or
from OpenGL to software again) I do this:

videoFlags ^= SDL_OPENGL;
videoFlags ^= SDL_GL_DOUBLEBUFFER;
videoFlags ^= SDL_DOUBLEBUF;

And then call SDL_SetVideoMode().

For fullscreen I just ^= the fullscreen flag and call setVideo…

Aside: I have exactly the same bad/good behavior in OS-X as win2k.
Also, if the winNT errors look like drivers, lets forget them, those
machines are ‘well used’.

                                                                -ray 

skoog