[Mesa-dev] [PATCH v4 (part2) 53/59] glapi: add ARB_shader_storage_block_buffer_object

Ilia Mirkin imirkin at alum.mit.edu
Mon Aug 24 22:53:56 PDT 2015

On Tue, Aug 25, 2015 at 1:42 AM, Samuel Iglesias Gonsálvez
<siglesias at igalia.com> wrote:
> This is a new function defined by ARB_shader_storage_buffer_object
> specification [0].
> I have a test program that uses that function. If I remove the
> static_data.py definition, I hit this linker error:
> <file>: undefined reference to `glShaderStorageBlockBinding'

Hrm, I was about to tell you that libGL.so isn't supposed to expose
any of those, but...

$ nm -D /usr/lib/libGL.so | grep TexStorage
000000000006b760 T glTexStorage1D
000000000006b780 T glTexStorage2D
000000000006ba00 T glTexStorage2DMultisample
000000000006b7a0 T glTexStorage3D
000000000006ba20 T glTexStorage3DMultisample

$ nm -D /usr/lib/opengl/nvidia/lib/libGL.so | grep TexStorage
00000000000e0a80 T glTexStorage1D
00000000000f2f60 T glTexStorage1DEXT
00000000000e0ac0 T glTexStorage2D
00000000000f2fa0 T glTexStorage2DEXT
00000000000e1440 T glTexStorage2DMultisample
00000000000e0b00 T glTexStorage3D
00000000000f2fe0 T glTexStorage3DEXT
00000000000e1480 T glTexStorage3DMultisample
00000000000f56e0 T glTexStorage3DMultisampleOES

wtf? I thought the whole point of Ian's thing was to not export that
stuff that we weren't supposed to be exporting. [And yeah, I also
tried it on a libGL built from master... same thing.] Is it because we
had been messing up for so long and he didn't want to break the ABI?

Either way, your application needs to get its
glShaderStorageBlockBinding pointer from *GetProcAddress...


More information about the mesa-dev mailing list