[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