- User Since
- Oct 7 2021, 1:44 PM (51 w, 1 d)
Tue, Sep 27
@Pablo Vazquez (pablovazquez) , @Brecht Van Lommel (brecht) , now on my x86_64 MacBook Pro I am served the arm64 build of Blender when downloading from Safari. To get a working Intel build I need to explicitly go into the "other versions" menu.
Tue, Sep 6
This patch fixes the issue by disabling the ccl_device_noinline macro. Total compile time on first render increases to ~2 minutes on M1 Max, which is not fast but better than the previous ~4.5 minutes with aggressive inlining enabled. The resulting benchmark score is about 5% higher with this change on M1 Max.
For some reason reverting e11c899e715b (which disabled slow-to-compile inlining) fixed the bad render. I will follow up internally as this could be a shader compiler bug.
Mon, Sep 5
I am on an older 13.0 beta and see the same broken rendering as posted in the description. A local build based on 03aeef64d5c2bd1eb1aa790bddbce728857778f3 seems to be rendering correctly on the same OS. As a next step, I will try to narrow this down further.
Jul 27 2022
Jul 17 2022
Super - thanks for sorting it out @Brecht Van Lommel (brecht). I'm not used to Phabricator / how it interacts with git so it's highly likely I did something silly!
Jul 15 2022
Jul 14 2022
@Brecht Van Lommel (brecht), let me know if you see an easy way for me to salvage it.
- Cycles: refactor to move part of KernelData definition to template header
- Cycles: keep track of SVM nodes used in kernels
- Cycles: Apple Silicon optimizations (~20% uplift on M1 Max)
I'm guessing it boils down to this?
Jul 13 2022
- Simple heuristic to disable sort partitioning when shader count is high
- Limit in-memory pipeline cache to 3 kernel variants per PSO_ type
- Bake all constants into md5 so that get_best_pipeline works as desired
- P3072, fixed for Metal
Thanks for the patch @Brecht Van Lommel (brecht) - it's working fine with a couple of small fixes. I will push the changes shortly.
Jul 12 2022
- Time the KernelData patching
Jul 11 2022
@Brecht Van Lommel (brecht) , @Sergey Sharybin (sergey) , I have reworked this to separate intersection and shading specializations - please let me know what you think. The intersection kernels are unobtrusively fast to respecialize and give a nice boost for many scenes (see table in main patch description), so I have left this as the default level of specialization.
- make format
- Cycles: Finesse scene specialization
Jul 4 2022
@Brecht Van Lommel (brecht) , how would you like to proceed with this?
Jul 1 2022
Jun 30 2022
- Use divide_up
Jun 27 2022
Jun 24 2022
Looks good. It's a strange that integrator_reset should be failing in the wild given how simple it is - I'm keeping my eye out for this.
Jun 23 2022
Jun 22 2022
- Use const
- Get gpu-core-count from specific registry entry instead of doing a scan
- Revert change which appends " (CPU)" to CPU device string
- Revert unrelated changes
Jun 21 2022
Jun 20 2022
Jun 16 2022
Jun 15 2022
Jun 13 2022
- make format
Rebase onto master
- Fix macOS 10.14 version warnings
Jun 7 2022
May 27 2022
- Remove superfluous tracing when capturing
- make format
May 16 2022
May 14 2022
May 11 2022
- Remove undefined method
- Remove unnecessary functions & add PSO NULL-check during MetalDeviceQueue::enqueue
- Remove diagnostic printf