Remix.run Logo
▲ kcb 2 hours ago

Unfortunately there is no universally supported newer API thanks to Apple.

▲nextaccountic 35 minutes ago | parent | next [-]

There's some libraries like wgpu that can fill this gap in practice

▲LoganDark 2 hours ago | parent | prev | next [-]

Minecraft has been moving to Vulkan and using MoltenVK to run the same backend on Mac.

▲api 2 hours ago | parent | prev | next [-]

In that case maybe the answer is $200 in tokens to make a metal OpenGL shim and then share it to the community on GitHub.

▲mosura 2 hours ago | parent | next [-]

Given the comparable performance of OpenGL and Metal on the same hardware I was under the impression that is how Apple had been implementing OpenGL for quite a while.

▲my123 2 hours ago | parent [-]

OpenGL on Apple GPUs is implemented on top of Metal with some private extensions to be closer to OpenGL behaviour. Making things work performantly on top of regular Metal is quite a bit harder.

▲LoganDark 2 hours ago | parent [-]

Not sure why this is downvoted, it's true: https://rosenzweig.io/blog/asahi-gpu-part-6.html

> Comparing traces, the render pass "OpenGL mode" sets an unknown bit in this kernel-processed block. If we set the same bit in our OpenGL driver, we find the clip space changes to -1/1.

▲diath an hour ago | parent | prev | next [-]

ANGLE already does that: https://chromium.googlesource.com/angle/angle

▲eknkc 2 hours ago | parent | prev [-]

Isn't https://github.com/google/angle just that?

Edit: I guess no, Angle is OpenGL ES. My bad.

▲charcircuit an hour ago | parent | prev [-]

Metal is universally supported among Apple's product lines.

▲wongarsu an hour ago | parent [-]

Just as useful as DirectX being universally supported in Microsoft's product lines.

The point of OpenGL was to have an API universally supported everywhere

▲jhatemyjob an hour ago | parent [-]

That's a bad analogy

▲marky1991 14 minutes ago | parent | next [-]

How so?

Both are os-specific graphics apis. It seems pretty comparable to me.

▲_flux 29 minutes ago | parent | prev [-]

Why is it a bad analogy? I don't have experience on either of the libraries, so I may be missing something.