Blender Git Commits

Blender Git "soc-2014-cycles" branch commits.

Page: 2 / 2

June 11, 2014, 22:20 (GMT)
Cycles: Add support for uchar4 attributes.

* This commit adds generic support for uchar4 attributes.
* Vertex Colors use this now, which reduces memory usage at the cost of a bit performance.

Differential Revision: https://developer.blender.org/D580
June 6, 2014, 19:42 (GMT)
Cycles: Use FMA in one more place, for Image Textures.
June 6, 2014, 17:51 (GMT)
Cycles: Commiting some WIP code for a Quad BVH (CPU only)

* This is highly experimental, but commiting it makes is a bit easier to work on.
* Traversal code in geom_qbvh_traversal.h and geom_triangle.h based on code by Brecht, from the early Cycles days. I updated it, added some AVX2 code and integrated it into the current code base.
* Simple scenes such as cornell box etc. from our test files render ~7% faster, but bigger scenes are quite slower.
* The idea is to use traversal and improved builder code from Embree later.

Differential Revision: https://developer.blender.org/D579
June 6, 2014, 17:21 (GMT)
Cycles: Updates for AVX2 kernel after merge with master.
June 6, 2014, 17:07 (GMT)
Merge remote-tracking branch 'origin/master' into soc-2014-cycles
June 2, 2014, 08:17 (GMT)
Cycles: Add 2 nodes to combine and split vectors.

This was possible via RGB already, but seems a bit weird that way.
June 2, 2014, 06:46 (GMT)
Merge remote-tracking branch 'origin/master' into soc-2014-cycles
May 29, 2014, 23:29 (GMT)
Cycles: Update AVX2 kernel for recent changes.
May 29, 2014, 23:18 (GMT)
Merge remote-tracking branch 'origin/master' into soc-2014-cycles
May 24, 2014, 13:29 (GMT)
Fix cmake error.
May 24, 2014, 12:24 (GMT)
Cycles: Use a function to calculate sin and cos at the same time.

Only enabled for gcc atm, tested on an Ivy Bridge CPU with gcc 4.8.
This gives me about 4% speedup in simple scenes like the cornell_box.blend and color_ramp.blend.

Can probably also be enabled for clang and msvc later, they have a sincos() function as well.

THis commit also contains small cleanup and a compile fix for the AVX2 kernel after merge.
May 24, 2014, 11:59 (GMT)
Merge remote-tracking branch 'origin/master' into soc-2014-cycles
May 19, 2014, 08:00 (GMT)
Merge remote-tracking branch 'origin/master' into soc-2014-cycles
May 16, 2014, 14:45 (GMT)
Cycles: Use Bit Manipulation Instruction Sets in the AVX2 kernel, helps a bit as well.
May 14, 2014, 19:09 (GMT)
Merge remote-tracking branch 'origin/master' into soc-2014-cycles
May 14, 2014, 19:03 (GMT)
Cycles: Use some dedicated FMA intrinsics in the AVX2 kernel.

This gives me a small speedup of 2% in bmw.blend, and 3% in hair.blend.
Could only test on my Macbook with clang though, no idea how gcc or msvc performs here.

Thanks to Lockal for some input on this! :)
May 13, 2014, 08:37 (GMT)
Cycles: Add an AVX2 CPU kernel.

New optimized kernel, which requires AVX2 and FMA3 instruction sets.
At the moment the speedup is small (~2%) as we only use gcc and clang auto optimization, but we can use dedicated intrinsics for that later.

D482 would be a good basis for further improvements.
May 12, 2014, 10:29 (GMT)
Cycles: Calculate face normal on the fly.

Instead of precalculation and storage, we now calculate the face normal during render.
This gives a small slowdown (~1%) but decreases memory usage, which is especially important for GPUs,
where you have limited VRAM.

Maybe this can be made a bit faster still, I am investigating this.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021