forked from bartvdbraak/blender
Cycles / BVH: Remove unused temp copy of prim_object.
This will save some memory during BVH Build.
This commit is contained in:
parent
5eecfbd980
commit
bd92168643
@ -226,8 +226,7 @@ void BVH::build(Progress& progress)
|
||||
|
||||
/* pack nodes */
|
||||
progress.set_substatus("Packing BVH nodes");
|
||||
array<int> tmp_prim_object = pack.prim_object;
|
||||
pack_nodes(tmp_prim_object, root);
|
||||
pack_nodes(root);
|
||||
|
||||
/* free build nodes */
|
||||
root->deleteSubtree();
|
||||
@ -539,7 +538,7 @@ void RegularBVH::pack_node(int idx, const BoundBox& b0, const BoundBox& b1, int
|
||||
memcpy(&pack.nodes[idx * BVH_NODE_SIZE], data, sizeof(int4)*BVH_NODE_SIZE);
|
||||
}
|
||||
|
||||
void RegularBVH::pack_nodes(const array<int>& prims, const BVHNode *root)
|
||||
void RegularBVH::pack_nodes(const BVHNode *root)
|
||||
{
|
||||
size_t node_size = root->getSubtreeSize(BVH_STAT_NODE_COUNT);
|
||||
|
||||
@ -755,7 +754,7 @@ void QBVH::pack_inner(const BVHStackEntry& e, const BVHStackEntry *en, int num)
|
||||
|
||||
/* Quad SIMD Nodes */
|
||||
|
||||
void QBVH::pack_nodes(const array<int>& prims, const BVHNode *root)
|
||||
void QBVH::pack_nodes(const BVHNode *root)
|
||||
{
|
||||
size_t node_size = root->getSubtreeSize(BVH_STAT_QNODE_COUNT);
|
||||
|
||||
|
@ -111,7 +111,7 @@ protected:
|
||||
void pack_instances(size_t nodes_size);
|
||||
|
||||
/* for subclasses to implement */
|
||||
virtual void pack_nodes(const array<int>& prims, const BVHNode *root) = 0;
|
||||
virtual void pack_nodes(const BVHNode *root) = 0;
|
||||
virtual void refit_nodes() = 0;
|
||||
};
|
||||
|
||||
@ -126,7 +126,7 @@ protected:
|
||||
RegularBVH(const BVHParams& params, const vector<Object*>& objects);
|
||||
|
||||
/* pack */
|
||||
void pack_nodes(const array<int>& prims, const BVHNode *root);
|
||||
void pack_nodes(const BVHNode *root);
|
||||
void pack_leaf(const BVHStackEntry& e, const LeafNode *leaf);
|
||||
void pack_inner(const BVHStackEntry& e, const BVHStackEntry& e0, const BVHStackEntry& e1);
|
||||
void pack_node(int idx, const BoundBox& b0, const BoundBox& b1, int c0, int c1, uint visibility0, uint visibility1);
|
||||
@ -147,7 +147,7 @@ protected:
|
||||
QBVH(const BVHParams& params, const vector<Object*>& objects);
|
||||
|
||||
/* pack */
|
||||
void pack_nodes(const array<int>& prims, const BVHNode *root);
|
||||
void pack_nodes(const BVHNode *root);
|
||||
void pack_leaf(const BVHStackEntry& e, const LeafNode *leaf);
|
||||
void pack_inner(const BVHStackEntry& e, const BVHStackEntry *en, int num);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user