Question about video modes

Hello!

I’m trying to set a video mode:

Uint32 videoflags = SDL_HWSURFACE | SDL_DOUBLEBUF;
SDL_Surface* screen = SDL_SetVideoMode(800, 600, 32,
videoflags);

The screen is created successfully, but when I’m trying to
get screen->flags it is 0.
The question is: is this surface really double-buffered
and does it use the memory of my video card?

With the best wishes,
I.B.

Yes, it is doublebuffered – when real doublebuffering isn’t available, SDL
still does what you ask and makes a software doublebuffer. Chances are you
will never get HARDWARE doublebuffering unless you make it fullscreen.On Saturday 25 December 2004 20:14, Ilya Baranoff wrote:

Hello!

I’m trying to set a video mode:

Uint32 videoflags = SDL_HWSURFACE | SDL_DOUBLEBUF;
SDL_Surface* screen = SDL_SetVideoMode(800, 600, 32,
videoflags);

The screen is created successfully, but when I’m trying to
get screen->flags it is 0.
The question is: is this surface really double-buffered
and does it use the memory of my video card?

Hello!

I’m trying to set a video mode:

Uint32 videoflags = SDL_HWSURFACE | SDL_DOUBLEBUF;
SDL_Surface* screen = SDL_SetVideoMode(800, 600, 32,
videoflags);

The screen is created successfully, but when I’m trying to
get screen->flags it is 0.
The question is: is this surface really double-buffered
and does it use the memory of my video card?

No, if SDL_HWSURFACE and SDL_DOUBLEBUF aren’t set in the returned flags,
then SDL wasn’t able to get the surface you requested. By the way, I
think this is only supported in fullscreen mode, and under certain drivers.

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