41 LOG(DFATAL) <<
"Unsupported BVH layout was passed.";
51 if (supported_layouts & requested_layout_mask) {
52 return requested_layout;
58 BVHLayoutMask allowed_layouts_mask = (supported_layouts & (requested_layout_mask - 1));
60 if (allowed_layouts_mask == 0) {
61 allowed_layouts_mask = supported_layouts;
65 return (
BVHLayout)(1 << widest_allowed_layout_mask);
73 :
params(params_), geometry(geometry_), objects(objects_)
114 LOG(DFATAL) <<
"Requested unsupported BVH layout.";
CCL_NAMESPACE_BEGIN const char * bvh_layout_name(BVHLayout layout)
static BVHLayout best_bvh_layout(BVHLayout requested_layout, BVHLayoutMask supported_layouts)
vector< Geometry * > geometry
static BVH * create(const BVHParams ¶ms, const vector< Geometry * > &geometry, const vector< Object * > &objects, Device *device)
BVH(const BVHParams ¶ms, const vector< Geometry * > &geometry, const vector< Object * > &objects)
vector< Object * > objects
#define CCL_NAMESPACE_END
SyclQueue void void size_t num_bytes void
@ BVH_LAYOUT_MULTI_METAL_EMBREE
@ BVH_LAYOUT_MULTI_OPTIX_EMBREE
CCL_NAMESPACE_BEGIN typedef KernelBVHLayout BVHLayout
__forceinline uint32_t __bsr(const uint32_t x)