Blender Git Loki

Blender Git "cycles_split_kernel" branch commits.

Page: 2 / 5

February 18, 2017, 12:07 (GMT)
Cycles: Update tiles less frequently for split kernel

Increases the time between tile updates exponentially until theres 10 seconds
between updates. By having more time between updates we can push more samples
to the device at once and keep the number of threads doing actual work
higher. This gives a nice speed up.
February 18, 2017, 10:53 (GMT)
Cycles: Add changes that somehow got left out of previous commit
February 18, 2017, 10:39 (GMT)
Cycles: Remove remnants of tile splitting
February 18, 2017, 10:33 (GMT)
Cycles: Faster version of driver workaround for OpenCL
February 17, 2017, 13:18 (GMT)
Merge branch 'master' into cycles_split_kernel
February 11, 2017, 12:05 (GMT)
Cycles: Refactor device split kernel code

Moved all split kernel related stuff out of `Device` as it doesnt belong
there. Those functions are now apart of `DeviceSplitKernel` which now
must be implemented for each device type supporting the split kernel. No
functional changes.
February 11, 2017, 11:25 (GMT)
Cycles: Move kgbuffer allocation out of split kernel code

Allocating the buffer is the job of the device implementation, not the split
kernel, so makes more sense to separate that code.
February 9, 2017, 11:14 (GMT)
Cycles: Fix OpenCL mem_zero loop

Was a silly typo that caused the last iteration to be skipped.
February 9, 2017, 03:10 (GMT)
Cycles: Fix rendering with CPU split kernel after work stealing changes

Not sure whats going on but debugging is taking too long so just using a
quick fix for now.
February 9, 2017, 02:56 (GMT)
Cycles: Fix OpenCL mem_zero and preview renders

Viewport rendering wasn't working, this was caused by two problems in mem_zero:

- `mem_zero` was being called before kernels were loaded so the `zero_buffer`
kernel was unavailable. Added a fallback for this case.
- The global size used for enqueuing the `zero_buffer` kernel was large and
causing the kernel to fail on some devices.
February 3, 2017, 00:46 (GMT)
Merge branch 'master' into cycles_split_kernel
January 31, 2017, 11:59 (GMT)
Cycles: Workaround for driver hangs

Simple workaround for some issues we've been having with AMD drivers hanging
and rendering systems unresponsive. Unfortunately this makes things a bit
slower, but its better than having to do hard reboots. Will be removed when
drivers have been fixed.

Define CYCLES_DISABLE_DRIVER_WORKAROUNDS to disable for testing purposes.
January 26, 2017, 07:52 (GMT)
Cycles: Add OpenCL kernel for zeroing memory buffers

Transferring memory to the device was very slow and there's really no
need when only zeroing a buffer.
January 26, 2017, 07:52 (GMT)
Cycles: No need for host side memory for split kernel state buffers
January 26, 2017, 07:52 (GMT)
Cycles: Allow mem_zero to be called on buffers without host side memory

Previous commit did this for OpenCL so only need to update CUDA
January 26, 2017, 05:33 (GMT)
Cycles: Zero split kernel state memory outside of kernel

Fixes problem seen with CUDA. The global work size wasn't large enough for the
data_init kernel to zero the full buffers, so now its done from the host.
January 24, 2017, 12:30 (GMT)
Cycles: Set device ideal global work size for split kernel

With this the split kernel is running quite a bit faster on some
devices. Other devices will still need more testing.
January 24, 2017, 12:30 (GMT)
Cycles: Add split_kernel_global_size function

This is to allow devices to suggest a good global work size. Only
implemented for OpenCL devices right now.
January 24, 2017, 12:29 (GMT)
Cycles: Expose passes size to device tasks

This is needed so devices can know the size of a tile buffer before any
tiles are acquired.
January 24, 2017, 12:27 (GMT)
Cycles: Add DeviceSplitKernel::max_elements_for_max_buffer_size

Will be used for deciding on a good work size.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021