The blog of the gfx-rs and wgpu developers, covering Rust graphics libraries, Vulkan portability, WebGPU and multithreading.
HN links it for updates on wgpu, its WebGPU implementation and its use in Firefox and Servo, and commenters cite posts on arcanization and its architecture.
They do make some money on Macs, and Mac software, but not nearly as much as on iOS.
Providing macOS gives a developer and designer platform for iOS. That is really important for them. So Metal being available on macOS is important for that reason. But it's also important in that the Mac platform is still important, just not nearly as important as iOS.
OpenGL doesn't really have much of a future. Everyone is moving towards the next generation frameworks. It just happens that there was a lot of uncertainty about whether OpenGL could adapt or whether there would be a successor, and during that time Apple decided to invest in developing Metal. It wasn't until a couple of years later than Vulkan was released.
In the meantime, Apple has built up quite a lot of tooling around Metal.
And it's not like it's that difficult to write cross platform apps that target the Mac. If you write against major engines, they will already have support for the different backends. If you are writing your own software, you can still target OpenGL, or you can target Vulkan and use MoltenVK to run it on macOS.
And for the next several years, people writing portable software are going to have to either just target OpenGL, for compatibility with older graphics cards, or maintain at least two backends, OpenGL and Vulkan. Given that lots of games target DirectX first, and consider any of the cross-platform frameworks a porting effort, Apple probably doesn't consider it a big loss to add one more…
No, separate project, although both Servo and Gecko (the C++ Firefox codebase) are aiming to use it.
This diagram [1] kvark posted the other day might help. (I think dotted-outline boxes indicate external components, but couldn't swear to it.)
[1] https://gfx-rs.github.io/2020/11/16/big-picture.html
Do you know if these things I found offer any hope for being able to continue rendering a scene smoothly while we handle GPU memory management operations on worker threads?
https://gfx-rs.github.io/2023/11/24/arcanization.html
https://github.com/gfx-rs/wgpu/issues/5322
kvark is developping the wgpu implementation for Mozilla
https://news.ycombinator.com/item?id=20954885
https://gfx-rs.github.io/2019/03/06/wgpu.html