Three Years of Metal (2019)
zeux.io
zeux.io
I suspect things are better on iOS, but Metal has not been a great experience on macOS for me. There's an argument to be made for proprietary APIs if they're better than the alternatives, but not if they're worse...
This is an advertised limit in the feature set tables [0] (See "Maximum function memory allocation for a buffer in the constant address space") for non-Apple GPUs (though there are cases where it might work despite the advertised limit). Do you get a warning if you enable API validation (METAL_DEVICE_WRAPPER_TYPE=1)?
[0] https://developer.apple.com/metal/Metal-Feature-Set-Tables.p...
At what point should this have been built into the OS vs creating a monopolistic os-driver-driven platform. Or as an improvement remove the OS from the picture entirely if possible.
Creating your own graphics pipeline based on OS and graphics card permitted integrations sounds alot like creating a proprietary bitcoin wallet for oneself.
Metal is built in to the OS. It’s the name of the macOS API to access GPU capabilities (and potentially other kinds of processing capabilities). Likewise DirectX for Windows.
I realize you’re objecting to the current state of affairs, but I’m not sure exactly how.
What's the analogy to creating graphics pipeline for iOS/Linux/Windows? Do you want to create one for what? For numerous GPU chips? You are not forced to develop different softwares for different OS, you are saved by different OSes from developing for many orders of magnitude more hardware...
While there are downsides to having these different targets, there are upsides as well. For instance on any given platform, be it Metal for IOS or DirectX for Windows, the "native" options has usually been the most bug free and best performing option. It helps when you can build something like DirectX and know that this will only run in windows. Making something cross platform like Vulkan is more effort and complexity.
The other benefit is you have different groups exploring this space. While things might have been simpler in some ways if there had only been OpenGL, OpenGL might not have been forced to evolve as much as it did. vulkan might not have happened as soon as it did, etc.
Apple wants to have vendor lock-in, but that is not news.