Blender Git Loki

Blender Git "temp_cycles_split_kernel" branch commits.

Page: 2 / 2

February 22, 2017, 14:47 (GMT)
Cycles: OpenCL split kernel refactor

This does a few things at once:

- Refactors host side split kernel logic into a new device
agnostic class `DeviceSplitKernel`.
- Removes tile splitting, a new work pool implementation takes its place and
allows as many threads as will fit in memory regardless of tile size, which
can give performance gains.
- Refactors split state buffers into one buffer, as well as reduces the
number of arguments passed to kernels. Means there's less code to deal
with overall.
- Moves kernel logic out of OpenCL kernel files so they can later be used by
other device types.
- Replaced OpenCL specific APIs with new generic versions
- Tiles can now be seen updating during rendering
February 22, 2017, 14:30 (GMT)
Cycles: Add more atomic operations
February 22, 2017, 14:30 (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.
February 22, 2017, 14:30 (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.
February 22, 2017, 14:30 (GMT)
Cycles: Allow device_memory to be used directly

This is useful for when theres no host side memory attched to the buffer
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021