Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: Overhauling Mesa's GLSL Compiler Performance

  1. #1
    Join Date
    Jan 2007
    Posts
    14,625

    Default Overhauling Mesa's GLSL Compiler Performance

    Phoronix: Overhauling Mesa's GLSL Compiler Performance

    We like hearing about performance improvements for Linux and also Linux graphics in general, but when there's something about performance improvements for Linux graphics, it certainly gets us excited and garners our interest. This time we get to report on work being done to Mesa's GLSL compiler, which is now running drastically faster in a branch of Mesa that will be published in about a week. Intel's Ian Romanick has been working on optimizing GLSL IR and reworking the assembly shader (among other things) after ditching his efforts to write a new GLSL compiler, but VMware's Michal Krol has been rewriting the GLSL compiler pre-processor for Mesa as a step towards improving the GL Shading Language support and making it easier to strap in a new syntax parser in the future. Once Michal wrote the new pre-processor, the existing syntax parser ended up being a huge bottleneck, and while Ian was going to be writing a new syntax parser, Michal ended up writing a new simple one...

    http://www.phoronix.com/vr.php?view=NzcwMA

  2. #2
    Join Date
    Apr 2007
    Location
    Bulgaria
    Posts
    269

    Default

    Is this the long awaited 3D improvement or not?

  3. #3
    Join Date
    Sep 2006
    Location
    PL
    Posts
    910

    Default

    i wonder how does it translate to normal usage numbers.

  4. #4
    Join Date
    Nov 2008
    Posts
    766

    Default

    With these improvements, shaders can be compiled faster, they do not magically compile into faster code. As most shaders are precompiled when the scene loads, you could expect games load times to go down, but usually the rendering speed should stay the same.

  5. #5
    Join Date
    Apr 2007
    Location
    Bulgaria
    Posts
    269

    Default

    boring... (sorry)

  6. #6
    Join Date
    Jun 2006
    Location
    Portugal
    Posts
    525

    Default

    Quote Originally Posted by rohcQaH View Post
    With these improvements, shaders can be compiled faster, they do not magically compile into faster code. As most shaders are precompiled when the scene loads, you could expect games load times to go down, but usually the rendering speed should stay the same.
    Yeah, I too thought that the speedups were related to output shader code and not to the compilers itself, until I read the ml.

    So yes, interesting, but not really groundbreaking.

  7. #7
    Join Date
    Aug 2009
    Posts
    2,264

    Default

    Is this JIT compiling? If so the the FPS would skyrocket...

  8. #8
    Join Date
    Oct 2008
    Location
    Sweden
    Posts
    983

    Default

    It's still an impressive and useful improvement, some games just took too long to load, so you could tell something wasn't quite right...

  9. #9
    Join Date
    May 2008
    Location
    Germany/NRW
    Posts
    510

    Default

    So what's this glsl-compiler actually good for?
    AFAIK there's no mesa driver which actually supports glsl anyway? Except maybe the latest intels.
    I still don't understand what is the missing piece for glsl on radeon-cards. Gallium3d seems to be coming along quite well, but from what I gathered in the last gallium3d-threads it's not actually going to give us glsl automagically.

  10. #10
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,434

    Default

    I believe the missing piece for GLSL is driver support for some additional Mesa/TGSI IL instructions including things like flow control, plus the usual heap of testing and tweaking. The Mesa compiler processes application shader code into IL and passes that to the driver, which then compiles it again into native hardware instructions.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •