Fix cycles issue with BVH cache created with 64 bits and used for 32 bits binary,

and vice versa.
This commit is contained in:
Brecht Van Lommel 2013-02-13 11:02:51 +00:00
parent 35629a623b
commit 4061f96d94
2 changed files with 6 additions and 4 deletions

@ -30,6 +30,7 @@
#include "util_foreach.h"
#include "util_map.h"
#include "util_progress.h"
#include "util_system.h"
#include "util_types.h"
CCL_NAMESPACE_BEGIN
@ -71,6 +72,7 @@ BVH *BVH::create(const BVHParams& params, const vector<Object*>& objects)
bool BVH::cache_read(CacheData& key)
{
key.add(system_cpu_bits());
key.add(&params, sizeof(params));
foreach(Object *ob, objects) {

@ -72,7 +72,7 @@ public:
buffers.push_back(buffer);
}
void add(void *data, size_t size)
void add(const void *data, size_t size)
{
if(size) {
CacheBuffer buffer(data, size);
@ -80,19 +80,19 @@ public:
}
}
void add(int& data)
void add(const int& data)
{
CacheBuffer buffer(&data, sizeof(int));
buffers.push_back(buffer);
}
void add(float& data)
void add(const float& data)
{
CacheBuffer buffer(&data, sizeof(float));
buffers.push_back(buffer);
}
void add(size_t& data)
void add(const size_t& data)
{
CacheBuffer buffer(&data, sizeof(size_t));
buffers.push_back(buffer);