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-11-05 02:34:30 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2017-11-05 17:22:04 +0300
commit5801ef71e40bc932c69e67f06076cd8b41132e52 (patch)
tree1fec0c65b9ead5720f54229497060af1f0194bbb /intern/cycles/device/device_memory.cpp
parent5475314f4955dbc3af305577a26fe0b537380313 (diff)
Code refactor: device memory cleanups, preparing for mapped host memory.
Diffstat (limited to 'intern/cycles/device/device_memory.cpp')
-rw-r--r--intern/cycles/device/device_memory.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/intern/cycles/device/device_memory.cpp b/intern/cycles/device/device_memory.cpp
index 9c67345f39e..3ad0946330b 100644
--- a/intern/cycles/device/device_memory.cpp
+++ b/intern/cycles/device/device_memory.cpp
@@ -24,7 +24,6 @@ CCL_NAMESPACE_BEGIN
device_memory::device_memory(Device *device, const char *name, MemoryType type)
: data_type(device_type_traits<uchar>::data_type),
data_elements(device_type_traits<uchar>::num_elements),
- data_pointer(0),
data_size(0),
device_size(0),
data_width(0),
@@ -35,7 +34,8 @@ device_memory::device_memory(Device *device, const char *name, MemoryType type)
interpolation(INTERPOLATION_NONE),
extension(EXTENSION_REPEAT),
device(device),
- device_pointer(0)
+ device_pointer(0),
+ host_pointer(0)
{
}
@@ -43,14 +43,14 @@ device_memory::~device_memory()
{
}
-device_ptr device_memory::host_alloc(size_t size)
+void *device_memory::host_alloc(size_t size)
{
if(!size) {
return 0;
}
size_t alignment = device->mem_address_alignment();
- device_ptr ptr = (device_ptr)util_aligned_malloc(size, alignment);
+ void *ptr = util_aligned_malloc(size, alignment);
if(ptr) {
util_guarded_mem_alloc(size);
@@ -62,11 +62,12 @@ device_ptr device_memory::host_alloc(size_t size)
return ptr;
}
-void device_memory::host_free(device_ptr ptr, size_t size)
+void device_memory::host_free()
{
- if(ptr) {
- util_guarded_mem_free(size);
- util_aligned_free((void*)ptr);
+ if(host_pointer) {
+ util_guarded_mem_free(memory_size());
+ util_aligned_free((void*)host_pointer);
+ host_pointer = 0;
}
}