Hacker News new | ask | show | jobs
by meekrohprocess 1959 days ago
Very cool. It's interesting that they are planning to start with Vulkan support, followed by OpenGL/DX/etc.

I guess it makes sense; the RISC-V crowd might possibly skew towards early adoption over backwards-compatibility.

It would be really cool to see some implementations from places like SiFive/GigaDevice/etc. Imagine how easy driver support could be if everyone used and contributed to the same open IPs...

2 comments

They can also take advantage of zink to implement opengl, at least on platforms that support mesa; and use wine's implementations of direct3d.

I expect that, in the future, gl and d3d will be implemented entirely on top of vulkan, and thus be more portable and make it easier to make GPUs and graphics drivers.

> I expect that, in the future, gl and d3d will be implemented entirely on top of vulkan

I'm not sure whether you're talking about the "official" Microsoft D3D libs here, but I very much doubt that'll ever happen. They don't like dependencies they can't control. The Excel team used to maintain their own compiler because they didn't want to be dependent on the Visual C++ team who worked in the same building.

Same with Apple and Metal.

The GP probably means the Wine implementation.

Vulkan is not even supported on UWP or Win32 sandboxes, the ICD mechanism its drivers use from the OpenGL days is only allowed in classical Win32 mode.

If they wanted to provide OpenGL ES support (all mobile devices) they could just use ANGLE which will provide OpenGL ES support on top of vulkan

https://github.com/google/angle

All mobile devices means only up to version 2.0.

Version 3.0 is the latest on iDevices and while Android can do up to 3.2, it is an optional API.

Likewise, Metal is the name of the game on iOS nowadays, and Vulkan was introduced in Android 7 as optional API, and only became mandatory in Android 10.

Vulkan also carries on the tradition of Khronos APIs, extension spaghetti, so while a device might support Vulkan, it doesn't mean it supports the Vulkan that the application actually needs.

https://vulkan.gpuinfo.org/listdevices.php?platform=android