I've got some OS X things I'd like to see happen in the next OS X release from Apple, which we'll hopefully get a preview of in a few weeks. And since writing a post about it is easier than filing a radar…
Improvements in Core Image Land
- Some sort of integration with OpenCL would be nice. Right now there's no way to hand a CIImage to an OpenCL kernel and play with the pixels backing it. You have to render everything to a bitmap first and then hand it to OpenCL. It'd be great if Apple figured out a way to avoid the extra overhead of doing this.
- Give the Core Image kernel language a little update. Adding loops and if/then statements could be useful. Though I bet we won't get this unless Apple drops Macs that don't support OpenCL on the graphics card. Speaking of…
- It would be great if there was on a single backend implementation of Core Image. Right now a CI kernel is compiled to GLSL for execution on the GPU, and OpenCL for the CPU. How about OpenCL for both locations? (Again - it would require dropping support for older GPUs).
- Performance tools. How many images are in the cache? Where does the texture for this image live? Why are things so slow when they shouldn't be? Why isn't my kernel doing what I want it to? We need some tools to be able to figure these things out, because debugging Core Image problems is a pain in the ass.
- Xcode 5. Hopefully everyone's favorite IDE* has finally dumped GC and has gotten on the ARC bandwagon. I'd also love for it to be able to gracefully handle multiple windows like Xcode 3 did.
- Instruments improvements. Make it easier to use (I miss Shark). And maybe integrate the Core Image performance ideas from above into Instruments?
General OS Improvements
- It'd be awesome if we had another Snow Leopard-like release, where Apple focuses on fixing stuff and making things faster. I'm not holding my breath on this, but a Mac dev can wish.
New Mac Hardware
New Mac Pro anyone? Thunderbolt 2.0? How about a retina display, and while I'm wishing for stuff— what about a wider gamut display as well?