Somehow this thread (Drop support for software rendering in 1.3) has
digressed into multiple topics. All pertain to different ideas on
restructuring SDL, but they do not pertain specifically to the thread topic.
If people want to discuss splitting up SDL, or building different flavors
using compiler flags then those should probably be started as different
topics.
That being said, I’d like to add that BEFORE we worry about any type of
restructure of SDL 1.3 (graphic or otherwise), wouldn’t it be a good idea to
get a stable release out? SDL 1.3 is very much still a beta, and on almost
a daily basis there are commits that break the build for one platform or
another.
This doesn’t mean we cannot discuss topics like restructuring, but I’d like
to see a stable release before any of those ideas comes to fruition.
KenFrom: sdl-bounces@lists.libsdl.org [mailto:sdl-bounces at lists.libsdl.org] On
Behalf Of Will Langford
Sent: Sunday, January 23, 2011 10:49 PM
To: sdl at lists.libsdl.org
Subject: Re: [SDL] Proposal: Drop support for software rendering in 1.3
On Sun, Jan 23, 2011 at 10:23 PM, Nathaniel J Fries wrote:
Perhaps instead, modularize SDL itself into several smaller libraries? SFML
does something like this.
For example, SDL_core (SDL’s standard c subset), SDL_system (threads, OS
version, CPU features; depends on SDL_core), SDL_surface (SDL_Surface-based
structures; depends on SDL_core and SDL_system for fast blitting),
SDL_windows (SDL_CreateWindow*, SDL_Event), SDL_render (SDL_CreateRenderer,
etc; this CAN be safely fragmented as was suggested before, since the public
API is still the same)
I’ve… followed this and the accompanying thread a little.
What I don’t understand is the desire to try to optimize away the outter
wrapper of these different SDL calls.
This would be akin to:
FlipScreen1()
{
memcpy();
}
FlipScreen2()
{
hardware_flip();
}
FlipScreen3()
{
depants_your_neighbor();
}
FlipScreen()
{
choose which 1/2/3 to call and do it
}
… Optimizing FlipScreen() to instead be hard wired into 1/2/3() doesn’t
improve much.
Similarly, for those who argue about space / foot print — on typical
computers you have got to be joking. A MB or 2 of total space taken up in
the world of terabyte drives and GB’s of memory ? And if you’re in the
embedded world and truly concerned about this stuff, you’d just comment /
preprocessor the unwanted stuff out manually anyway.
I truly think a library compile time option to enable / disable software
renderer is a mistake and leads down a dangerous path.
In regards to splitting SDL up into smaller codependent libraries…
I’m… somewhat against that as well. I really do like the S part of SDL
:). I just honestly think it’s not the way to go. I can understand and
respect the desire to do that, I just don’t agree.
As far as removal of the software renderer… I’m almost inclined to agree
with the use ‘1.2’ mentality. I’m all about ‘the lowest common
denominator’, and it is probably nearing time that the 2D engine is about
dead. Microsoft abstracted ddraw through d3d how long ago ? Anyhoo, that’s
my worthless $0.02 thrown into the pot 
-Will