Announcement

Collapse
No announcement yet.

AMD's Catalyst Working On A GLSL Shader Cache

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

  • #11
    Originally posted by uid313 View Post
    Maybe they should follow the XDG specification and put it somewhere under ~/.cache/
    Or.../var/cache, maybe? XDG would be preferable, though, I guess.

    Comment


    • #12
      Originally posted by Ancurio View Post
      Something as obvious as shader caching is only being done now??

      Also,


      the FOSS driver will never beat the binary blob in performance, because FOSS tries to be "fair" in that it's not optimized for specific games and usages, but rather tries to get the best average performance in all use cases. Catalyst (as well as Nvidia's, or any competitive GPU driver) has specific "profiles" for high end games that tune the driver behavior specifically to this game's behavior (ie. a compilation of game specific hacks so to speak). This could mean something as simple as optimized buffer allocations, or as crazy as shutting down entire parts of the pipeline if they're not used by the game.
      In theory there is nothing in Mesa/Gallium/LLVM that would make such "profiles" impossible.

      Especially hand written shaders SHOULD be reusable between Catalyst and radeon drivers.

      Driver quirks for specific apps? Already have them. But Mesa folks would be against adding app specific bugs to Gallium/Mesa for the sake of app compatibility.

      Driver usage patterns? Can have them. No problem what-so-ever apart from that this would multiply some work for driver team, and nobody seam to have the time right now. (But all drivers are catching up to Win drivers, so devs should have more and more time for this kind of tweaking)


      So only hard part would be adding special code patch that introduce bugs. Everything else from "profiles" is doable.

      Comment


      • #13
        Originally posted by Nobu View Post
        Or.../var/cache, maybe? XDG would be preferable, though, I guess.
        They're caching per-user (how? why?) in the home directory: "~/.AMD/GLCache".
        I'd have thought a system-wide cache in /var would make more sense, but apparently not.

        Comment


        • #14
          Originally posted by FLHerne View Post
          They're caching per-user (how? why?) in the home directory: "~/.AMD/GLCache".
          I'd have thought a system-wide cache in /var would make more sense, but apparently not.
          Which parts of the userland graphics driver would you prefer to run as root to make this possible?

          Comment


          • #15
            You don't need to be root to write in shared directories. It's enough for that dir to be writable by a group the user is part of. Gentoo uses the group "games" for maintaining a global hiscore board. And this apparently harmless use led to security holes: https://forums.gentoo.org/viewtopic-...5-start-0.html. Now imagine what security nightmare would be run GPU shaders placed in that common folder by other users.

            Comment


            • #16
              Originally posted by Ansla View Post
              You don't need to be root to write in shared directories. It's enough for that dir to be writable by a group the user is part of. Gentoo uses the group "games" for maintaining a global hiscore board. And this apparently harmless use led to security holes: https://forums.gentoo.org/viewtopic-...5-start-0.html. Now imagine what security nightmare would be run GPU shaders placed in that common folder by other users.
              It could be a sub-directory (/var/cache/xxxx-<user>, for example) with access rights set for the user who created it, but then I guess you might as well use '~/.cache'. Not really worth arguing over.

              Comment


              • #17
                It would be good though if these paths were configurable by distro imo

                Comment

                Working...
                X