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