[Bf-committers] Metal GPU support

Nick Renieris makren67 at gmail.com
Wed Dec 12 17:26:57 CET 2018


>However, once Vulkan gets more support in the market it's inevitable that
there will be a Vulkan implementation available for Mac, using Metal.
Not sure about license matters, but this already exists and is maintained
by Khronos themselves: https://github.com/KhronosGroup/MoltenVK

Nick Renieris

Στις Τετ, 12 Δεκ 2018 στις 11:53 π.μ., ο/η Ton Roosendaal <ton at blender.org>

> Hi Stuart,
> Thanks for reaching out. I understand the concern of Apple users.
> However, going native with Metal in Blender is not the way to go.
> For example:
> -The amount of work (since 2014) to move old OpenGL in Blender to OpenGL
> Core Profile was huge. Multiple person years of work. A decent generic
> wrapper to support other APIs than OpenGL (Metal, or Direct3d) is going to
> be even more work than that. Everything in Blender draws with OpenGL. Every
> button, every editor uses it. It means you can only work on graphics apis
> when all developers/contributors to Blender agree on it and will help out.
> - Maintaining such a dual or triple graphics framework is going to take a
> lot of attention and support as well. We will often get situations where
> functionality keeps working in Linux/Windows but then breaks in Mac OS.
> There are better solutions.
> - Blender should choose for supporting open standards. We align closely
> with what Khronos does for that reason.
> The future is to make Blender work with Vulkan. That should be the core
> focus of development efforts.
> - Apple has refused to work with Khronos on Vulkan. However, once Vulkan
> gets more support in the market it's inevitable that there will be a Vulkan
> implementation available for Mac, using Metal. Supporting Vulkan then will
> automatically bring us Mac support back. And we align with every other app
> who prefers to keep working cross platform on Macs.
> But if you want to help us with Metal:
> Cycles has been designed from the ground up to support multiple graphics
> APIs.
> It has good Cuda and OpenCL support for that reason. Here it's possible to
> add Metal as well. Cycles code base is much smaller and much better
> designed (and newer :) than Blender code.
> Why not volunteer first to help with Metal for Cycles? If that project
> looks like it works well, we (and you!) also get more insight in the
> complexity of having this kind of work done for Blender. Adding Metal in
> Cycles will take 3-6 months of work already.
> Last thing for everyone to know: Apple took back our Mac Pro dev system
> loan last summer. My contacts within Apple can't manage to get approval for
> sending us another system. Blender Foundation has to pay for the Apple
> developer program (to sign binaries).
> Apple is clearly not interested in supporting open source or cross
> platform openness in any way. If they would, they'd work with the industry
> on getting decent Vulkan support for their systems. If they were, they
> would give open source coders access to updated hardware.
> Thanks,
> -Ton-
> --------------------------------------------------------
> Ton Roosendaal  -  ton at blender.org   -   www.blender.org
> Chairman Blender Foundation, Director Blender Institute
> Buikslotermeerplein 161, 1025 ET Amsterdam, the Netherlands
> > On 4 Dec 2018, at 20:14, Stuart Carnie <stuart.carnie at gmail.com> wrote:
> >
> > Hi Blender 3D developers:
> >
> > Given the deprecation and poor support of OpenGL on Apple platforms, I am
> > curious if there is any interest in my desire to develop Metal GPU
> support
> > for Blender 3D?
> >
> > I recently implemented Metal support for RetroArch (a cross-platform
> > emulator front end). Some of the highlights of RA:
> >
> > * supports multiple GPU back ends, including GL, Metal, Vulkan, DirectX
> and
> > other esoteric APIs
> > * a complex, shader pipeline for post-processing using a unified shader
> > system of glsl shaders, some in excess of 20 passes (
> > https://github.com/libretro/slang-shaders). These are cross compiled to
> > target APIs such as Metal, Vulkan or DirectX using glslang and
> SPIRV-cross.
> >
> > I've had a bit of a peek at the blender 2.8 branch and imagine the place
> to
> > start would be the GPU folder. I suspect, given the abstractions, there
> has
> > already been some thought into multiple-GPU support and wonder if there
> is
> > any public information on this?
> >
> > Cheers,
> >
> > Stuart
> >
> > *Stuart Carnie*
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at blender.org
> > https://lists.blender.org/mailman/listinfo/bf-committers
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> https://lists.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list