[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
- To: Elias Pschernig <elias@xxxxxxxxxx>
- Subject: Re: [AD] 5.2.1.1
- From: SiegeLord <siegelordex@xxxxxxxxxx>
- Date: Sat, 13 Aug 2016 08:53:40 -0700
- Cc: allegro-developers@xxxxxxxxxx
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=d22H3qgEL5xK6RrFrNJPaXZPLYBobXuUIw6RWVRMdxo=; b=Paz9sHDOD4Auj/zw5wXttGDcEWa/cY/qIUqm0CdWBf363VWMNibFcm/WG5afbkSFbZ smfSZr6PixQdmAViPsaFYAv3I5xlJNe9HGRLCtgSy715dP/Ugvqy5w4nQmmCb/iR6kaO AnfwhEkZL6P3MRQSEL0mg6OahD4zFwtDmODecUdixvQBFCLXV3R+RVwrxWyW5Bb025NI +/m+y5dD98yQ3ft7LE/Sz6suGYzI0muPBc91/bEJ+XPQVJBSPGayUN9sqgB4Mtn5EhU3 VnHItLDjt53ekxY1uJ1NgNNQOqwl2iKTqYZXzR0RLTMbKHR0QmLWEwtBplH2ceUpT+dC nfeg==
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.