[SDL] SDL_HWSURFACE not returning a hardware surface?

Loren Osborn linux_dr at yahoo.com
Tue Jul 30 14:40:01 PDT 2002


--- Christopher Subich <csubich at subich.com> wrote:
> I've been playing around with SDL some for the past
> few days, and finally 
> got around to checking what SDL was giving me when I
> asked for a new screen 
> on the Win2K box I was working on/
> 
> To my surprise,
>
SDL_SetVideoMode(320,240,32,SDL_HWSURFACE|SDL_DOUBLEBUF);
> 
> gives me neither HWSURFACE nor double buffering. 
> Similarly, it seems to 
> ignore SDL_SWSURFACE, both with and without
> DOUBLEBUF.  This contradicts 
> SDL_GetVideoInfo(), which says I should be able to
> get at least a Hardware 
> Sufrace, SDL_VideoModeOK, which says I should be
> able to do it at 32bpp, 
> and SDL_ListModes, which appears to say that I
> should be able to get it at 
> any(?) resolution at 32bpp.
> 
> This is repeatable on my Win98 box, with a different
> graphics card.  Both 
> Win2k and Win98 are using the directx driver.

Currently all versions of SDL (with the possible
exception of SDL on Amiga) do not support hardware
surfaces in a window.  Basically the problem is that
there is no way to prevent the SDL program to draw on
top of windows that might be on top of the SDL window
if the program has access to a hardware surface.

> 
> Incidentally, what kind of surface is a surface
> that's neither hardware nor 
> software?

If you look carefully at the definithion of
SDL_SWSURFACE, it's defined as the bitmask 0x00000000.
, or in plain English, it has no bits.  Therefore it
is defined purely as the lack of the bit indicating a
SDL_HWSURFACE.  Understood?

Best Regards,

-Loren


__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com




More information about the SDL mailing list