Hacker News regularly makes me feel very stupid, and none more so than blog posts by Alyssa Rosenzweig. I couldn't even write an engine that used Vulkan in six months, nor a software rasteriser; meanwhile, Alyssa wrote an entire compliant driver on a non-native operating system running on locked-down hardware in one month flat. What am I doing with my life? EDIT: I point this out because I'd eventually like to write…
I sometimes feel like her success is driving me into madness, I feel like Salieri looking at Mozart when I look at her work. Here is the Alyssa timeline: * She started programming at ~3 with MIT Scratch. Her Father introduced it to her, he works at Intel and is a very successful person. * I think around age 11-12 she knew C very well, worked on some low level networking stuff for games, she wanted to make an MMO. * A…
Vulkan1.3 on the M1 in one month
271–280 of 372 posts
Re: Vulkan1.3 on the M1 in one month
#272Earlier quoted context omitted.
Nobody required USB-C charging for laptops and iPads. It would have happened on iPhones eventually too.
They were the (one of the) first ones to usb-c on laptops. I don’t think they were ever planning to do usb-c on the iPhone, they had no reason to be this late.
Re: Vulkan1.3 on the M1 in one month
#273Earlier quoted context omitted.
You may have a good point with the opengl thing. But the number of games that run on Vulkan is so vanishingly small that we can't credibly say that not having a Vulkan driver holds Apple back on gaming. I'd bet any money that the number of games that work on Metal is wayyyy higher than the minuscule number of games that run on Vulkan. Which should tell you how few Vulkan games there are.
The amount of games that work with Vulkan may be very small, but at least they have a chance of working. The de facto standard API for games on computers, DirectX, will never receive a port. If you think Vulkan support for games is insignificant, look at Metal support. I think Vulkan makes a lot of sense for macOS, actually; the Nintendo Switch, to which tons of games have been ported already, uses the ARM+Vulkan des…
Apple did just that with the Game Porting Toolkit.
> If you think Vulkan support for games is insignificant, look at Metal support.
Pretty much all iOS games run on top of Metal.
Re: Vulkan1.3 on the M1 in one month
#274Earlier quoted context omitted.
> They'll never admit it. Admit what? That they had their own API before anyone even thought about Vulkan? That they have Metal running on one of the most popular platforms in the world (iOS)? That other major platforms don't support Vulkan (Xbox, Playstation; Windows supports DX and defers Vulkan support to GPU vendors)?
Metal was released in June 2014[0], and Vulkan development started a month later, in July 2014[1]. You can interpret that in a few different ways: perhaps Khronos saw Metal's release, went "oh shit, we need to do something", and scrambled to start development of a new API over the next month. Or maybe Khronos (and Valve and others) were already talking about something new for some time before that, and only got a fir…
There are no two interpretations. Metal was released before Khronos even had their "kick off meeting". The official introduction of Khronos didn't happen until 2015. Vulkan 1.0 was released in 2016.
Prior to 2014 there was no Vulkan, and no idea of Vulkan. Sevral companies (AMD among them) tried to peddle their own proprietary APIs as a potential future direction after OpenGL.
And yes, Khronos scrambled to have a modern API after both Microsoft and Apple ended up having one.
> Yes, it took a further two years for any kind of reasonable Vulkan support to be out there
No. It took two more years to just release version 1. And even in 2024 it's somewhat laughable to talk about "reasonable Vulkan support" when the major gaming platforms (Windows, Xbox, Playstation) don't support it (Windows supports DX natively, and Vulkan support is left to the whims of GPU vendors). The actual support for Vulkan is declining: https://carette.xyz/posts/state_of_vulkan_2024/
> I think it's a bit disingenuous to say Apple was a trailblazer with absolutely no peer here.
The trailblazer was Microsoft. What is disingenuous is to pretend that Vulkan was anywhere at the forefront or that Apple had to pay any attention to it, or that Apple is somehow in the wrong for not supporting it.
> Hell, at this point, Vulkan might have seen more general adoption than Metal has.
Of course it doesn't. Because iOS exists, supports Metal, and is a major gaming platform
Re: Vulkan1.3 on the M1 in one month
#275Earlier quoted context omitted.
> Really just drives home how big of a mistake it was ignoring Vulkan for the past decade on Apple's behalf, but lord knows they won't admit that until it's too late. People who keep saying this have surprisingly short/bad memories. And very little idea of the state of the industry. - Apple already shipped Metal version 1 a full year before Vulkan was even an idea. iPhone, one of the largest casual gaming platforms i…
> Apple already shipped Metal version 1 a full year before Vulkan was even an idea. This is only true if you forget how Vulkan came about.
Apple released Metal in 2014
Vulkan as a project was started a month later, also in 2014. Officially announced in 2015. First version released in 2016.
Re: Vulkan1.3 on the M1 in one month
#276A very large part of me is annoyed that Apple didn't open source Metal before Vulkan was released. OpenGL definitely was annoying to work with, but Vulkan is impossible for the average user to do anything with; drawing a spinning cube takes several hundred lines of code, which I've written and I still don't really understand! I realize that Vulkan isn't meant for a "humans" to write, it's basically meant to be a targ…
Please don't misinterpret this as gate keeping, but Vulkan is designed by and for professionals (not hobbyists). It is certainly not a rapid prototyping tool. Vulkan and OpenGL aren't comparable because Vulkan isn't merely a graphics API, but rather it's a low-level GPU API. For example you can use Vulkan in place of CUDA for running highly parallelized computations on the GPU (no graphics implied).
Vulkan is designed by committee, and that's its single biggest problem (and this was also the single biggest problem of OpenGL).
Re: Vulkan1.3 on the M1 in one month
#277Earlier quoted context omitted.
> Really just drives home how big of a mistake it was ignoring Vulkan for the past decade on Apple's behalf, but lord knows they won't admit that until it's too late. People who keep saying this have surprisingly short/bad memories. And very little idea of the state of the industry. - Apple already shipped Metal version 1 a full year before Vulkan was even an idea. iPhone, one of the largest casual gaming platforms i…
> Apple already shipped Metal version 1 a full year before Vulkan was even an idea. That doesn't stop them from implementing two APIs at once, like every single GPU hardware vendor in existence. But given their avoidance of OpenGL and OpenCL, we should have always assumed Apple's goal was to usurp Open interfaces and replace them with only proprietary options. What else could they intend to signal? > Windows and Xbox…
Apple is not a GPU vendor.
> Yes. DirectX is covered almost in it's entirety by DXVK.
You mean a non-official non-supported wrapper. No one is stopping you to create such a wrapper for Metal/VK. Oh wait, it exists
> Yeah, and it keeps biting them in the ass when they have to
Has nothing to do with the reality of Vulkan support
> Well also Windows, Linux, BSD, HaikuOS, Google Fuchsia, QNX, Stadia and Tizen.
The only API Windows supports natively is DirectX. It's up to the whims of the GPU vendors to provide support for Vulkan.
Stadia is a very major player, true. Considering it's dead. TVs as gaming platforms (that's what Tizen is) are non-existent in the grand scheme of things. Neither is Fuchsia. Or HaikuOS.
The only winner here is Linux, but that really only works through the thankless work of maintaining the DX->Vulkan wrappers. Again, nothing is stopping you from doing the same work for Metal.
Re: Vulkan1.3 on the M1 in one month
#278Earlier quoted context omitted.
> They'll never admit it. Admit what? That they had their own API before anyone even thought about Vulkan? That they have Metal running on one of the most popular platforms in the world (iOS)? That other major platforms don't support Vulkan (Xbox, Playstation; Windows supports DX and defers Vulkan support to GPU vendors)?
Admit that Metal isn't enough. People were more willing to write a DirectX translation framework for Vulkan than Mac users were willing to write one for Metal. And now with Game Porting Toolkit we basically have confirmation that nothing has been stopping Mac users from playing DirectX games with DXVK besides... working Vulkan drivers. So it would be nice to see Apple's explanation for being so insular. Especially wh…
By what criteria?
> People were more willing to write a DirectX translation framework for Vulkan than Mac users were willing to write one for Metal.
There were significantly more games playable on Mac than for Linux for years, even after Vulkan's introduction. Apple hurt gaming on Mac by dropping 32-bit support and changing CPU architectures significantly more than any fantasy about not supporting Vulkan (which is really not supported by most major platforms, and isn't supported by game developers either).
And it wasn't some vague nebulous people willing to write a DirectX translation framework. It was Steam pursuing its business strategy (and doing an amazing job of it). Before steam not a single person could be bothered to get off their asses and do a similar job for any platform.
Re: Vulkan1.3 on the M1 in one month
#279Earlier quoted context omitted.
It is still Metal, regardless.
But since there are more Android phones, there are more devices supporting Vulkan than devices supporting Metal.
Everyone that wants to keep their 3D sanity keeps targeting OpenGL ES, which is exactly why Google is now doing ANGLE on top of Vulkan as means to pressure OEMs to deliver proper Vulkan drivers.
Re: Vulkan1.3 on the M1 in one month
#280Earlier quoted context omitted.
AAA don't care about Vulkan, they care about Apple, Sony, Nintendo and Microsoft proprietary APIs.
minor nitpick: did care when Google Stadia was in the list. But it did not worked out and everyone took a big L on that and now Vulkan support has been mostly purged already.
Google was starting to offer a DirectX porting kit on the same year they decided to ramp down Stadia, there is even a GDC talk on it.