Clean up the manual to avoid confusion if AMD GPUs get support in the Cycles Metal implementation.
Details
Diff Detail
- Repository
- rBM Blender Manual
Event Timeline
I think this should remain organized by hardware vendor, just make an additional section for Apple that includes all GPUs in those devices.
Is there a particular reason why you say this?
Another idea could be to make the heading something like CUDA -- Nvidia HIP -- AMD.
I think it's just easier for users to start with the hardware they have, and then see the available options, rather than the other way around.
If you don't know what CUDA/OptiX/HIP/Metal are you have to read through all of them to see if it applies to your hardware.
Would you be fine with the current patch if the hardware vendor is added to the heading of each?
I like that this patch does make it a tad simpler, although would not be hard-pressed if this does not make it in.
If this patch does get accepted with the idea proposed by @Aaron Carlisle (Blendify) , then I think I would like to discuss what to put in the Metal section. At the moment I have it as Apple Mac as Apple makes all Macs, and in theory Intel GPU, AMD GPU, and Apple GPU Macs are covered by this title. But I'm not sure if this is the "right" title to have here. Maybe it should be changed to:
- Apple - But that might imply that Metal is only available on Apple Silicon when in theory AMD and Intel GPUs are also planned to be supported.
- Mac - Has some limitations. See the note for macOS
- macOS - I suggest macOS because you can have Macs running Windows. macOS limits it to that specific OS.
- Maybe something else
I'd still prefer to not change the headings, but in the end it does not matter that much so whatever you agree on is fine.
Changes seem good to me, I think this is a best of both worlds, simplifies the text, and still makes it clear which technology is supported by which vendor.
@Aaron Carlisle (Blendify) Are you okay with the Metal section being labeled as Metal -- Apple Mac? Or would you prefer it was changed to something else?
Also, I won't commit this patch unless you explicitly say you want this committed or accept the patch.
@Brecht Van Lommel (brecht) if you have any major objections please share them. Or if you would like to provide reasoning for why you do not like the latest iteration of the patch, also feel free to share that.
If either of you can think of anyone else that you think would be good to look over this patch, then feel free to ask them to comment.
Also, I'm not sure I ever properly explained why I created this patch. So I'll explain it below.
Let's assume Metal adds support for Apple and AMD. According to my logic, this page will have this layout when using the OLD page layout:
Nvidia
Supported on Windows and Linux with CUDA and OptiX. Limited to devices with these drivers and this architecture.AMD
Supported on Windows with HIP. Limited to devices with these drivers and this architecture.
Supported on MacOS with Metal. Limited to devices with these "drivers" and this architecture.Apple
Supported on MacOS with Metal. Limited to devices with these "drivers" and this architecture.
This combining of two very different technologies under one header (See the AMD section) doesn't seem "nice" to me. So Brecht proposed an alternative layout. And from my interpretation it is this:
Nvidia
Supported on Windows and Linux with CUDA and OptiX. Limited to devices with these drivers and this architecture.AMD
Supported on Windows with HIP. Limited to devices with these drivers and this architecture.Apple (Or Mac? or MacOS? or some other term)
Supports Apple and AMD GPUs on MacOS with Metal. Limited to devices with these "drivers" and this architecture.
This avoids the "combining of two very different technologies under one header" issue that I don't like. But the "Apple" section doesn't follow the same format as the other sections.
Every other section starts off with the "GPU manufacturer" then lists the supported OS and API then limitations.
Where as the Apple section starts off with "Identifier that limits it to Apple products" then lists the supported GPU manufacturers. Then lists the supported OS and API then limitations.
The new proposal I have provided in this patch follows this format for every rendering technology:
Rendering technology/API - Supported hardware manufacturer
Lists supported GPU manufacturers, and limitation of driver compatibility, OS, and architecture.
Is this "better"? That's up for discussion and could be the deciding factor on this getting committed. But it is more "consistent" which is my aim for this patch.
At the very least if this new proposal does NOT get accepted, there are some changes I would like to get committed into the manual (like stating that CUDA and OptiX are supported on Windows and Linux rather than leaving it vague), but that will go through the review process.
I would organize it as "AMD", "NVIDIA" and "Apple (macOS)".
But I don't want to bikeshed on this too much, whatever you two can agree on is fine.
Also something we might fix: it's not Nvidia but NVIDIA.
I cannot accept the patch due to some custom editing policy to put on the patch but the current implementation seems fine to me so I accept this patch, anything more is really making this seem like bikeshedding and splitting hairs.