diff options
Diffstat (limited to 'intern/cycles/bvh/bvh_params.h')
-rw-r--r-- | intern/cycles/bvh/bvh_params.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/intern/cycles/bvh/bvh_params.h b/intern/cycles/bvh/bvh_params.h index 99bfd9449da..892fd906e77 100644 --- a/intern/cycles/bvh/bvh_params.h +++ b/intern/cycles/bvh/bvh_params.h @@ -49,6 +49,9 @@ public: /* QBVH */ bool use_qbvh; + /* Use pre-aligned tringle storage for faster lookup. */ + bool use_triangle_storage; + /* fixed parameters */ enum { MAX_DEPTH = 64, @@ -73,6 +76,7 @@ public: top_level = false; use_cache = false; use_qbvh = false; + use_triangle_storage = true; } /* SAH costs */ @@ -113,7 +117,9 @@ public: __forceinline int prim_type() const { return type; } BVHReference& operator=(const BVHReference &arg) { - memcpy(this, &arg, sizeof(BVHReference)); + if(&arg != this) { + memcpy(this, &arg, sizeof(BVHReference)); + } return *this; } |