News for hackers. Stuff that matters.
Re:Intermediate Graphics Library, a cross-platform GPU abstr... by adamnemecek on Tuesday October 10, 2023 @12:25PM (#37834210)
Why not use webgpu?
Re:Intermediate Graphics Library, a cross-platform GPU abstr... by MegaDeKay on Tuesday October 10, 2023 @12:32PM (#37834293)
They gives these reasons at the Github link for its existence...

---

Intermediate Graphics Library (IGL) is a cross-platform library that commands the GPU. It encapsulates common GPU functionality with a low-level cross-platform interface. IGL is designed to support multiple backends implemented on top of various graphics APIs (e.g. OpenGL, Metal and Vulkan) with a common interface.

There are a lot of good options for abstracting GPU API's; each making different trade-offs. We designed IGL around the following priorities:

- Low-level, forward-looking API. IGL embraces modern abstractions (command buffers, state containers, bindless, etc) and is designed to give more control than OpenGL's state machine API. As a result, IGL can have leaner backends for modern API's (e.g. Metal, Vulkan).

- Minimal overhead for C++. IGL supports new or existing native rendering code without overhead of language interop or the need for other language runtimes.

- Reach + scale in production. IGL has been globally battle-tested for broad device reliability (especially the long-tail of Android devices as well as Quest 2/3/Pro compatibility for OpenGL/Vulkan) and performance-tuned on our apps.

Re:Intermediate Graphics Library, a cross-platform GPU abstr... by skavi on Tuesday October 10, 2023 @12:50PM (#37834507)
The first two points easily apply to WebGPU. Maybe not the last one yet.
Re:Intermediate Graphics Library, a cross-platform GPU abstr... by bmitc on Tuesday October 10, 2023 @12:52PM (#37834527)
Having researched WebGPU a little, I'm not seeing anything there that explains why this over WebGPU. As far as I understand, those reasons are identical to those for WebGPU.

Can anyone explain?

Re:Intermediate Graphics Library, a cross-platform GPU abstr... by swatcoder on Tuesday October 10, 2023 @01:16PM (#37834782)
Meta has bet the farm on their VR/AR/XR platform and smartly wants control over the tooling that developers will use to target it.

The last thing they want is for some Quest innovation to be hamstrung waiting for a standard body to approve support for some new feature or for a third-party open source maintainer to incorporate some fix/addition/compatibility PR.

Owning a project like this, if they can get developers to use it, is a huge business security asset and competitive advantage for them. That's why this exists and why it's being promoted.

Whether developers see it as worth using instead of other options is a different question. Meta would probably say the answer to "why" for developers is: "to make sure your project gets the most out of the Quest products (as well as other Android platforms), now and in the future"

Re:Intermediate Graphics Library, a cross-platform GPU abstr... by adamnemecek on Tuesday October 10, 2023 @02:13PM (#37835478)
They can’t get users to use it as it provides little over webgpu.
Re:Intermediate Graphics Library, a cross-platform GPU abstr... by jayd16 on Tuesday October 10, 2023 @01:03PM (#37834650)
Is Android support solid for Dawn/webgpu? Seems like it's marked as work in progress compared to the confident support laid out here.
Re:Intermediate Graphics Library, a cross-platform GPU abstr... by adamnemecek on Tuesday October 10, 2023 @01:15PM (#37834758)
Right but if they needed that, they could have just contributed android support to wgpu.
Re:Intermediate Graphics Library, a cross-platform GPU abstr... by adamnemecek on Tuesday October 10, 2023 @12:59PM (#37834602)
WebGPU goes beyond the web. wgpu is a rust project.
Re:Intermediate Graphics Library, a cross-platform GPU abstr... by swatcoder on Tuesday October 10, 2023 @12:31PM (#37834274)
Because projects have all sorts of requirements. Shipping and running an embedded browser engine, or running in a user's active browser session, is not going to fit the requirements for many many projects.
Re:Intermediate Graphics Library, a cross-platform GPU abstr... by sluijs on Tuesday October 10, 2023 @12:48PM (#37834471)
WebGPU is - despite the name - not designed to run in a browser per se. You can use wgpu and Dawn as native crates/libraries as well.
Re:Intermediate Graphics Library, a cross-platform GPU abstr... by rossant on Tuesday October 10, 2023 @01:01PM (#37834627)
Yes, it is weird that WebGPU is not even mentioned on the README. Maybe this project was initiated before WebGPU was mature enough (for the record, WebGPU is still mentioned as an "experimental technology" by MDN (https://developer.mozilla.org/en-US/docs/Web/API/WebGPU_API).
Re:Intermediate Graphics Library, a cross-platform GPU abstr... by diggan on Tuesday October 10, 2023 @01:09PM (#37834700)
At a glance, IGL (this submission) seems more similar to wgpu than WebGPU.

But then the question just becomes "Why not use wgpu?" instead.

Re:Intermediate Graphics Library, a cross-platform GPU abstr... by foota on Tuesday October 10, 2023 @01:35PM (#37835004)
I'm guessing it predates webgpu internally.