- LWN.net and Subscriptions: LWN.net is subscriber-supported. Buying a subscription at https://lwn.net/Promo/nst-nag4/subscribe helps keep it going.
- Apple M1/M2 GPU Kernel Graphics Driver: Written in Rust and achieved conformance with various graphics standards. At X.Org Developers Conference (XDC) 2024, Alyssa Rosenzweig gave an update and news about games it can support.
- XDC Tradition: Rosenzweig gives presentations dressed like a witch since 2019. This year, she started in French, then switched to English.
- Updates and Tessellation: Last year, the driver reached OpenGL ES 3.1 conformance and talked about geometry shaders. Now it's OpenGL 4.6 conformant. Tessellation is required for OpenGL 4.0 but the Apple GPU's hardware tessellator is limited and not usable. It lacks point mode and isoline support but can be emulated. The real problem is with transform feedback and geometry shaders which are emulated with compute shaders, and the hardware tessellator can't be used during emulation. They use software, specifically a decade-old Microsoft reference tessellator converted to OpenCL C code. There are problems with the CPU tessellator but the GPU's atomic instructions manage output buffer allocation. To draw the tessellator output, they use draw instructions with packed data structures. The approach works and shows terrain tessellation in a Vulkan demo with 265fps on an M2 Mac.
- Vulkan and Gaming: The Honeykrisp M1/M2 GPU driver achieved Vulkan 1.3 conformance by copying the NVK Vulkan driver for NVIDIA GPUs and adding various shaders. There are problems running triple-A games as they need to translate DirectX to Vulkan, Windows to Linux, x86 to Arm64, and 4KB pages to 16KB pages. FEX-Emu requires 4KB pages and Box64 has a hack that doesn't work. Linux supports heterogeneous page sizes between different kernels, so they throw everything into a virtual machine with a 4KB guest kernel. The overheads for the CPU and GPU do not stack as they run in parallel. Games like Portal and Portal 2 run, and a list of other games also work. On October 10, all the pieces were made available. For those with 8GB RAM, high-end games may not work, but some like Castle Crashers will. There was a question about ray-tracing support which is not a high priority as Apple hardware only supports it with the M3 and the current driver is for M1 and M2 GPUs. The session concluded with Rosenzweig playing Control poorly as time ran out.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。