diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-02-06 15:06:23 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-02-06 15:06:23 +0300 |
commit | 5376c739f5bf4029e0a32946e9945a732feba217 (patch) | |
tree | b3494e69541d22edf5b971106b532e3a2a2577cd /intern/cycles/device | |
parent | 98dcd33238e44984d31d96e2ffd0191a5d1cf7b6 (diff) | |
parent | 486e2547eea3f12bfde70f2526dde08f39a8722b (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'intern/cycles/device')
-rw-r--r-- | intern/cycles/device/device.h | 2 | ||||
-rw-r--r-- | intern/cycles/device/device_cpu.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/device/device_denoising.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/device/opencl/opencl.h | 4 | ||||
-rw-r--r-- | intern/cycles/device/opencl/opencl_base.cpp | 4 | ||||
-rw-r--r-- | intern/cycles/device/opencl/opencl_util.cpp | 10 |
6 files changed, 12 insertions, 12 deletions
diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h index 721898458fc..be4b9a7e972 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -301,7 +301,7 @@ public: Stats &stats; /* memory alignment */ - virtual int mem_address_alignment() { return MIN_ALIGNMENT_CPU_DATA_TYPES; } + virtual int mem_sub_ptr_alignment() { return MIN_ALIGNMENT_CPU_DATA_TYPES; } /* constant memory */ virtual void const_copy_to(const char *name, void *host, size_t size) = 0; diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp index fd55ec3687a..6be60f8bbb6 100644 --- a/intern/cycles/device/device_cpu.cpp +++ b/intern/cycles/device/device_cpu.cpp @@ -299,7 +299,7 @@ public: if(mem.type == MEM_DEVICE_ONLY) { assert(!mem.host_pointer); - size_t alignment = mem_address_alignment(); + size_t alignment = MIN_ALIGNMENT_CPU_DATA_TYPES; void *data = util_aligned_malloc(mem.memory_size(), alignment); mem.device_pointer = (device_ptr)data; } diff --git a/intern/cycles/device/device_denoising.cpp b/intern/cycles/device/device_denoising.cpp index 1862deb9a61..644cf6cd10e 100644 --- a/intern/cycles/device/device_denoising.cpp +++ b/intern/cycles/device/device_denoising.cpp @@ -95,7 +95,7 @@ bool DenoisingTask::run_denoising() buffer.width = rect.z - rect.x; buffer.stride = align_up(buffer.width, 4); buffer.h = rect.w - rect.y; - buffer.pass_stride = align_up(buffer.stride * buffer.h, divide_up(device->mem_address_alignment(), sizeof(float))); + buffer.pass_stride = align_up(buffer.stride * buffer.h, divide_up(device->mem_sub_ptr_alignment(), sizeof(float))); buffer.mem.alloc_to_device(buffer.pass_stride * buffer.passes, false); device_ptr null_ptr = (device_ptr) 0; diff --git a/intern/cycles/device/opencl/opencl.h b/intern/cycles/device/opencl/opencl.h index f38c2f65c1e..85ef14ee29a 100644 --- a/intern/cycles/device/opencl/opencl.h +++ b/intern/cycles/device/opencl/opencl.h @@ -140,7 +140,7 @@ public: int *minor, cl_int* error = NULL); - static int mem_address_alignment(cl_device_id device_id); + static int mem_sub_ptr_alignment(cl_device_id device_id); /* Get somewhat more readable device name. * Main difference is AMD OpenCL here which only gives code name @@ -346,7 +346,7 @@ public: void mem_zero(device_memory& mem); void mem_free(device_memory& mem); - int mem_address_alignment(); + int mem_sub_ptr_alignment(); void const_copy_to(const char *name, void *host, size_t size); void tex_alloc(device_memory& mem); diff --git a/intern/cycles/device/opencl/opencl_base.cpp b/intern/cycles/device/opencl/opencl_base.cpp index 7de78d413ed..bfa2702ad62 100644 --- a/intern/cycles/device/opencl/opencl_base.cpp +++ b/intern/cycles/device/opencl/opencl_base.cpp @@ -473,9 +473,9 @@ void OpenCLDeviceBase::mem_free(device_memory& mem) } } -int OpenCLDeviceBase::mem_address_alignment() +int OpenCLDeviceBase::mem_sub_ptr_alignment() { - return OpenCLInfo::mem_address_alignment(cdDevice); + return OpenCLInfo::mem_sub_ptr_alignment(cdDevice); } device_ptr OpenCLDeviceBase::mem_alloc_sub_ptr(device_memory& mem, int offset, int size) diff --git a/intern/cycles/device/opencl/opencl_util.cpp b/intern/cycles/device/opencl/opencl_util.cpp index 7db6fa0c416..a776f48b5e9 100644 --- a/intern/cycles/device/opencl/opencl_util.cpp +++ b/intern/cycles/device/opencl/opencl_util.cpp @@ -1136,16 +1136,16 @@ bool OpenCLInfo::get_driver_version(cl_device_id device_id, return true; } -int OpenCLInfo::mem_address_alignment(cl_device_id device_id) +int OpenCLInfo::mem_sub_ptr_alignment(cl_device_id device_id) { - int base_align_bytes; + int base_align_bits; if(clGetDeviceInfo(device_id, - CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE, + CL_DEVICE_MEM_BASE_ADDR_ALIGN, sizeof(int), - &base_align_bytes, + &base_align_bits, NULL) == CL_SUCCESS) { - return base_align_bytes; + return base_align_bits/8; } return 1; } |