Revision d06828f by Brecht Van Lommel October 19, 2021, 13:10 (GMT) |
Cycles: avoid intermediate stack array for writing shadow intersections Helps save one OptiX payload and is a bit more efficient. Differential Revision: https://developer.blender.org/D12909 |
Revision 943e73b by Brecht Van Lommel October 19, 2021, 13:09 (GMT) |
Cycles: decouple shadow paths from main path on GPU The motivation for this is twofold. It improves performance (5-10% on most benchmark scenes), and will help to bring back transparency support for the ambient occlusion pass. * Duplicate some members from the main path state in the shadow path state. * Add shadow paths incrementally to the array similar to what we do for the shadow catchers. * For the scheduling, allow running shade surface and shade volume kernels as long as there is enough space in the shadow paths array. If not, execute shadow kernels until it is empty. * Add IntegratorShadowState and ConstIntegratorShadowState typedefs that can be different between CPU and GPU. For GPU both main and shadow paths juse have an integer for SoA access. Bt with CPU it's a different pointer type so we get type safety checks in code shared between CPU and GPU. * For CPU, add a separate IntegratorShadowStateCPU struct embedded in IntegratorShadowState. * Update various functions to take the shadow state, and make SVM take either type of state using templates. Differential Revision: https://developer.blender.org/D12889 |
Revision 6e473a8 by Brecht Van Lommel October 19, 2021, 13:06 (GMT) |
Tests: update Cycles GPU tests blacklist so all tests pass More tests are matching now, mainly due to unified volume sampling. |
Revision 7fa6794 by Brecht Van Lommel October 19, 2021, 12:55 (GMT) |
Fix failing view layer tests after recent changes to naming convention |
Revision 5b6dacb by Brecht Van Lommel October 19, 2021, 12:48 (GMT) |
Fix splash screen showing language when building without that feature |
Revision 9e9d003 by Brecht Van Lommel October 19, 2021, 12:30 (GMT) |
Render: change view layer name convention to ViewLayer_001 to avoid OpenEXR issues Some compositing applications do not support spaces and dots in layer names, and change these to other symbols on import. This causes various compatibility issues, including with Cryptomatte metadata. While technically those could be considered bugs in the Cryptomatte implementation of other software, where they are not properly accounting for that layer renaming, it's not ideal. The OpenEXR channel naming convention is "layer.pass.channel". We get away with dots in the layer name since we parse this from right to left, but it's a weak assumption. Now we don't forbid using spaces or dots, and existing files are unchanged. But at least by default names will be compatible, and hopefully other software catches up in time to support more flexible layer names. Ref T68924 |
Revision a395a1b by Brecht Van Lommel October 19, 2021, 10:59 (GMT) |
Cleanup: fix compiler warnings |
Revision 6ee181e by Brecht Van Lommel October 19, 2021, 10:59 (GMT) |
Cycles: improve sampling pattern description regarding adaptive sampling |
Revision 8e8932c by Brecht Van Lommel October 19, 2021, 10:59 (GMT) |
Render: use "_" as delimiter in AOV names to avoid issues with OpenEXR OpenEXR uses "." to separate layers/passes/channels, so using AOV.001 is a problem. Other applications will not be able to parse it correctly. Default to AOV_001 instead, and don't allow using dots in AOV names. Fixes T89991 Ref T73266 Ref D12871 |
Revision c107a3c by Sergey Sharybin October 19, 2021, 10:10 (GMT) |
Fix invalid principled diffuse in Cycles OSL Need to initialize components for the full Diffuse BSDF. Steps to reproduce: - Default cube scene - Switch to Cycles renderer - Enable OSL backend - Start viewport render - Observe cube being much black Differential Revision: https://developer.blender.org/D12921 |
Revision 765eba5 by Sergey Sharybin October 19, 2021, 09:59 (GMT) |
Cleanup: More readable Cycles OSL BSDF definition A Clang-Format configuration to make the closure definition block to be properly recognized as such. Also small wrapper macro to avoid comma in the actual definition code which was causing unwanted indentation of parameters definition. Requires Clang-Format 7 or newer. The version we ship in the libs is 12, so for recommended development setup it should all be good. Differential Revision: https://developer.blender.org/D12920 |
Revision abc3128 by Brecht Van Lommel October 19, 2021, 09:39 (GMT) |
Fix T85779: Cycles not using all threads when using OpenImageDenoise The thread affinity setting in OIDN can break multithreading on some CPUs. While this leads to somewhat worse performance on CPUs that do work correctly, it's better than having some CPUs use only half the cores. |
Revision d6b5406 by Sergey Sharybin October 19, 2021, 09:30 (GMT) |
Cleanup: Unused device argument in host update functions Better not to tempt anyone from using unsafe access to device functionality during host update. |
Revision 6e859f7 by Sergey Sharybin October 19, 2021, 09:29 (GMT) |
Fix invalid OSL shader compilation state The lookup tables are to be initialized after device free. On Linux was only noticeable when rendering default cube scene with an extra assert. On Windows it was causing an assert in STL in debug builds. Differential Revision: https://developer.blender.org/D12918 |
Revision 9c8255d by Campbell Barton October 19, 2021, 07:35 (GMT) |
Cleanup: use 'e' prefix for enum types |
Revision 695dc07 by Campbell Barton October 19, 2021, 07:31 (GMT) |
Cleanup: clang-format |
Revision a76bb1a by Hans Goudey October 19, 2021, 03:15 (GMT) |
BLI: Support removing keys from a set during iteration This adds the ability to mark slots as removed while iterating through a mutable set. Differential Revision: https://developer.blender.org/D12867 |
Revision da949c3 by Campbell Barton October 19, 2021, 02:22 (GMT) |
Fix crash on file load in unregistering bke::AssetLibraryService Use mutable iterator to support callbacks removing themselves. |
Revision b74f2c7 by Campbell Barton October 19, 2021, 01:50 (GMT) |
Fix image cache margin calculation This margin was inconsistently calculated: only taking the visible region and interface scale into account in some cases. |
Revision c4f733a by Campbell Barton October 19, 2021, 01:50 (GMT) |
Fix memory leak in sample tool When there was no image buffer, sample leaked memory. |
|