[Mesa-dev] glapi dispatch table isn't built correctly with --shared-glapi

2012-02-01 Thread Jon TURNEY

This is with git master, but the same issue exists since at least mesa-7.11.2.

./configure --enable-shared-glapi --disable-driglx-direct --with-driver=dri
--with-dri-drivers=swrast --with-gallium-drivers=swrast

$ gdb --args ./glean -r foo -o -t vertProg1 --quick
...
(gdb) b __indirect_glProgramParameters4fvNV
Function __indirect_glProgramParameters4fvNV not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (__indirect_glProgramParameters4fvNV) pending.
(gdb) r
Starting program: /opt/jhbuild/git/glean/bin/glean -r foo -o -t vertProg1 
--quick
Breakpoint 1, __indirect_glProgramParameters4fvNV (target=1, index=135353784,
num=20, params=0xb11c) at indirect.c:9306
9306struct glx_context *const gc = __glXGetCurrentContext();
(gdb) bt
#0  __indirect_glProgramParameters4fvNV (target=1, index=135353784, num=20,
params=0xb11c) at indirect.c:9306
#1  0x080b719b in GLEAN::VertexProgramTest::setup (this=0x8115520) at
tvertprog1.cpp:831
#2  0x080b82e3 in GLEAN::VertexProgramTest::runOne (this=0x8115520, r=...,
w=...) at tvertprog1.cpp:1112
#3  0x08059885 in GLEAN::BaseTestGLEAN::MultiTestResult::run
(this=0x8115520, environment=...) at tbase.h:317
#4  0x08053ec0 in main (argc=7, argv=0xb3d4) at main.cpp:140
(gdb) frame 1
#1  0x080b719b in GLEAN::VertexProgramTest::setup (this=0x8115520) at
tvertprog1.cpp:831
831 glGenProgramsARB_func(1, progID);

Note that glean is calling glGenPrograms, but we are ending up in
glProgramParameters4fvNV.

It seems the indirect dispatch table isn't being built correctly.  The
dispatch table layouts in glapi_map_tmpi.h and glapitable.h are inconsistent
when buiding shared glapi, as shared-glapi/glapi_mapi_tmp.h is generated from
gl_and_es_API.xml, whereas glapitable.h is generated from gl_API.xml

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] glapi dispatch table isn't built correctly with --shared-glapi

2012-02-01 Thread Matt Turner
On Wed, Feb 1, 2012 at 9:41 AM, Jon TURNEY jon.tur...@dronecode.org.uk wrote:

 This is with git master, but the same issue exists since at least mesa-7.11.2.

 ./configure --enable-shared-glapi --disable-driglx-direct --with-driver=dri
 --with-dri-drivers=swrast --with-gallium-drivers=swrast

 $ gdb --args ./glean -r foo -o -t vertProg1 --quick
 ...
 (gdb) b __indirect_glProgramParameters4fvNV
 Function __indirect_glProgramParameters4fvNV not defined.
 Make breakpoint pending on future shared library load? (y or [n]) y
 Breakpoint 1 (__indirect_glProgramParameters4fvNV) pending.
 (gdb) r
 Starting program: /opt/jhbuild/git/glean/bin/glean -r foo -o -t vertProg1 
 --quick
 Breakpoint 1, __indirect_glProgramParameters4fvNV (target=1, index=135353784,
 num=20, params=0xb11c) at indirect.c:9306
 9306        struct glx_context *const gc = __glXGetCurrentContext();
 (gdb) bt
 #0  __indirect_glProgramParameters4fvNV (target=1, index=135353784, num=20,
 params=0xb11c) at indirect.c:9306
 #1  0x080b719b in GLEAN::VertexProgramTest::setup (this=0x8115520) at
 tvertprog1.cpp:831
 #2  0x080b82e3 in GLEAN::VertexProgramTest::runOne (this=0x8115520, r=...,
 w=...) at tvertprog1.cpp:1112
 #3  0x08059885 in GLEAN::BaseTestGLEAN::MultiTestResult::run
 (this=0x8115520, environment=...) at tbase.h:317
 #4  0x08053ec0 in main (argc=7, argv=0xb3d4) at main.cpp:140
 (gdb) frame 1
 #1  0x080b719b in GLEAN::VertexProgramTest::setup (this=0x8115520) at
 tvertprog1.cpp:831
 831             glGenProgramsARB_func(1, progID);

 Note that glean is calling glGenPrograms, but we are ending up in
 glProgramParameters4fvNV.

 It seems the indirect dispatch table isn't being built correctly.  The
 dispatch table layouts in glapi_map_tmpi.h and glapitable.h are inconsistent
 when buiding shared glapi, as shared-glapi/glapi_mapi_tmp.h is generated from
 gl_and_es_API.xml, whereas glapitable.h is generated from gl_API.xml

Do you think this is related to
http://www.mail-archive.com/mesa-dev@lists.freedesktop.org/msg17627.html
?

Thanks,
Matt
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] glapi dispatch table isn't built correctly with --shared-glapi

2012-02-01 Thread Jon TURNEY
On 01/02/2012 15:59, Matt Turner wrote:
 On Wed, Feb 1, 2012 at 9:41 AM, Jon TURNEY wrote:
 Note that glean is calling glGenPrograms, but we are ending up in
 glProgramParameters4fvNV.

 It seems the indirect dispatch table isn't being built correctly.  The
 dispatch table layouts in glapi_map_tmpi.h and glapitable.h are inconsistent
 when buiding shared glapi, as shared-glapi/glapi_mapi_tmp.h is generated from
 gl_and_es_API.xml, whereas glapitable.h is generated from gl_API.xml
 
 Do you think this is related to
 http://www.mail-archive.com/mesa-dev@lists.freedesktop.org/msg17627.html
 ?

The part of that thread that says...

On 24/01/2012 01:59, Brian Paul wrote:
 However, any program that uses extension functions acts peculiar and dies:

... I would guess so, yes.

Turning --shared-glapi always on just made it more obvious it was broken :S
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev