60 return ((
size + chunk - 1) / chunk) * chunk;
65 assert(
data.size() > 0);
74 list<Table>::iterator table;
77 if (new_table.
offset + new_table.
size <= table->offset) {
82 new_table.
offset = table->offset + table->size;
94 memcpy(dtable + new_table.
offset, &
data[0],
sizeof(
float) *
data.size());
108 list<Table>::iterator table;
111 if (table->offset == *offset) {
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
device_vector< float > lookup_table
void device_free(Device *device, DeviceScene *dscene)
size_t add_table(DeviceScene *dscene, vector< float > &data)
void remove_table(size_t *offset)
list< Table > lookup_tables
void device_update(Device *device, DeviceScene *dscene, Scene *scene)
void add_entry(const NamedTimeEntry &entry)
T * resize(size_t width, size_t height=0, size_t depth=0)
#define CCL_NAMESPACE_END
SceneUpdateStats * update_stats
static size_t round_up_to_multiple(size_t size, size_t chunk)