Hardware (blting) acceleration in window on

My understanding is that you already do get hardware blitting from the
DirectX target, if you have hardware surfaces.

(directx isn’t the default right now in CVS, but it will be again, and
it was in the latest (1.2.9) release.)

–ryan.

Well, the problem is that that in windowed mode SDL will not allow you to have hardware surfaces (everything is put in system memory).

This is an unnessesary limitation (I know this because CDX allows it) and I guess should be easily solved.

I spent a day looking through the 1.2.9 source code (yes it was DirectX), but i could not figure out what change to make. I had guessed that it was a simple flag (e.g. if !SDL_FULLSCREEN then do not allow hardware surfaces), but it loks like it is more involved than that.

Is anyone out there familiar with SDL programming who is willing to make this change?

DEAN WARE wrote:

My understanding is that you already do get hardware blitting from the
DirectX target, if you have hardware surfaces.

(directx isn’t the default right now in CVS, but it will be again, and
it was in the latest (1.2.9) release.)

–ryan.

Well, the problem is that that in windowed mode SDL will not allow you
to have hardware surfaces (everything is put in system memory).

This is an unnessesary limitation (I know this because CDX allows
it) and I guess should be easily solved.

I spent a day looking through the 1.2.9 source code (yes it was
DirectX), but i could not figure out what change to make. I had
guessed that it was a simple flag (e.g. if !SDL_FULLSCREEN then do
not allow hardware surfaces), but it loks like it is more involved
than that.

Is anyone out there familiar with SDL programming who is willing to
make this change?

There are a bunch of corner cases which prevent that. For example, the
hw gamma code only works in hardware when using fullscreen. Similarly,
if you have a 8 bit paletted display, you can’t set all the 256 colors
as you like when running in a window, although it is possible when
running fullscreen.

Stephane