[haiku-development] Re: Breaking apart Accelerant.h (was A tale of two accelerant API's)

  • From: looncraz <looncraz@xxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 13 Feb 2013 12:00:38 -0800

On 2/13/2013 09:42, pulkomandy@xxxxxxxxxxxxx wrote:

Since you need to update the game kit and app_server to handle the new API anyway, just keep the old version around.

Why not use Be's solution: TWO accelerant types.

One for 2d, one for 3d (.3da).

I much prefer this than expanding the 2d accelerant much beyond its current state.

Then, you can just a couple of extra hooks - the accelerant API was designed to be expandable and adaptable. If an accelerant doesn't implement a hook, then it simply doesn't support that feature. If it doesn't recognize the hook, it reports that it doesn't support that feature.

I don't really see a reason to change the API to the point of being incompatible.

Similarly, I see no good argument for not separating 3d and 3d accelerants - as Be did with their HW OGL kit.

And why would the game kit use the accelerants directly anyway? I would think it would at all times make more sense to write an intermediary object which would fall-back to a software version of the operation if hardware acceleration were not available. Limits the code path complexity.

The app_server already does this with AccelerantHWInterface (though I don't think all of the work is done).

--The loon

Other related posts: