diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-01-23 23:31:36 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-01-23 23:31:36 +0300 |
commit | 398baef6c830fad7ec2ffb75801713775c348f7c (patch) | |
tree | d8d51dfc9b62569e950fe1fa91f2862d998c8159 /source/blender/render | |
parent | a6aaaad9795e80af05e8281030107c32c6a1366b (diff) |
Fix T47132: Cycles Rendering Tiles Indicator Limited to 16
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/external_engine.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index 5abad9ea01a..082c2ace241 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -415,15 +415,18 @@ rcti* RE_engine_get_current_tiles(Render *re, int *r_total_tiles, bool *r_needs_ /* Just in case we're using crazy network rendering with more * slaves as BLENDER_MAX_THREADS. */ - if (tiles == tiles_static) - tiles = MEM_mallocN(allocation_step * sizeof(rcti), "current engine tiles"); - else - tiles = MEM_reallocN(tiles, (total_tiles + allocation_step) * sizeof(rcti)); - allocation_size += allocation_step; + if (tiles == tiles_static) { + /* Can not realloc yet, tiles are pointing to a + * stack memory. + */ + tiles = MEM_mallocN(allocation_size * sizeof(rcti), "current engine tiles"); + } + else { + tiles = MEM_reallocN(tiles, allocation_size * sizeof(rcti)); + } *r_needs_free = true; } - tiles[total_tiles] = pa->disprect; if (pa->crop) { |