Announcement

Collapse
No announcement yet.

Khronos Talks Up The New Vulkan Memory Model

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

  • Khronos Talks Up The New Vulkan Memory Model

    Phoronix: Khronos Talks Up The New Vulkan Memory Model

    Released this past weekend was Vulkan 1.1.84 and one of the newly introduced extensions was..

    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
    Let me guess: translation layers to other APIs (Metal, DX12) will never be able to support it, so it will forever remain a great thing that you can't actually use.

    Comment


    • #3
      Originally posted by Shnatsel View Post
      Let me guess: translation layers to other APIs (Metal, DX12) will never be able to support it, so it will forever remain a great thing that you can't actually use.
      Actually Vulkan works on Windows and Mac is not really interesting for the most game developers.

      Comment


      • #4
        Originally posted by Shnatsel View Post
        Let me guess: translation layers to other APIs (Metal, DX12) will never be able to support it, so it will forever remain a great thing that you can't actually use.
        I don't think, this will be a problem. After all, they take DX and implement it using Vulkan. This works and any further additions to Vulkan should not change it. It would be more difficult, if it was the other way around like MoltenVK (Vulkan implemented on Metal). If Vulkan now introduces something that cannot be done in Metal, MoltenVK won't be able to support it.

        Originally posted by Steffo View Post

        Actually Vulkan works on Windows and Mac is not really interesting for the most game developers.
        Mac gaming is not important but it is on iOS for sure.

        Comment


        • #5
          Originally posted by GruenSein View Post

          I don't think, this will be a problem. After all, they take DX and implement it using Vulkan. This works and any further additions to Vulkan should not change it. It would be more difficult, if it was the other way around like MoltenVK (Vulkan implemented on Metal). If Vulkan now introduces something that cannot be done in Metal, MoltenVK won't be able to support it.



          Mac gaming is not important but it is on iOS for sure.
          Pretty sure he was referring to the other way around. I.e. the Vulkan Portability Initiative.

          If you're writing a Vulkan app for Windows 10 Store or Xbox it's going to have to be translated to Direct3D 12 and the SpirV cross-compiled into HLSL meaning that you can't use any of the benefits from this extension if you want your code translated to D3D12.

          Comment


          • #6
            Originally posted by Sniperfox47 View Post

            Pretty sure he was referring to the other way around. I.e. the Vulkan Portability Initiative.

            If you're writing a Vulkan app for Windows 10 Store or Xbox it's going to have to be translated to Direct3D 12 and the SpirV cross-compiled into HLSL meaning that you can't use any of the benefits from this extension if you want your code translated to D3D12.
            Is there any way to actually translate Vulkan to DX atm? Also, you are assuming that the memory model doesn't map to DX or Metal or whatever. This is nothing but speculation for now. But I agree: If it turns out that this is not possible, it might discourage its use in cross-platform projects.

            Comment


            • #7
              Originally posted by GruenSein View Post

              Is there any way to actually translate Vulkan to DX atm? Also, you are assuming that the memory model doesn't map to DX or Metal or whatever. This is nothing but speculation for now. But I agree: If it turns out that this is not possible, it might discourage its use in cross-platform projects.
              The Vulkan Portability Initiative at Kronos is the taskforce currently working on the SPIR-V to HLSL and MSL cross-compilers and establishing the subset of Vulkan that effectively translates to both Metal and Direct3D 12.

              I do know that an early version of the HLSL compiler that was mostly proof of concept by some developers at Google is in the wild, although I haven't followed it. I believe they also were going to use the SPIR-V to MSL compiler from MoltenVK as a basis for the Metal translation but I may be mistaken. To the best of my knowledge nothing else is currently released at the moment.

              The Vulkan Portability Initiative is strictly a subset of Vulkan that maps cleanly to other languages. A formal memory model like this can't map to a different kind of shader that has no concept of formal memory management, where the drivers and hardware may clobber any of the structure you've imposed in the initial SPIR-V compiler.

              So no, this has absolutely no benefit in translating Vulkan to Metal or Direct3D.

              Going the way that you initially mentioned though (DXVK, VKD3D, ANGLE, etc.) this has pretty big implications as far as memory sharing and implimenting features from other languages that may not map totally cleanly to Vulkan.
              Last edited by Sniperfox47; 13 September 2018, 04:03 PM.

              Comment


              • #8
                Originally posted by GruenSein View Post

                Is there any way to actually translate Vulkan to DX atm? Also, you are assuming that the memory model doesn't map to DX or Metal or whatever. This is nothing but speculation for now. But I agree: If it turns out that this is not possible, it might discourage its use in cross-platform projects.
                For shader translation there is SPIRV-Cross. For API translation there is gfx-rs portability which implements Vulkan on top of Metal and Direct3D.

                Comment


                • #9
                  Originally posted by Szzz View Post

                  For shader translation there is SPIRV-Cross. For API translation there is gfx-rs portability which implements Vulkan on top of Metal and Direct3D.
                  Thanks for the links. I didn't realize that the initiative had anything public yet, look forward to checking it out.

                  Comment


                  • #10
                    I thought MoltenVK is also part of the portability initiative, now that it's open-source?

                    gfx-rs is very cool but still rather immature. The Metal backend can run Dota 2, but the DX12 backend is highly experimental and does not have any real-world demos running on it yet.

                    Comment

                    Working...
                    X