11# include <OSL/oslexec.h>
15# if EMBREE_MAJOR_VERSION >= 4
16# include <embree4/rtcore.h>
18# include <embree3/rtcore.h>
22#include "device/cpu/kernel.h"
47 OSLGlobals osl_globals;
50 RTCScene embree_scene =
NULL;
51 RTCDevice embree_device;
53#ifdef WITH_PATH_GUIDING
54 mutable unique_ptr<openpgl::cpp::Device> guiding_device;
69 device_memory &mem,
size_t y,
size_t w,
size_t h,
size_t elem)
override;
76 virtual void const_copy_to(
const char *name,
void *host,
size_t size)
override;
void refit(btStridingMeshInterface *triangles, const btVector3 &aabbMin, const btVector3 &aabbMax)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
virtual void mem_copy_from(device_memory &mem, size_t y, size_t w, size_t h, size_t elem) override
virtual bool load_kernels(uint) override
CPUDevice(const DeviceInfo &info_, Stats &stats_, Profiler &profiler_, bool headless_)
virtual void mem_free(device_memory &mem) override
virtual void const_copy_to(const char *name, void *host, size_t size) override
virtual void mem_alloc(device_memory &mem) override
virtual void * get_cpu_osl_memory() override
void tex_alloc(device_texture &mem)
virtual BVHLayoutMask get_bvh_layout_mask(uint) const override
virtual device_ptr mem_alloc_sub_ptr(device_memory &mem, size_t offset, size_t) override
void tex_free(device_texture &mem)
void global_alloc(device_memory &mem)
device_vector< TextureInfo > texture_info
virtual void mem_zero(device_memory &mem) override
KernelGlobalsCPU kernel_globals
void * get_guiding_device() const override
virtual void get_cpu_kernel_thread_globals(vector< CPUKernelThreadGlobals > &kernel_thread_globals) override
void build_bvh(BVH *bvh, Progress &progress, bool refit) override
virtual void mem_copy_to(device_memory &mem) override
void global_free(device_memory &mem)
#define CCL_NAMESPACE_END