14# include <OSL/oslexec.h>
18# include <embree4/rtcore.h>
21#include "device/cpu/kernel.h"
45 OSLGlobals osl_globals;
48# if RTC_VERSION >= 40400
51 RTCScene embree_traversable =
nullptr;
53 RTCDevice embree_device;
55#if defined(WITH_PATH_GUIDING)
72 device_memory &mem,
const size_t y,
size_t w,
const size_t h,
size_t elem)
override;
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
void refit(btStridingMeshInterface *triangles, const btVector3 &aabbMin, const btVector3 &aabbMax)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
bool load_kernels(uint) override
CPUDevice(const DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool headless_)
device_ptr mem_alloc_sub_ptr(device_memory &mem, const size_t offset, size_t) override
void mem_free(device_memory &mem) override
void mem_alloc(device_memory &mem) override
void tex_alloc(device_texture &mem)
BVHLayoutMask get_bvh_layout_mask(uint) const override
void tex_free(device_texture &mem)
void const_copy_to(const char *name, void *host, const size_t size) override
void global_alloc(device_memory &mem)
void mem_copy_from(device_memory &mem, const size_t y, size_t w, const size_t h, size_t elem) override
void mem_move_to_host(device_memory &mem) override
device_vector< TextureInfo > texture_info
void mem_zero(device_memory &mem) override
KernelGlobalsCPU kernel_globals
void * get_guiding_device() const override
void build_bvh(BVH *bvh, Progress &progress, bool refit) override
OSLGlobals * get_cpu_osl_memory() override
void mem_copy_to(device_memory &mem) override
void get_cpu_kernel_thread_globals(vector< ThreadKernelGlobalsCPU > &kernel_thread_globals) override
void global_free(device_memory &mem)
Device(const DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool headless_)
friend class device_memory
#define CCL_NAMESPACE_END