Dolphin, the GameCube and Wii emulator - Forums

Full Version: Metal 2 macOS (and iOS?) questions
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

tomyikin

Apple today just announced the new version of their Metal API which supposedly increases draw call throughput by a lot and adds new features. I am not a graphics developer so I do not really know if any of this is relevant to Dolphin.
What I am asking is if Dolphin would benefit on macOS from a Metal backend, particularly given that Apple does not seem inclined to update any open graphics standards...  Rolleyes

I know all the devs are busy with more cross-platform backends and there seems to be a focus on removing unmaintained backends, so I guess this question is a hypothetical.
MacOS would greatly benefit from a Metal backend, especially considering how many Intel MacOS users we have and how those users get screwed by crappy GL drivers that Apple doesn't care to update.

There's a couple issues here that I can see

1. Nobody cares to write one. We have a couple MacOS devs but neither of them care about writing a graphics backend. There was one person a month or two ago swing by mildly interested, but I dunno how much progress they made.

2. After the mess we just now recently got out of with D3D12, trying to sell everybody on merging a Metal backend would be a very, very hard sell. It would likely have one maintainer, and locked to one OS. Sound familiar? This issue could be alleviated a little bit with Stenzek's work on refactoring VideoCommon to make maintaining backends a lot simpler, but that still doesn't make the problem go away. If somebody wanted to write a metal backend, I wouldn't be surprised if it was condemned to being a fork that MacOS users would have to go download and build.
(06-06-2017, 07:19 AM)Helios Wrote: [ -> ]MacOS would greatly benefit from a Metal backend, especially considering how many Intel MacOS users we have and how those users get screwed by crappy GL drivers that Apple doesn't care to update.

There's a couple issues here that I can see

1. Nobody cares to write one. We have a couple MacOS devs but neither of them care about writing a graphics backend. There was one person a month or two ago swing by mildly interested, but I dunno how much progress they made.

2. After the mess we just now recently got out of with D3D12, trying to sell everybody on merging a Metal backend would be a very, very hard sell. It would likely have one maintainer, and locked to one OS. Sound familiar? This issue could be alleviated a little bit with Stenzek's work on refactoring VideoCommon to make maintaining backends a lot simpler, but that still doesn't make the problem go away. If somebody wanted to write a metal backend, I wouldn't be surprised if it was condemned to being a fork that MacOS users would have to go download and build.

Someone actually is writing a Metal backend for Dolphin but work on it is slow since the guy (girl?) is not experienced in writing graphics libraries.

https://forums.dolphin-emu.org/Thread-so...-questions
(06-06-2017, 06:51 AM)tomyikin Wrote: [ -> ]there seems to be a focus on removing unmaintained backends

"unmaintained" is the important word here. I'm fine with another graphic backend if it is maintained. The D3D12 backend was more a code drop with "merge it or reject it", and Stenzek was the (only) one working to get it in the current state.

So feel free to write such a backend, there is a good chance to get it merged. But it may be dropped again once you stop to care about it Wink
I would fear that metal 2 is actually a different api than metal. This would mean it's only really compatible with new, metal 2 compatible, hardware. Or did apple say anything about metal 2 and old hardware?
(06-06-2017, 09:14 PM)degasus Wrote: [ -> ]"unmaintained" is the important word here. I'm fine with another graphic backend if it is maintained. The D3D12 backend was more a code drop with "merge it or reject it", and Stenzek was the (only) one working to get it in the current state.

So feel free to write such a backend, there is a good chance to get it merged. But it may be dropped again once you stop to care about it Wink

we thought htcmeta would stick around too.
From what I could see, if your computer/iOS device can run macOS High Sierra (everything that runs Sierra) or iOS 11 (only 64 bit devices) then it supports Metal 2
(06-08-2017, 02:33 AM)KHg8m3r Wrote: [ -> ]From what I could see, if your computer/iOS device can run macOS High Sierra (everything that runs Sierra) or iOS 11 (only 64 bit devices) then it supports Metal 2

Maybe? Metal was released for iOS8, which supported iphone 4s+, but metal was only available on the 5s+ (the one with the rogue-based GPU instead of sgx). It may be that "metal2" is not available (or more limited) on some of the phones iOS11 runs on.
(06-08-2017, 07:57 AM)JonnyH Wrote: [ -> ]Maybe? Metal was released for iOS8, which supported iphone 4s+, but metal was only available on the 5s+ (the one with the rogue-based GPU instead of sgx). It may be that "metal2" is not available (or more limited) on some of the phones iOS11 runs on.

Metal was never available on 32bit iOS devices as it requires PowerVR6/7 hardware. The requirements have not changed, and Metal 2 will likely make it easier if Apple removes the hyper complicated feature levels of Metal 1.