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

Kristian Høgsberg krh at bitplanet.net
Tue Jul 10 20:19:34 PDT 2012

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.


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-mapi-Move-GL_NV_draw_buffers-extension-to-es_EXT.xml.patch
Type: application/octet-stream
Size: 6811 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20120710/c852a013/attachment-0001.obj>

More information about the mesa-dev mailing list