Announcement

Collapse
No announcement yet.

Mesa GLSL IR Gets Single Static Assignment Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mesa GLSL IR Gets Single Static Assignment Support

    Phoronix: Mesa GLSL IR Gets Single Static Assignment Support

    Connor Abbott, the high school student that has been working extensively on the Lima ARM reverse-engineered graphics driver, is now working on Single Static Assignment (SSA) support inside Mesa...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    If developers are writing the same set of optimizations across multiple driver back-ends, and this work is already done in other compilers (that may not get invoked within the context of compiling shaders for a back-end), it makes sense to do those optimizations at a higher level once for all architectures, instead of rewriting the same code for each driver (and forgetting to do them for some drivers).

    As long as the optimizations are safe and beneficial to run for all architectures, why wouldn't we. Now the question is how many optimizations can be added that aren't already performed at the same level, and how much code complexity could be reduced.

    Comment


    • #3
      Originally posted by Veerappan View Post
      If developers are writing the same set of optimizations across multiple driver back-ends, and this work is already done in other compilers (that may not get invoked within the context of compiling shaders for a back-end), it makes sense to do those optimizations at a higher level once for all architectures, instead of rewriting the same code for each driver (and forgetting to do them for some drivers).

      As long as the optimizations are safe and beneficial to run for all architectures, why wouldn't we. Now the question is how many optimizations can be added that aren't already performed at the same level, and how much code complexity could be reduced.
      The driver back-end optimizations will probably largely have to stay around, since things like OpenCL don't use GLSL IR. Unless someone does the SSA at the TGSI level, or eventually moves the state trackers to use GLSL IR directly instead of TGSI.

      Comment


      • #4
        Originally posted by Veerappan View Post
        If developers are writing the same set of optimizations across multiple driver back-ends, and this work is already done in other compilers (that may not get invoked within the context of compiling shaders for a back-end), it makes sense to do those optimizations at a higher level once for all architectures, instead of rewriting the same code for each driver (and forgetting to do them for some drivers).

        As long as the optimizations are safe and beneficial to run for all architectures, why wouldn't we. Now the question is how many optimizations can be added that aren't already performed at the same level, and how much code complexity could be reduced.
        getting the shader program into SSA form is something that is useful to everyone (or at least would be if this didn't get lost at the GLSL IR -> TGSI step)

        Comment

        Working...
        X