Metal 2 API for macOS and iOS

Scott_Arm

Legend
No real details yet that I've seen, but supposedly "10x drawcall throughput" or shit like that. Big VR push. External GPU support with thunderbolt 3.

https://developer.apple.com/metal/

Some details are up.

GPU-driven Pipelines
Metal 2 includes features that empower the GPU to take control over key aspects of the graphics and compute pipelines. Essential tasks, such as the assigning of resources to shaders, can now be efficiently driven by the GPU instead of waiting on the CPU. Important rendering details, such as the order that low-level drawing is performed, can be specified on-the-fly by the GPU, opening up new efficiencies in advanced rendering engines.
 
Last edited:
New features for MacOS, iOS, TvOS:
https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf

Looks like MacOS 10.13 gpufamily1_v3 brings the following to MacOS:

Metal performance shaders (from iOS)
Linear textures
Resource heaps
array of textures
array of samplers
wide color pixel format
indirect argument buffers
programmable sample positions
uniform type
raster order groups
non-uniform threadgroup size
multiple viewports
device notifications
BGR10A2Unorm (Extended range and wide color pixel formats)

Now the question is which gpus fall under gpufamily1_v3.

@sebbbi
 
Last edited:
All GPUs that supported Metal previously (Intel HD 4000+, AMD GCN, nvidia 600+? or 400+? I forget) are part of GPU Family 1. V3 is basically the software API version.

That makes sense. Then they must have a way of checking individual features supported by the gpu.
 
Updated the thread title to include that Metal 2 also supports iOS (where the API originated).
 
New features:
https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf

Looks like MacOS 10.13 gpufamily1_v3 brings the following to MacOS:

Metal performance shaders (from iOS)
Linear textures
Resource heaps
array of textures
array of samplers
wide color pixel format
indirect argument buffers
programmable sample positions
uniform type
raster order groups
non-uniform threadgroup size
multiple viewports
device notifications
BGR10A2Unorm (Extended range and wide color pixel formats)

Now the question is which gpus fall under gpufamily1_v3.

@sebbbi
Great features additions to MacOS. Many of these have already been available on iOS. For example: https://developer.apple.com/library...al/MTLBestPracticesGuide/IndirectBuffers.html.
 
Doesn't seem like as many features were added to iOS, though it is more complicated with more families of GPUs. The following were added to family3, which I guess would be the newest hardware:

array of samplers
dual-source blending
indirect argument buffers
programmable sample positions
uniform type

It does seem like this Metal 2 release is playing a lot of catch up on the MacOS side, which is good. It seems like iOS and MacOS are now mostly in line.
 
Last edited:
According to Metal Feature Sets.

The Gpufamily1 supports 'indirect argument buffer', but no support for Indirect Draw?
 
Not strictly about graphics but they really talked up ML at the keynote.

Now supposedly the best ML technology requires Nvidia GPUs and code yet none of Apples products ship with Nvidia card.

So access Nvidia Cards through eGPU?
 
will apple ever use cuda? nope, so what's use of nv technology for apple. facebook and google use extensively cuda and cudnn.
 
You can already use nvidia gpus as external in macos. People have been using them for years. I expect them to be fully supported in high sierra. There are even official cuda drivers for macos available from nvidia.
 
Last edited:
I saw a screenshot of a Radeon Pro 560 reporting support of raster order group in a playground. This is interesting consider the fact that Polaris does not support DX12_1 ROV at the moment.
 
does anyone know whats games on iOS that using tesselation and why no update until know on GFXBench Metal benchmark car chase test For iOS?
 
Back
Top