Blender Git Commit Log

All Blender Git commits.

Page: 617 / 8462

May 26, 2021, 10:44 (GMT)
Merge branch 'master' into override-recursive-resync
May 26, 2021, 10:44 (GMT)
Merge branch 'master' into greasepencil-object
May 26, 2021, 10:43 (GMT)
Merge branch 'master' into eevee-gpencil
May 26, 2021, 10:43 (GMT)
LibOverride: Do not try to generate override data of linked data.

This is obviously not saved, and should never be editable, so was only a
waste of time.
May 26, 2021, 10:43 (GMT)
Merge branch 'master' into temp-gpencil-masking

Conflicts:
source/blender/blenloader/intern/versioning_300.c
May 26, 2021, 10:25 (GMT)
Fix T88588: crash when muting node with multi input socket

The bug existed before the new evaluator already, but the new evaluator
is more sensitive to this kind of error.
May 26, 2021, 10:24 (GMT)
Merge branch 'master' into cycles_procedural_api
May 26, 2021, 10:18 (GMT)
First benchmark test.
May 26, 2021, 10:18 (GMT)
Cycles: optimize attributes device updates

When an `AttributeSet` is tagged as modified, which happens after the addition or
removal of an `Attribute` from the set, during the following GeometryManager device
update, we update and repack the kernel data for all attribute types. However, if we
only add or remove a `float` attribute, `float2` or `float3` attributes should not
be repacked for efficiency.

This patch adds some mechanisms to detect which attribute types are modified from
the AttributeSet.

Firstly, this adds an `AttrKernelDataType` to map the data type of the Attribute to
the one used in the kernel as there is no one to one match between the two since e.g.
`Transform` or `float4` data are stored as `float3s` in the kernel.

Then, this replaces the `AttributeSet.modified` boolean with a set of flags to detect
which types have been modified. There is no specific flag type (e.g.
`enum ModifiedType`), rather the flags used derive simply from the
`AttrKernelDataType` enumeration, to keep things synchronized.

The logic to remove an `Attribute` from the `AttributeSet` and tag the latter as modified
is centralized in a new `AttributeSet.remove` method taking an iterator as input.

Lastly, as some attributes like standard normals are not stored in the various
kernel attribute arrays (`DeviceScene::attribute_*`), the modified flags are only
set if the associated standard corresponds to an attribute which will be stored
in the kernel's attribute arrays. This makes it so adding or removing such attributes
does not trigger an unnecessary update of other type-related attributes.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D11373
May 26, 2021, 09:54 (GMT)
Merge branch 'master' into override-recursive-resync
May 26, 2021, 09:52 (GMT)
ID management: remapping: add flag to enforce refcounting handling.

While indeally we should only skip refcounting when relevant tag is set,
doing this in remapping code is too risky for now.

Related to previous commit and T88555.
May 26, 2021, 09:49 (GMT)
Merge branch 'master' into override-recursive-resync
May 26, 2021, 09:45 (GMT)
ID management: Do not assume that `NO_MAIN` means `NO_USER_REFCOUNT`

While this is still very fuzzy in current code, this old behavior makes
it close to impossible to efficiently use out-of-main temp data, as it
implies that we'd need to update refcounts everytime we add something
back into BMain (an 'un-refcount' ID usages when removing from BMain).

Now that we have two separate flags/tags for those two different things,
let's not merge them anymore.

Note that this is somewhat on-going process, still needs more checks and
cleanup. Related to T88555.
May 26, 2021, 09:43 (GMT)
Added Goolge Benchmark 1.5.3 to extern.
May 26, 2021, 09:42 (GMT)
Minor tweak/cleanup.
May 26, 2021, 09:40 (GMT)
Merge branch 'master' into override-recursive-resync
May 26, 2021, 09:26 (GMT)
Merge branch 'master' into cycles-x
May 26, 2021, 09:25 (GMT)
Fix particlesystem not duplicating their pointcache in NO_MAIN case.

Sharing data between duplicated IDs should be restricted to depsgraph
(CoW) cases, not all NO_MAIN ones...

While this was probably not an issue currently, we aim at using more and
more out-of-main IDs for temp data processing.

NOTE: Somewhat related to T88555, and similar issue as the one fixed in
rBdfb963c70df5.
May 26, 2021, 09:24 (GMT)
Merge branch 'master' into override-recursive-resync
May 26, 2021, 09:16 (GMT)
Fix T88552: Cycles changing Render Passes in viewport does not work
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021