Announcement

Collapse
No announcement yet.

MoltenVK Continues Improving The Vulkan Experience On macOS/iOS

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

  • MoltenVK Continues Improving The Vulkan Experience On macOS/iOS

    Phoronix: MoltenVK Continues Improving The Vulkan Experience On macOS/iOS

    A new release of MoltenVK is now available that is updated against Vulkan 1.1.121 for allowing much of this graphics/compute API to function under Apple's macOS and iOS platforms by remapping the Vulkan calls to Metal...

    http://www.phoronix.com/scan.php?pag...nues-macOS-VLK

  • #2
    I don't know why Apple insists with their proprietary Metal API which seems pretty redundant, instead of just using the industry standard Vulkan API.

    Comment


    • #3
      Originally posted by uid313 View Post
      I don't know why Apple insists with their proprietary Metal API which seems pretty redundant, instead of just using the industry standard Vulkan API.
      Same reason as why Microsoft insists with their proprietary DirectX 12 API.

      Comment


      • #4
        Originally posted by AsciiWolf View Post

        Same reason as why Microsoft insists with their proprietary DirectX 12 API.
        Well DirectX is is more than just graphics, its for network, audio and input too, so you can't directly compare it against Vulkan, then you would have to compare Direct3D 12 against Vulkan.
        But at least Direct3D 12 have gained traction with many games using it. I don't know if anything uses Metal. Metal seems more redundant than DirectX does.

        Comment


        • #5
          Originally posted by uid313 View Post
          ...I don't know if anything uses Metal. Metal seems more redundant than DirectX does.
          World of Warcraft does natively, and FFXIV does also via some translation thing (their macOS port is through Crossover).

          Comment


          • #6
            Originally posted by Espionage724 View Post
            and FFXIV does also via some translation thing (their macOS port is through Crossover).
            Yeah, FFXIV on Mac is basically the Windows version running on wine+dxvk+MoltenVK.

            Elder Scrolls Online also uses Vulkan through MoltenVK on Mac, but I think their client is a bit more "native". Was horrendously broken when it launched.

            Originally posted by uid313 View Post
            Well DirectX is is more than just graphics
            I don't understand why people keep bringing this up. There is zero interaction between Direct3D, XAudio2, XInput and the other DirectX APIs. Literally none.

            It's a bunch of separate APIs that Microsoft just happened to invent a common name for.

            Comment


            • #7
              Originally posted by AsciiWolf View Post
              Same reason as why Microsoft insists with their proprietary DirectX 12 API.
              But here's the difference:
              MS could get away with it, not only because of their ~30x larger marketshare in PCs, but also how DX is used in Xbox.
              Metal is kinda nice in that it works on both Mac and iOS, but, the userbases for both don't seem to be increasing. Add to the fact that Apple and Nvidia aren't exactly on good terms, which hinders the adoption of Metal. So - Apple has a lot less leverage than they think; definitely less than MS.

              So - I think it's actually a pretty good question to ask why Apple keeps pushing for something that has a low probability of success.

              Comment


              • #8
                Originally posted by uid313 View Post
                I don't know why Apple insists with their proprietary Metal API which seems pretty redundant, instead of just using the industry standard Vulkan API.
                Vendor lock-in.

                Comment


                • #9
                  Originally posted by uid313 View Post
                  I don't know why Apple insists with their proprietary Metal API which seems pretty redundant, instead of just using the industry standard Vulkan API.
                  Metal

                  Render advanced 3D graphics and perform data-parallel computations using graphics processors.



                  Overview

                  Graphics processors (GPUs) are designed to quickly render graphics and perform data-parallel calculations. Use the Metal framework when you need to communicate directly with the GPUs available on a device. Apps that render complex scenes or that perform advanced scientific calculations can use this power to achieve maximum performance. Such apps include:
                  • Games that render sophisticated 3D environments
                  • Video processing apps, like Final Cut Pro
                  • Data-crunching apps, such as those used to perform scientific research
                  Metal works hand-in-hand with other frameworks that supplement its capability. Use MetalKit to simplify the task of getting your Metal content onscreen. Use Metal Performance Shaders to implement custom rendering functions or to take advantage of a large library of existing functions.
                  Many high level Apple frameworks are built on top of Metal to take advantage of its performance, including Core Image, SpriteKit, and SceneKit. Using one of these high-level frameworks shields you from the details of GPU programming, but writing custom Metal code enables you to achieve the highest level of performance.


                  Metal Performance Shaders

                  Optimize graphics and compute performance with kernels that are fine-tuned for the unique characteristics of each Metal GPU family.



                  Overview

                  The Metal Performance Shaders framework contains a collection of highly optimized compute and graphics shaders that are designed to integrate easily and efficiently into your Metal app. These data-parallel primitives are specially tuned to take advantage of the unique hardware characteristics of each GPU family to ensure optimal performance.
                  Apps adopting the Metal Performance Shaders framework achieve great performance without needing to create and maintain hand-written shaders for each GPU family. Metal Performance Shaders can be used along with your app’s existing Metal resources (such as the MTLCommandBuffer, MTLTexture, and MTLBuffer objects) and shaders.
                  The Metal Performance Shaders framework supports the following functionality:
                  • Apply high-performance filters to, and extract statistical and histogram data from images.
                  • Implement and run neural networks for machine learning training and inference.
                  • Solve systems of equations, factorize matrices and multiply matrices and vectors.
                  • Accelerate ray tracing with high-performance ray-geometry intersection testing.


                  Comment


                  • #10
                    Originally posted by schmidtbag View Post
                    But here's the difference:
                    MS could get away with it, not only because of their ~30x larger marketshare in PCs, but also how DX is used in Xbox.
                    Metal is kinda nice in that it works on both Mac and iOS, but, the userbases for both don't seem to be increasing. Add to the fact that Apple and Nvidia aren't exactly on good terms, which hinders the adoption of Metal. So - Apple has a lot less leverage than they think; definitely less than MS.

                    So - I think it's actually a pretty good question to ask why Apple keeps pushing for something that has a low probability of success.
                    Mac User base is over 100 million active users. The iOS user base is over 1 billion.

                    Comment

                    Working...
                    X