Files
test2/intern/cycles/render
Brecht Van Lommel 04857cc8ef Cycles: fully decouple triangle and curve primitive storage from BVH2
Previously the storage here was optimized to avoid indirections in BVH2
traversal. This helps improve performance a bit, but makes performance
and memory usage of Embree and OptiX BVHs a bit worse also. It also adds
code complexity in other parts of the code.

Now decouple triangle and curve primitive storage from BVH2.
* Reduced peak memory usage on all devices
* Bit better performance for OptiX and Embree
* Bit worse performance for CUDA
* Simplified code:
** Intersection.prim/object now matches ShaderData.prim/object
** No more offset manipulation for mesh displacement before a BVH is built
** Remove primitive packing code and flags for Embree and OptiX
** Curve segments are now stored in a KernelCurve struct
* Also happens to fix a bug in baking with incorrect prim/object

Fixes T91968, T91770, T91902

Differential Revision: https://developer.blender.org/D12766
2021-10-06 17:52:04 +02:00
..
2021-09-24 07:44:22 +02:00
2021-07-05 10:29:21 +02:00
2021-03-30 00:00:17 +02:00
2021-09-23 22:08:02 +10:00
2021-09-24 11:31:23 +10:00
2021-01-22 16:08:25 +01:00
2021-10-06 09:28:00 +11:00
2021-01-22 16:08:25 +01:00
2021-01-22 16:08:25 +01:00