Announcement

Collapse
No announcement yet.

DXVK Now Has An On-Disk Shader Cache

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

  • DXVK Now Has An On-Disk Shader Cache

    Phoronix: DXVK Now Has An On-Disk Shader Cache

    DXVK, the exciting project implementing the Direct3D 11 API over Vulkan for Wine gamers, now has an on-disk shader cache...

    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
    Implements on-disk pipeline caching. Never compiled or tested it. People on discord say it works.

    You said Discord?!?!?

    Done , merged.

    Comment


    • #3
      Leopard I was communicating with the one who made the patch on said Discord, tested it, did some work on it myself and then merged it. Slight difference, but only slight

      Anyway, this really only helps in case your driver doesn't store its own on-disk pipeline cache already, like RADV does, but it's a good thing nonetheless.
      Last edited by VikingGe; 21 March 2018, 06:43 AM.

      Comment


      • #4
        Originally posted by VikingGe View Post
        Leopard I was communicating with the one who made the patch on said Discord, tested it, did some work on it myself and then merged it. Slight difference, but only slight

        Anyway, this really only helps in case your driver doesn't store its own on-disk pipeline cache already, like RADV does, but it's a good thing nonetheless.
        Of course , i was joking. I saw your changes on that.

        Hope this can eliminate Nvidia stuttering.

        Comment


        • #5
          Originally posted by VikingGe View Post
          Leopard I was communicating with the one who made the patch on said Discord, tested it, did some work on it myself and then merged it. Slight difference, but only slight

          Anyway, this really only helps in case your driver doesn't store its own on-disk pipeline cache already, like RADV does, but it's a good thing nonetheless.
          Doesn't it help with storing the translated shaders? RADV only stores vulkan shaders, what about HLSL to Vulkan stuff? I think it helps...

          Comment


          • #6
            TemplarGR Here's the thing: It doesn't store the translated DXBC shaders (not HLSL, that's just the source language). Won't help reduce stutter in most games because in D3D11, shaders are typically compiled asynchronously and the DXBC->SPIR-V translation is quite fast already.
            Last edited by VikingGe; 21 March 2018, 06:59 AM.

            Comment


            • #7
              It's fast, but wouldn't it depend on their number? If you are swamped with a huge amount, it will cause a stutter.

              Comment


              • #8
                shmerl only if the game starts compiling shaders on the fly and actively waits for it to finish. Most games don't do that.

                Another issue is that the SPIR-V shaders are huge - my Vulkan pipeline cache for Witcher 3 has 3.5MB, the SPIR-V shaders for that game can easily exceed 100MB. Caching that would be unreasonable, and compressing it wouldn't really offer any benefits over doing the translation on the fly.
                Last edited by VikingGe; 21 March 2018, 08:47 AM.

                Comment


                • #9
                  Originally posted by VikingGe View Post
                  Another issue is that the SPIR-V shaders are huge - my Vulkan pipeline cache for Witcher 3 has 3.5MB, the SPIR-V shaders for that game can easily exceed 100MB. Caching that would be unreasonable, and compressing it wouldn't really offer any benefits over doing the translation on the fly.
                  But radv caches it somewhere? I only found $HOME/.cache/radv_builtin_shaders which isn't that big.

                  Comment


                  • #10
                    RADV doesn't cache SPIR-V shaders (why would it, the application sends them to the driver anyway), it caches compiled Vulkan pipelines (which is exactly what DXVK does).
                    Last edited by VikingGe; 21 March 2018, 10:18 AM.

                    Comment

                    Working...
                    X