Re: [AD] 5.2.1.1

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


In general, everything goes onto master and then is cherry-picked. That seems simplest.

As for what to do in the future, well... I'm not sure. Currently I notice that our version check allows any 5.2.x version to be compatible with any other 5.2.y version, but that doesn't seem like what we actually do, as we only seem to be willing to do backwards compatibility rather than forwards compatibility. I should probably fix that...

With that in mind, I think if we keep using this struct, the only thing we can do is append to the end of it rather than insert in the middle. The old binaries will see a smaller struct, and only be able to access older extensions. Luckily for us, the API looks like this:

ALLEGRO_OGL_EXT_LIST *al_get_opengl_extension_list(void), so the worst thing a user can do is:

ALLEGRO_OGL_EXT_LIST lst;
memcpy(&lst, al_get_opengl_extension_list(), sizeof ALLEGRO_OGL_EXT_LIST);

Which is fine if we only do backwards compatibility, as the sizeof will always be the smaller value.

The practical problem here is that ALLEGRO_OGL_EXT_LIST is created using CPP, and it's a bit inflexible. Maybe we should write a python script to generate it instead?

Either way, for 5.2.1.1 it probably should stay reverted and we can figure out a solution for 5.2.2.

Sound good?

-SL

On 08/13/2016 06:24 AM, Elias Pschernig wrote:
On Tue, Aug 9, 2016 at 10:21 PM, SiegeLord <siegelordex@xxxxxxxxxx
<mailto:siegelordex@xxxxxxxxxx>> wrote:

    Looks like I'll probably have to make a patch release to 5.2.1.

    - 5.2.1 broke the ABI of al_get_opengl_extension_list (fixed in
    https://github.com/liballeg/allegro5/commit/5ec135051693664aa8168bfdabb9e8882d6dbefc
    <https://github.com/liballeg/allegro5/commit/5ec135051693664aa8168bfdabb9e8882d6dbefc>).
    That API doesn't seem like it can handle any OpenGL extension
    additions, so we might have to just freeze it as it is. This was
    detected by the nice website made by Andrey
    (http://abi-laboratory.pro/tracker/timeline/allegro/
    <http://abi-laboratory.pro/tracker/timeline/allegro/>).


How is that a problem? Also, should we revert it on master or just on
5.2? There's many OpenGL extension we still need to add and they all
have to go into this struct eventually, so the commit should at least
stay on master I think.




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/