Blender Git Commits

Blender Git commits from all branches.

Page: 279 / 2888

June 29, 2021, 09:55 (GMT)
Cycles X: Remove redundant field in path trace works

Render buffers are available via the base class, no need to duplicate
it in the derived classes.
June 29, 2021, 09:55 (GMT)
Cycles X: Initialize all fields of buffer params

Allows to rely on default constructor and follow-up call of
modified() without accessing non-initialized fields.
June 29, 2021, 09:55 (GMT)
Cycles X: Initial support of multi-GPU and GPU+CPU rendering

This change makes it possible to render single frame on multiple GPUs
and/or GPU(s)+CPU. (as configured in the User Preferences).

Work is split equally along the height of the big tile.
In the future this will be looked into to perform better initial guess
based on devices performance, dynamic re-scheduling, and interleaving
scanlines across devices.

The main idea is to move render buffers to per-work basis, so that the
ender buffers are always associated with the device work is being done
by. And then upon access delegate the read/write to the work, so that
it operates with a specific slice in the source/destination,

There are some multiple memory and performance improvements possible,
like:

- Copy render result to GPUDisplay from multiple threads (now when it
is clear graphics inetrop can not be mixed in with naive update).
- Avoid denoiser buffer re-allocation.
- Avoid creation of temporary buffers in the denoisers when we know
that we have a copy of real buffers.
- Only copy passes needed for denoiser, and results of denoiser.

The current state of the `PathTrace::denoise()` is not entirely ideal:
it could be split up, and memory usage could be improved. But think it
is good enough for the initial implementation. The further improvements
would require changes in the Denoiser API.

Differential Revision: https://developer.blender.org/D11727
June 29, 2021, 09:52 (GMT)
Fix Cycles X multi-device type generation

The info type can not be set to first device type because the device
might be ignored. So delay type assignment until we have a device which
is known to be used.

Fixes issue in viewport when OptiX+OptiX will be considered an OptiX
device with 2 sub-devices, and OptiX+OptiX+CPU will be considered a
Multi device. The issue with the latter one is that the info IDs in
both cases are the same, but not the type, making it a wrong comparison
in `DeviceInfo::operator==`.

Differential Revision: https://developer.blender.org/D11729
June 29, 2021, 09:28 (GMT)
LineArt: Back face culling.
June 29, 2021, 08:57 (GMT)
Merge remote-tracking branch 'origin/master' into temp-lineart-contained
June 29, 2021, 08:45 (GMT)
Merge branch 'master' into soc-2021-vse-strip-thumbnails
June 29, 2021, 07:59 (GMT)
Merge branch 'master' into tmp-vulkan
June 29, 2021, 03:47 (GMT)
Merge branch 'master' into refactor-vertex-group-names
June 29, 2021, 03:45 (GMT)
Merge remote-tracking branch 'origin/master' into temp-lineart-contained
June 29, 2021, 03:45 (GMT)
Merge branch 'master' into curve-nodes-modifier
June 29, 2021, 03:23 (GMT)
Merge branch 'master' into curve-nodes-modifier
June 29, 2021, 03:13 (GMT)
LineArt: naming change floating->loose
June 29, 2021, 02:52 (GMT)
Merge remote-tracking branch 'origin/master' into temp-lineart-contained
June 29, 2021, 02:48 (GMT)
Merge branch 'master' into curve-nodes-modifier
June 29, 2021, 02:35 (GMT)
Merge branch 'master' into curve-nodes-modifier
June 29, 2021, 02:00 (GMT)
Merge branch 'master' into curve-nodes-modifier
June 29, 2021, 01:27 (GMT)
More cleanup, displist still shows up when it shouldn't (no mesh in data_eval)
June 28, 2021, 22:53 (GMT)
Cleanup: Rename variables
June 28, 2021, 22:50 (GMT)
Merge branch 'master' into curve-nodes-modifier
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021