Live data from Hacker News

Clip control on the Apple GPU

rosenzweig.io

111–120 of 127 posts

Re: Clip control on the Apple GPU

#111

OpenGL on macOS is so frustrating, that I and many other developers have basically abandoned it, and not in favor of using Metal--the easier alternative is to just no longer support Macs. Yes, OpenGL on macOS is now implemented over Metal, but unfortunately a side effect of this is that implementation-level details that were critical to debugging and profiling OpenGL just no longer exist for tools to work with. Anyth…

> This is how some graphics engineers, including myself, continue to ship ...

The snarky response would be "you're not a graphics engineer if you're still using OpenGL" (please laugh at the bad joke)

But seriously, knowing how GPUs actually work, OpenGL is pretty horrible. Full OpenGL has 20 years of cruft hacked and glommed on to it. As someone who's job is to write OpenGL emulation it really needs to die and people need to stop using it.

If you don't care but want cross platform OpenGL ES then use ANGLE, or if you want something more modern that ditches most of that 20years of cruft look into one of the native WebGPU implementations (dawn, wgpu, ...)

Re: Clip control on the Apple GPU

#112
post #26
post #12

Apple could help by documenting this stuff. I remember the good old days when every Mac OS X came with an extra CD with Xcode, and Apple was regularly publishing Technical Notes detailing implementation details. Today the same level of detail is treated as top secret, and it seems that Apple doesn't want developers to even think beyond the surface of the tiny App Store sandbox.

I really wish Apple would do another "Snow Leopard" - go an entire year WITHOUT any new features and just fix bugs and documentation. This twitter thread is a perfect example of why it's needed https://twitter.com/nikitonsky/status/1557357661171204098

We've had several.

• Mountain Lion / Mavericks

• El Capitan

• High Sierra

Yes, these releases had new features, but so did Snow Leopard. Behind the scenes there was grand central dispatch, and in front there was QuickTime X, App Exposé, and Exchange support.

I also happen to think Snow Leopard is overrated, its legacy largely due to the fact that Lion was really bad.

This isn't to say Apple shouldn't do another polish release. They're overdue for one.

Re: Clip control on the Apple GPU

#113

OpenGL on macOS is so frustrating, that I and many other developers have basically abandoned it, and not in favor of using Metal--the easier alternative is to just no longer support Macs. Yes, OpenGL on macOS is now implemented over Metal, but unfortunately a side effect of this is that implementation-level details that were critical to debugging and profiling OpenGL just no longer exist for tools to work with. Anyth…

for me BGFX has become the API since I'm basically tired of wrassling how fragmented graphics programming seems to be. I just wish the shader language wasn't semi-custom GLSL-with-C-macros so I could use existing tooling for previewing/editing what I'm working on.

Re: Clip control on the Apple GPU

#114
post #25

Clip space is the bane of my existence. I've been building a software rasterizer from scratch and implementing vertex/triangle clipping has turned into one of the hardest aspects. It took me about 50 hours of reading various references before I learned you cannot get away with doing this in screen space or any time after perspective divide. It still staggers me that there is not 1 coherent reference for how to do all…

Be the documentation you want to see in the world.

But thats the thing.... there is no documentation..

Re: Clip control on the Apple GPU

#115
post #80

Earlier quoted context omitted.

Rosetta 2 runs on Linux. There's also FEX.

Does it? Or does Rosetta 2 run on Mac OS with a Linux shim to ask the host to kindly Rosetta-ify a given binary?

Pretty much immediately after the first developer beta providing Rosetta for Linux shipped, people tried to get it to work on non-Apple hardware, and succeeded: https://news.ycombinator.com/item?id=31662978

There's no macOS host to interact with on AWS Graviton3 instances.

Re: Clip control on the Apple GPU

#116

OpenGL on macOS is so frustrating, that I and many other developers have basically abandoned it, and not in favor of using Metal--the easier alternative is to just no longer support Macs. Yes, OpenGL on macOS is now implemented over Metal, but unfortunately a side effect of this is that implementation-level details that were critical to debugging and profiling OpenGL just no longer exist for tools to work with. Anyth…

There is WebGPU (for example provided by wgpu/wgpu-native, or dawn). Easier to write, portable, and debuggable as Metal on macOS.

Re: Clip control on the Apple GPU

#117
post #80

Earlier quoted context omitted.

Does it? Or does Rosetta 2 run on Mac OS with a Linux shim to ask the host to kindly Rosetta-ify a given binary?

Pretty much immediately after the first developer beta providing Rosetta for Linux shipped, people tried to get it to work on non-Apple hardware, and succeeded : https://news.ycombinator.com/item?id=31662978 There's no macOS host to interact with on AWS Graviton3 instances.

Huh, I misunderstood the virtiofs mechanism.

Re: Clip control on the Apple GPU

#118
post #28

Despite the progress here, for me it raises a question: Most of the old games she mentions are x86 32bit games. What's the story for how these programs are actually going to run in Asahi? Box86 [1] doesn't sound like it's projected to run on M1. Rosetta 2 on macOS allows 32-bit code to be run by a 64-bit process, which is the workaround CrossOver et. al. use (from what I understand), but that obviously won't be avail…

Rosetta 2 runs on Linux. There's also FEX.

FEX decided to not support page sizes >4k, which is fair (it's a lot of work), but it means that it won't be usable on Apple silicon, so that's not an option.

Re: Clip control on the Apple GPU

#119
post #95
post #81

Earlier quoted context omitted.

You acknowledge that Vulkan is too low level for people who aren't investing billions into an AAA graphics engine. And you surely know that OpenGL and Vulkan are the only two cross-platform graphics APIs. Are you sure you can't infer why people like OpenGL from those two points? Especially in Linux-heavy communities where DX and Metal aren't even options? I assure you, none of the "love" for OpenGL comes from the ele…

There should be more effort to support Direct3D under Linux. We have Wine and DXVK, but it should be easier to integrate the D3D support into Linux applications.

There is DXVK native which doesn't require wine.

https://github.com/Joshua-Ashton/dxvk-native

Re: Clip control on the Apple GPU

#120
post #118

Earlier quoted context omitted.

Rosetta 2 runs on Linux. There's also FEX.

FEX decided to not support page sizes >4k, which is fair (it's a lot of work), but it means that it won't be usable on Apple silicon, so that's not an option.

Afaik you can run kernels with 4k pagesize on apple Mx platform. It's just not optimal.
Post reply on HN