[Bf-blender-cvs] [facaf17429] cycles_split_kernel: Cycles: Add DeviceSplitKernel::max_elements_for_max_buffer_size

Mai Lavelle noreply at git.blender.org
Tue Jan 24 13:33:47 CET 2017


Commit: facaf174294d67556152e997f3467b66e61583b5
Author: Mai Lavelle
Date:   Fri Jan 20 03:04:12 2017 -0500
Branches: cycles_split_kernel
https://developer.blender.org/rBfacaf174294d67556152e997f3467b66e61583b5

Cycles: Add DeviceSplitKernel::max_elements_for_max_buffer_size

Will be used for deciding on a good work size.

===================================================================

M	intern/cycles/device/device_split_kernel.cpp
M	intern/cycles/device/device_split_kernel.h

===================================================================

diff --git a/intern/cycles/device/device_split_kernel.cpp b/intern/cycles/device/device_split_kernel.cpp
index 1954c3ccaa..0670a10a5c 100644
--- a/intern/cycles/device/device_split_kernel.cpp
+++ b/intern/cycles/device/device_split_kernel.cpp
@@ -80,6 +80,12 @@ bool DeviceSplitKernel::load_kernels(const DeviceRequestedFeatures& requested_fe
 	return true;
 }
 
+size_t DeviceSplitKernel::max_elements_for_max_buffer_size(size_t max_buffer_size, size_t passes_size)
+{
+	size_t size_per_element = split_data_buffer_size(1024, current_max_closure, passes_size) / 1024;
+	return max_buffer_size / size_per_element;
+}
+
 bool DeviceSplitKernel::path_trace(DeviceTask *task,
                                    RenderTile& tile,
                                    device_memory& kernel_data)
diff --git a/intern/cycles/device/device_split_kernel.h b/intern/cycles/device/device_split_kernel.h
index e4567b32d4..92dfb7f099 100644
--- a/intern/cycles/device/device_split_kernel.h
+++ b/intern/cycles/device/device_split_kernel.h
@@ -77,6 +77,8 @@ public:
 	bool path_trace(DeviceTask *task,
 	                RenderTile& rtile,
 	                device_memory& kernel_data);
+
+	size_t max_elements_for_max_buffer_size(size_t max_buffer_size, size_t passes_size);
 };
 
 CCL_NAMESPACE_END




More information about the Bf-blender-cvs mailing list