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

Ian Romanick idr at freedesktop.org
Tue Aug 25 01:29:28 PDT 2015

On 08/24/2015 10:53 PM, Ilia Mirkin wrote:
> 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...

It's not.

> $ 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?

Right.  When I made changes in this area a few months ago I was just
trying to prevent additional functions from leaking out.

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

Correct.  If the test program is in piglit, the piglit infrastructure
should "just work."  Otherwise I'd suggest libepoxy or similar.

>   -ilia
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

More information about the mesa-dev mailing list