[Bug 99154] Link time error when using multiple builtin functions

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Dec 19 21:26:25 UTC 2016


            Bug ID: 99154
           Summary: Link time error when using multiple builtin functions
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: glsl-compiler
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: niels_ole at salscheider-online.de
        QA Contact: intel-3d-bugs at lists.freedesktop.org

Created attachment 128570
  --> https://bugs.freedesktop.org/attachment.cgi?id=128570&action=edit
Simple test case

When using multiple builtin functions, linking of a shader can fail if
temporary variables of the GLSL compiler collide.

builtin_builder::binop creates variables named "x" and "y" for the parameters
of builtin functions. Later, ir_call::generate_inline inlines the call to the
builtins. It clones the variables (without changing the name) and assigns the
function inputs to them.

This can cause a collision of variable names, e. g. when using multiple builtin
functions with parameters of different types. The attached test case can be
used to reproduce the problem.

I can work around the problem by adding a sequence number and possibly a prefix
to the variable names but I am not sure if that is the correct solution.

Thanks to imirkin and robclark for helping me to figure this out on IRC.

You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20161219/a944a088/attachment.html>

More information about the intel-3d-bugs mailing list