Announcement

Collapse
No announcement yet.

It's Getting Close Whether The OpenGL On-Disk Shader Cache Will Happen For Mesa 17.0

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

  • #21
    What about radeonsi? And I hope it's using XDG base directory spec. Nvidia blob doesn't for example and clutters $HOME with its cache directory.

    Comment


    • #22
      Originally posted by Evil Penguin View Post
      Thing is, there are pretty popular games that do on the fly shader compilation and it affects performance significantly.
      Tell Marek which games. The discussion noted too few (Talos, L4D2, Borderlands, unreal-engine, bioshock), so he was not convinced. Or maybe he already works on it.

      Comment


      • #23
        Shadwen takes a long time to load as well. But can't applications cache shaders on their own? It's not really a job that driver should do for them.

        Comment


        • #24
          Originally posted by tomtomme View Post

          marek / AMD landed this in-memory-shader-cache for radeonSI a year ago with Mesa 11.2, see https://www.phoronix.com/scan.php?pa...er-Cache-Lands
          AFAIK, this helps already when you reload a level. But not if you restart the whole game.
          He also multithreaded this in July, but I don´t know if it landed in mesa: https://lists.freedesktop.org/archiv...ly/122986.html

          Marek also said somewhere that the on disk shader cache is not a priority, because it is mostly useful when the game engine compiles shaders during the game and not during a loading screen before the gameplay starts, which arguably does not affect many games. See discussion in the link above.
          Yep, I understand the improvements, but I disagree with the priority on the shader cache. Many games are just not playable now that would greatly benefit from an on-disk cache. In fact I'd put it as the number one thing missing right now.

          Rocket League, Unreal Tournament are unplayable from what I've seen so far. Luckily the latter is still in development.

          Comment


          • #25
            After so long reading about Mesa 13, suddenly seeing Mesa 17 confuses me...

            Comment


            • #26
              What about RadeonSI?
              Like most things in mesa getting the shared bits implemented is the hardest part. Once a decent implementation of the core parts land (even if initially i965 is the only driver wired up) it will be significantly easier to get other drivers using the cache, since they just have to wire up support for the core using the shared API. I would lay money that within a month after it lands either SI or nouvaeu gets support for shader caching.

              Comment


              • #27
                Would be nice to have it implemented this way that you can share the on-disk shaders in between radeonsi and intel. This way you can play a game on your intel and when starting it the next time with your radeon you dont have to wait until its done again for this driver

                Comment


                • #28
                  Originally posted by lumks View Post
                  Would be nice to have it implemented this way that you can share the on-disk shaders in between radeonsi and intel. This way you can play a game on your intel and when starting it the next time with your radeon you dont have to wait until its done again for this driver
                  This doesn't make sense. The whole point of cache is to store the compiled result. Each GPU has its own architecture, so compiled shaders are specific to the GPU. They are not compatible with each other. That's the whole point of shaders being in the intermediary format, and at the same time running on different hardware with different machine instructions. They are compiled for each GPU! But you can cache them if you are on the same hardware. So your idea isn't feasible.

                  Comment


                  • #29
                    Originally posted by tomtomme View Post

                    Tell Marek which games. The discussion noted too few (Talos, L4D2, Borderlands, unreal-engine, bioshock), so he was not convinced. Or maybe he already works on it.
                    I think he is aware of this (I believe he mentioned it before in a post), but is just prioritizing other issues. Plus I don't think it would be valuable for him to focus on porting it to radeonsi until the intel implementation lands in git.

                    Comment


                    • #30
                      Originally posted by LeJimster View Post
                      Yep, I understand the improvements, but I disagree with the priority on the shader cache. Many games are just not playable now that would greatly benefit from an on-disk cache. In fact I'd put it as the number one thing missing right now.
                      Remember that at the time of the discussion most of the games which today need shader cache couldn't even run because of other OpenGL work which had to be done first. In that context, I think the priority was correct (although now that the games *are* running shader cache automatically bubbles up to a higher priority).
                      Test signature

                      Comment

                      Working...
                      X