[Mesa-dev] Recent master build failure (upgrade gl2ext.h / glDrawBuffersNV fallout)
Jeremy Huddleston Sequoia
jeremyhu at apple.com
Wed Jul 11 00:21:50 PDT 2012
Tested-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
I tried applying that change to current master (a0698b000b693fc1345fadd6d418dfd8d7548e44), and it didn't work at first, but after a make clean it did. It looks like the Makefile dependencies were insufficient to propagate this change properly. On the failed attempt, only the following were regenerated:
python2 ../../../../src/mapi/mapi/mapi_abi.py \
--printer glapi --mode lib gl_and_es_API.xml > ../../../../src/mapi/glapi/glapi_mapi_tmp.h
python2 gl_enums.py -f ./gl_and_es_API.xml > ../../../../src/mesa/main/enums.c
After forcing everything to be regenerated via make clean, the build has progressed past the problem point.
--Jeremy
On Jul 10, 2012, at 8:19 PM, Kristian Høgsberg <krh at bitplanet.net> wrote:
> Hi Jeremy,
>
> I wasn't able to reproduce this problem when I committed the patch to
> update gl2ext.h, but I now figured out what triggers it. It only
> happens when the asm stubs are disabled (either pass --disable-asm to
> configure or buid on an arch where we fallback to c stubs) and when
> shared glapi is disabled.
>
> Anyway, having reproduced it, I see that it's just glDrawBuffersNV
> that's the problem. I assumed that this was just the first missing
> prototype and you didn't list the rest. Digging further, it turns out
> that we don't generate entry points for GLES extension functions in
> general, which is why only glDrawBuffersNV is a problem. The
> GL_NV_draw_buffers extension defines the entry point is in
> ARB_draw_buffers.xml which holds GL extensions too. All other GLES
> extensions are listed in es_EXT.xml, which isn't used to generate the
> public entry points.
>
> So it looks like the real fix is the attached patch - move the
> GL_NV_draw_buffer definition to es_EXT.xml. It does fix the error
> here and doesn't affect the other configuration combinations.
>
> Kristian
>
> On Tue, Jul 10, 2012 at 9:00 PM, Ian Romanick <idr at freedesktop.org> wrote:
>> On 07/10/2012 02:39 PM, Jeremy Huddleston Sequoia wrote:
>>>
>>> Mesa master stopped building successfully on my tinderbox on 7/6. The
>>> relevant changes from the previous successful build were 95ce454..c445b0f,
>>> and I bisected it to the upgrade of gl2ext.h to version 18099 (see below).
>>>
>>> ../../../src/mapi/glapi/glapitemp.h:4635:1: error: no previous prototype
>>> for 'glDrawBuffersNV' [-Werror=missing-prototypes]
>>>
>>> The commit mentions that this new failure is expected, so it would be nice
>>> if the fix for the original issue could now be included as well.
>>
>>
>> This commit fixed another, even more catastrophic, problem. The fix is to
>> get a new gl2ext.h, when it's available, that fixes the original problem.
>> In the mean time, I think tinderbox will remain broken. :(
>>
>> See http://lists.freedesktop.org/archives/mesa-dev/2012-July/023670.html
>>
>>> --Jeremy
>>>
>>> 3ed8d4285360047d78cfd3218ac4f8f325ae5d6e is the first bad commit
>>> commit 3ed8d4285360047d78cfd3218ac4f8f325ae5d6e
>>> Author: Kristian Høgsberg <krh at bitplanet.net>
>>> Date: Tue Jul 3 20:47:04 2012 -0400
>>>
>>> GLES2: upgrade gl2ext.h to version 18099
>>>
>>> Redo this commit, and remove the inclusion of gl2ext.h
>>> from src/mapi/glapi/glapi_priv.h. The include was added in
>>> 8f3be339850ead96f9c6200db4e0db1f74e39d13 to fix a missing prototype
>>> for
>>> glDrawBuffersNV and others, but it's not possible to include both
>>> glext.h and gl2ext.h from the same file.
>>>
>>> I don't see the missing prototype here (with or without shared glapi)
>>> so I'm just removing the offending #include.
>>>
>>> Also, since we're redoing this, update to the most recent gl2ext.2.
>>>
>>> Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
>>>
>>> :040000 040000 3076bd4623a3727eb3690e39801c459ea2c08706
>>> 7754f21c4cee87eb86ccb5ac8b9cbf810d0835ff M include
>>> :040000 040000 0e602fff716a390251eacb932e7f406eb399e2e0
>>> ed4ecdd9127f4541ed0f148f3b97e6eefb6572df M src
>>>
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>>
>>
>>
> <0001-mapi-Move-GL_NV_draw_buffers-extension-to-es_EXT.xml.patch>
More information about the mesa-dev
mailing list