That is sad indeed. There are a lot of macOS Blender users out there.
Apple didn’t even put up the Pro Render logo on their WWDC keynote despite using it in their new Mac Pro Benchmarks (via C4D). That was a bit harsh and must be a bit upsetting for all concerned. With Apple’s continuing support of AMD’s excellent hardware it did seem out of place to skip it.
Apple could and should put a Mac in Blender Foundation and could definitely afford to get them a Metal engineer. I hope it is resolved soon. I really do.
It is definitely worth trying Pro Render and I’ve had scores of bugs fixed by submitting them to the AMD community site. That’s my Blender hobby / focus. Helping to get Pro Render usable on AMD eGPUs on macOS. I’ll do the same for Cycles on Metal when it happens.
That is not good news but thank you for the info. Cycles is the best renderer for Blender. Unfortunately it seems we, Mac users, have to look for the alternative. ProRender looks promising. It seems there’ll be Metal Redshift and Octane also. Is the use of these words prohibited or unwelcome on Blender Dev forum?
Of course it’s not prohibited. But this forum is meant for organizing Blender and Cycles development, it’s not a user forum to discuss Blender or CG software in general, it’s for communication with and between Blender developers.
I understand but if from your perspective Cycles Metal is not important then this topic practically no existent. So what the difference? For Mac users it is place to trying to find some way out. Who knows - maybe there’ll be someone to create Cycles Metal. I personally would be happy to pay e.g. $500 for Cycles Metal…
The reason we want things to stay on topic, is because we don’t want developers to spend time moderating and managing a general user forum, their time is better spent developing Blender. One topic does not make a big difference, but we want to be clear about the guidelines for this forum.
The best way to get Metal into Cycles is to join the Blender development fund and voice your support for it, so we can hire developers to work on Cycles.
Apologies for fueling this thread. Apple released a week or 2 ago an update to their Metal framework with some interesting features that might be relevant to raytracing and rendering technologies. http://metalkit.org/2019/06/10/introducing-metal-3.html
Quoting here:
Numbers
Metal can now make 100 times more draw calls than OpenGL.
Metal runs on roughly 1.4 billion devices currently.
Metal can drive up to 56 TFLOPS of single precision.
Ray Tracing Compute
Last year when the Metal Performance Shaders (MPS) APIs for Ray Tracing were introduced, the calculation of ray-triangle intersections was moved on to the GPU, making Ray Tracing in Metal really appealing for the first time. This year, two other costly and important stages were moved on to the GPU as well: the acceleration structure and the image denoising.
The Acceleration Structure is updated through a process called refitting which does not rebuild the acceleration structure from scratch but rather moves the bounding boxes to where the geometry moved, thus saving precious processing time. Refitting is now done entirely on the GPU:
The Image Denoising is cleverly aided by an image processing based denoising filter. The idea behind it is to store normals and depth information each frame, and then compare them with the next frame to see if certain pixels got invalidated. This could happen if the object moved to a different location or if another object occluded it.
The new MPSSVGF classes are implementing the Spatiotemporal Variance-Guided Filtering denoising algorithm. Denoising is now up to 1000x faster on GPU than it would take on the CPU.
Count me as another Devoted Mac/Blender fan, even though windows has advantages over Mac.
I hope that there is a strong call for MacOS developers coming.
Just chipping in as I did a bit of research awhile back about either using AMD HIP or bringing Vulkan into Cycles (as an eventual bridge to something like the RTX extensions or any future raytrace-related Vulkan stuff), but not so much Metal as I don’t use macOS.
@brecht mentions that pointer support is a concern, there are extensions to Vulkan itself which brings this:
SPV_KHR_variable_pointers - to enable the support of more expressive pointers that the OpenCL C language can make use of.
SPV_KHR_storage_buffer_storage_class - required by SPV_KHR_variable_pointers , to enable use of the StorageBuffer storage class.
(information copied from this link)
This is just my opinion, but I think it would be preferred to support Vulkan over Metal, using something like MoltenVK for Metal access. For that to happen I’d assume spirv-cross would need to be upgraded to support those 2 extensions to the Metal equivalents, perhaps this is already covered though I’m not sure.
I’d like to develop this but I am currently time poor, but I thought I’d just put this information here to help anyone research on how to progress on this. Perhaps the link above “clspv” could be tested as an OpenCL backend and things “just work” with the Cycles codebase already unmodified!
Yes, we’re aware of these extensions and implementations for Vulkan. Unfortunately nothing seems complete enough to build on yet, and to take advantage of RTX ray tracing extensions would probably take work beyond those.
Even something that in theory supports all the features we need will take some time to mature. NVIDIA CUDA and AMD OpenCL compiler implementations have taken quite a while to mature and be able to handle the more complex kernels that you get for ray tracing, even if on paper you’d expect things to work.
We can expect some support from these companies, as other renderers are doing things quite similar to us. But we’d be unlikely to get much help from Google to make clspv work well for our use case.
Hello,
I am a mac user and I know a lot of others who work in 2d graphics, video, stage design industry, who I would like to teach blender to. I would like blender to have better GPU integration within Mac OS. Is this a pure financial issue or Metal/Molten VK are not advanced enough/right stuff for Blender?
Would Blender Foundation have to pay to Apple for using Metal?
If its only money issue, let’s create a special code quest for this cause. If every Mac user chipped in one month worh of 3ds Max subscription, this problem could be at least worked on.
It would be great to have a special meet up at Blendercon to discuss Blender and Mac integration.
It’s a matter of funding and priorities for what the work on in Cycles and Blender as a whole. There is no problem using Metal except that it would have been easier for us if Apple supported open standards better.