[Mesa-dev] [PATCH 4/9] prog; add weak _mesa_error_no_memory() symbol and add it to libglsl_util

Emil Velikov emil.l.velikov at gmail.com
Thu Apr 16 03:15:05 PDT 2015


On 15 April 2015 at 23:25, Rob Clark <robdclark at gmail.com> wrote:
> On Wed, Apr 15, 2015 at 6:15 PM, Ian Romanick <idr at freedesktop.org> wrote:
>> On 04/15/2015 10:56 AM, Emil Velikov wrote:
>>> On 15 April 2015 at 18:33, Matt Turner <mattst88 at gmail.com> wrote:
>>>> On Wed, Apr 15, 2015 at 7:08 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>>>> Rather than forcing everyone to provide their own definition of the symbol
>>>>> provide a common weak one, which anyone can override if needed.
>>>>>
>>>>> This resolved the build of the standalone pipe-drivers, as it provides a
>>>>> default symbol which was missing previously.
>>>>>
>>>>> Cc: Rob Clark <robclark at freedesktop.org>
>>>>> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
>>>>> ---
>>>>>  src/Makefile.am                        |  3 ++-
>>>>>  src/glsl/SConscript                    |  2 ++
>>>>>  src/mesa/Android.libmesa_glsl_utils.mk |  6 ++++--
>>>>>  src/mesa/program/weak_errors.c         | 30 ++++++++++++++++++++++++++++++
>>>>
>>>> Is program/ really the right place for this? (maybe main/ instead?)
>>> Hmm main/ might be better indeed. If there are any recommendations
>>> about the name I'll gladly take it :)
>>
>> So... who is going to use this other than src/glsl/main.cpp and
>> src/glsl/tests?  It seems like you could just put the (non-weak) symbol
>> in a common file that only those things link.
>>
Everyone who uses NIR (and does not include mesa) - currently
drivers/freedreno/ir3_compiler, targets/xa, targets/nine,
targets/pipe-loader.

>> Is the goal just code sharing, or is the goal partitioning src/glsl from
>> src/mesa?  The former probably isn't worth the effort, and the latter
>> should have a more systematic approach... and I could get behind that.
>
> fwiw, the goal is sharing libnir (both vc4 and freedreno/ir3 use it,
> and I expect others might like to at some point).. but that currently
> brings along some glsl dependencies, which bring along the
> _mesa_error_no_memory() dependency..
>
First goal is to consolidate the four identical functions and prevent
adding a fifth one, the latter of which is required in order to fix
the build. As a long term plan (for which I will greatly appreciate
all your help) is to decouple nir (glsl) from mesa.

We can avoid the weak symbol magic, but each user will need to pick
the default implementation (C file) which is also fine with me.

-Emil


More information about the mesa-dev mailing list