diff options
author | Mai Lavelle <mai.lavelle@gmail.com> | 2017-03-11 13:23:11 +0300 |
---|---|---|
committer | Mai Lavelle <mai.lavelle@gmail.com> | 2017-03-11 13:39:28 +0300 |
commit | 96868a39419f1c9a8962c56e02480fabbf1e5156 (patch) | |
tree | 64128db60a690d0223dad4e6e4073230ffd174ac /intern/cycles/device/device_split_kernel.h | |
parent | 5afe4c787f0ed3ac30f7609c7f07c5092a20eac9 (diff) |
Fix T50888: Numeric overflow in split kernel state buffer size calculation
Overflow led to the state buffer being too small and the split kernel to
get stuck doing nothing forever.
Diffstat (limited to 'intern/cycles/device/device_split_kernel.h')
-rw-r--r-- | intern/cycles/device/device_split_kernel.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/intern/cycles/device/device_split_kernel.h b/intern/cycles/device/device_split_kernel.h index ae61f9e38c1..6739e754862 100644 --- a/intern/cycles/device/device_split_kernel.h +++ b/intern/cycles/device/device_split_kernel.h @@ -105,8 +105,8 @@ public: device_memory& kgbuffer, device_memory& kernel_data); - virtual size_t state_buffer_size(device_memory& kg, device_memory& data, size_t num_threads) = 0; - size_t max_elements_for_max_buffer_size(device_memory& kg, device_memory& data, size_t max_buffer_size); + virtual uint64_t state_buffer_size(device_memory& kg, device_memory& data, size_t num_threads) = 0; + size_t max_elements_for_max_buffer_size(device_memory& kg, device_memory& data, uint64_t max_buffer_size); virtual bool enqueue_split_kernel_data_init(const KernelDimensions& dim, RenderTile& rtile, |