Commit: ec351d1d446c26214212c69a011bedacc7abc41d Author: Kévin Dietrich Date: Fri Oct 30 02:53:45 2020 +0100 Branches: cycles_procedural_api https://developer.blender.org/rBec351d1d446c26214212c69a011bedacc7abc41d
handle comments from review =================================================================== M intern/cycles/bvh/bvh_optix.cpp M intern/cycles/bvh/bvh_optix.h M intern/cycles/device/device_optix.cpp M intern/cycles/render/geometry.cpp M intern/cycles/render/geometry.h =================================================================== diff --git a/intern/cycles/bvh/bvh_optix.cpp b/intern/cycles/bvh/bvh_optix.cpp index 9dfe3c56445..f2666688123 100644 --- a/intern/cycles/bvh/bvh_optix.cpp +++ b/intern/cycles/bvh/bvh_optix.cpp @@ -39,6 +39,7 @@ BVHOptiX::BVHOptiX(const BVHParams ¶ms_, { optix_handle = 0; optix_data_handle = 0; + do_refit = false; } BVHOptiX::~BVHOptiX() @@ -218,7 +219,7 @@ void BVHOptiX::pack_nodes(const BVHNode *) void BVHOptiX::refit_nodes() { - geometry[0]->do_optix_refit = true; + do_refit = true; } BVHNode *BVHOptiX::widen_children_nodes(const BVHNode *) diff --git a/intern/cycles/bvh/bvh_optix.h b/intern/cycles/bvh/bvh_optix.h index 38da6b55c5d..5465770af9f 100644 --- a/intern/cycles/bvh/bvh_optix.h +++ b/intern/cycles/bvh/bvh_optix.h @@ -33,8 +33,9 @@ class BVHOptiX : public BVH { friend class BVH; public: - unsigned long long optix_handle; - unsigned long long optix_data_handle; + uint64_t optix_handle; + uint64_t optix_data_handle; + bool do_refit; BVHOptiX(const BVHParams ¶ms, const vector<Geometry *> &geometry, diff --git a/intern/cycles/device/device_optix.cpp b/intern/cycles/device/device_optix.cpp index c9667852497..5558354d03c 100644 --- a/intern/cycles/device/device_optix.cpp +++ b/intern/cycles/device/device_optix.cpp @@ -1194,7 +1194,7 @@ class OptiXDevice : public CUDADevice { std::set<CUdeviceptr> refit_mem; for (Geometry *geom : bvh->geometry) { - if (geom->do_optix_refit) { + if (static_cast<BVHOptiX *>(geom->bvh)->do_refit) { refit_mem.insert(static_cast<BVHOptiX *>(geom->bvh)->optix_data_handle); } } @@ -1219,7 +1219,7 @@ class OptiXDevice : public CUDADevice { OptixBuildOperation operation; CUdeviceptr out_data; // Refit is only possible in viewport for now. - if (ob->geometry->do_optix_refit && !background) { + if (static_cast<BVHOptiX *>(geom->bvh)->do_refit && !background) { out_data = static_cast<BVHOptiX *>(geom->bvh)->optix_data_handle; handle = static_cast<BVHOptiX *>(geom->bvh)->optix_handle; operation = OPTIX_BUILD_OPERATION_UPDATE; @@ -1397,7 +1397,7 @@ class OptiXDevice : public CUDADevice { geometry.insert({ob->geometry, handle}); static_cast<BVHOptiX *>(geom->bvh)->optix_data_handle = out_data; static_cast<BVHOptiX *>(geom->bvh)->optix_handle = handle; - geom->do_optix_refit = false; + static_cast<BVHOptiX *>(geom->bvh)->do_refit = false; } else { return false; @@ -1471,7 +1471,7 @@ class OptiXDevice : public CUDADevice { geometry.insert({ob->geometry, handle}); static_cast<BVHOptiX *>(geom->bvh)->optix_data_handle = out_data; static_cast<BVHOptiX *>(geom->bvh)->optix_handle = handle; - geom->do_optix_refit = false; + static_cast<BVHOptiX *>(geom->bvh)->do_refit = false; } else { return false; diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp index 587ed4f418b..9457d5e0205 100644 --- a/intern/cycles/render/geometry.cpp +++ b/intern/cycles/render/geometry.cpp @@ -74,7 +74,6 @@ Geometry::Geometry(const NodeType *node_type, const Type type) attr_map_offset = 0; optix_prim_offset = 0; prim_offset = 0; - do_optix_refit = false; } Geometry::~Geometry() diff --git a/intern/cycles/render/geometry.h b/intern/cycles/render/geometry.h index 2728d29de41..9367c4a9de7 100644 --- a/intern/cycles/render/geometry.h +++ b/intern/cycles/render/geometry.h @@ -90,7 +90,6 @@ class Geometry : public Node { /* Update Flags */ bool need_update; bool need_update_rebuild; - bool do_optix_refit; /* Index into scene->geometry (only valid during update) */ size_t index; _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs