Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2017-10-21 00:31:13 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2017-10-24 02:03:59 +0300
commit7ad9333fad25b9a7cabea0d659eaf724f89912c8 (patch)
tree4fa0d78c9659dd842852420bd1d8b8f8925a0c2f /intern/cycles/device/device_network.h
parentae41f38f78f8c54f92cf34dd88e35948e19aed55 (diff)
Code refactor: store device/interp/extension/type in each device_memory.
Diffstat (limited to 'intern/cycles/device/device_network.h')
-rw-r--r--intern/cycles/device/device_network.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/intern/cycles/device/device_network.h b/intern/cycles/device/device_network.h
index 3d3bd99dfe7..8a53290f421 100644
--- a/intern/cycles/device/device_network.h
+++ b/intern/cycles/device/device_network.h
@@ -38,6 +38,7 @@
#include "util/util_foreach.h"
#include "util/util_list.h"
#include "util/util_map.h"
+#include "util/util_param.h"
#include "util/util_string.h"
CCL_NAMESPACE_BEGIN
@@ -68,8 +69,15 @@ typedef boost::archive::binary_iarchive i_archive;
class network_device_memory : public device_memory
{
public:
- network_device_memory() {}
- ~network_device_memory() { device_pointer = 0; };
+ network_device_memory(Device *device)
+ : device_memory(device, "", MEM_READ_ONLY)
+ {
+ }
+
+ ~network_device_memory()
+ {
+ device_pointer = 0;
+ };
vector<char> local_data;
};
@@ -119,6 +127,9 @@ public:
{
archive & mem.data_type & mem.data_elements & mem.data_size;
archive & mem.data_width & mem.data_height & mem.data_depth & mem.device_pointer;
+ archive & mem.type & string(mem.name);
+ archive & mem.interpolation & mem.extension;
+ archive & mem.device_pointer;
}
template<typename T> void add(const T& data)
@@ -258,11 +269,15 @@ public:
delete archive_stream;
}
- void read(network_device_memory& mem)
+ void read(network_device_memory& mem, string& name)
{
*archive & mem.data_type & mem.data_elements & mem.data_size;
*archive & mem.data_width & mem.data_height & mem.data_depth & mem.device_pointer;
+ *archive & mem.type & name;
+ *archive & mem.interpolation & mem.extension;
+ *archive & mem.device_pointer;
+ mem.name = name.c_str();
mem.data_pointer = 0;
}