[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.


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