After expanding Swift’s overall functionality with 2, Swift 3 marks a further divergence between it and Objective-C.
The Swift programming language is also receiving an update with Swift 3. This includes a number of new features in multiple APIs, including color conversion functions and new FP16 pixel formats for Metal. But overall Apple says they’re bringing substantially improved wide gamut support to Metal, Core Image, Core Graphics, and other frameworks.
The company already ships a Mac with a DCI-P3 display, the 2015 5K iMac, so it’s not immediately clear what these changes fully entail. Though outside the scope of this article, tessellation is also being brought to the latest generation iOS devices under iOS 10, so developers should be able to hit the ground running with tessellation.Īpple is also expanding macOS’s wide color gamut support. However Apple’s documentation confirms that this is a traditional tessellation pipeline, using a combination of a fixed function tessellator and compute-based hull/domain/vertex shading. Notably, Apple calls Metal’s tessellation feature a “flexible compute-based approach” which is a bit confusing since it can be construed multiple ways. Of particular interest here is geometry tessellation, which has been present in all Macs since 2012, but has not been exposed in Metal until now. A new GPU family is being introduced (OSX_GPUFamily1_v2), which enables a bunch of new features on the latest macOS. On the API side of matters, Apple’s Metal graphics API is receiving a major update with Sierra. Overall macOS Sierra is bringing features that will impact developers and end-users alike. Less visible to users but equally important are the under the hood changes coming to macOS, which Apple ever so briefly mentioned in their presentation and posted more about on their developer website. Local processing allows them to play up the privacy aspects – this information never leaves the local system – but I think it will also be interesting if this makes Macs with faster GPUs more relevant for desktop (non-gaming/non-pro) workloads, as currently macOS itself isn’t pushing the latest generation GPUs too hard. Interestingly this is happening with both the Mac and iOS devices even the latter mobile devices will be using GPU compute for local image processing. To be clear it won’t turn the world upside down, but I’ve been waiting to see Apple make better use of GPU compute, and now it appears the time has come. Consequently, utilizing the GPU for computer vision marks the first major use of GPU compute in a first party Apple application beyond simply accelerating photo and video processing. composting and effects) than it has been true compute. With that said, thus far Apple’s use of GPU compute has been more along the lines of faster implementations of graphical features (e.g.
Apple is using GPU-accelerated computer vision here, and while they’re not the first party to do so, this is the most significant use of GPU compute we’ve seen from Apple to date.Īpple’s interest to GPU compute goes back to the creation of OpenCL in 2009, and the company has gone as far to implement two GPUs on their Mac Pro lineup so that the second GPU can be dedicated to compute tasks.
Truth be told the presentation behind the new Photos application was a bit cringe-worthy (Apple’s still trying to figure out what you can do with image analysis that’s not a gimmick), however I think it’s notable because of the underlying technology. The idea behind the feature is to allow photos to be easy collated – find all of the pictures featuring a specific person or shots of a mountain, for example – and then present that to the user or do other neat things with the collection. Apple has announced that Photos is receiving a major feature update here, incorporating a new slew of functionality based on facial recognition and analysis of the photos in a library. On a bit of an aside, I want to briefly talk about the new Photos application that’s being rolled out to both macOS Sierra and iOS 10.