[Mesa-dev] Recent master build failure (upgrade gl2ext.h / glDrawBuffersNV fallout)

Kristian Høgsberg krh at bitplanet.net
Wed Jul 11 06:50:57 PDT 2012


Thanks for testing.  Yeah, I found that I had to make clean in
src/mapi/glapi and src/mapi/gen at least to test the changes I made.
I'll push this today.

Kristian

On Wed, Jul 11, 2012 at 3:21 AM, Jeremy Huddleston Sequoia
<jeremyhu at apple.com> wrote:
> 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