Blender Git Commits

Blender Git "master" branch commits.

Page: 420 / 5574

Revision 3469e06 by Julian Eisel
January 22, 2021, 15:58 (GMT)
Fix memory leak when opening file browser

The name string of each file was duplicated but not freed. The new flag to
ensure the file-list frees the name wasn't set. Mistake in ca475479eb26.
January 22, 2021, 15:08 (GMT)
Cycles: optimize device updates

This optimizes device updates (during user edits or frame changes in
the viewport) by avoiding unnecessary computations. To achieve this,
we use a combination of the sockets' update flags as well as some new
flags passed to the various managers when tagging for an update to tell
exactly what the tagging is for (e.g. shader was modified, object was
removed, etc.).

Besides avoiding recomputations, we also avoid resending to the devices
unmodified data arrays, thus reducing bandwidth usage. For OptiX and
Embree, BVH packing was also multithreaded.

The performance improvements may vary depending on the used device (CPU
or GPU), and the content of the scene. Simple scenes (e.g. with no adaptive
subdivision or volumes) rendered using OptiX will benefit from this work
the most.

On average, for a variety of animated scenes, this gives a 3x speedup.

Reviewed By: #cycles, brecht

Maniphest Tasks: T79174

Differential Revision: https://developer.blender.org/D9555
January 22, 2021, 15:05 (GMT)
Refactor BMain relations temp data.

`bmain.relations` is used to store temp data of relations between IDs,
to speed-up some complex processes heavily relying on such information.

Previous implementation was failry unclear/confusing, and required a
not-so-nice hack to 'tag' some ID as processed.

New code changes as such:
* Using `from`/`to` naming (instead of `user`/`used`).
* More clear separation between `to` `id_pointer` and `from` one,
using an union instead of hacking around difference between `ID *` and
`ID **` pointers.
* Adds storage of `session_uuid` informations (mainly useful as
debug/ensuring proper consistency of data currently).
* Adds a structure per ID in the mapping. This enables possibility of
storing tags (and potentially more data in the future) per-ID,
without polluting the IDs themselves with very short-life info.

Differential Revision: https://developer.blender.org/D10164
January 22, 2021, 14:31 (GMT)
LibOverride: Add an 'post apply' callback to IDTypeInfo.

Currently this is needed to properly tag PointCache's for info update
(fixes an issue reported in T82503).

Suspect we may need this in more cases in the future though, RNA
assign/update processes are not always 100% enough to deal with
complicated corner cases.
January 22, 2021, 13:32 (GMT)
Merge branch 'blender-v2.92-release'
January 22, 2021, 13:31 (GMT)
Cycles: Fix usage of double floating precision in CNanoVDB

Double floating point precision is an extension of OpenCL, which might
not be implemented by certain drivers, such as Intel Xe graphics.

Cycles does not use double floating point precision, and there is no
need on keeping doubles unless there is an explicit decision to use
them.

This is a simple fix from Cycles side to replace double floating point
type with a type of same size and alignment rules. Inspired by Brecht
and Patrick.

Tested on NVidia Titan V, Radeon RX Vega M, and TGL laptop.

Differential Revision: https://developer.blender.org/D10143
January 22, 2021, 12:46 (GMT)
Functions: use better conversion from float2 to float3

Previously float2 was converted to float3 by implicitly converting to a
float pointer first, which was then passed to the float3 constructor.
This leads to uninitialized memory in the z component of the new float3.

Ideally this should be solved in float2/float3 itself, but my first fix for
that resulted in a compile error: rB6ac0a3d83c8e5a39bd5356aa0d68e3166bd91e82

This is an alternative fix that can be used for now. Will have to look
into the conversion in more detail again.
January 22, 2021, 12:41 (GMT)
Merge branch 'blender-v2.92-release'
January 22, 2021, 12:40 (GMT)
Revert "BLI: add conversion from float2 to float3"

This reverts commit 6ac0a3d83c8e5a39bd5356aa0d68e3166bd91e82.
January 22, 2021, 11:26 (GMT)
Merge branch 'blender-v2.92-release'
January 22, 2021, 11:26 (GMT)
Fix T76936: Mesh shape amended upon undoing in sculpt mode

Was happening when there are deform modifiers prior to the multires.

There are detail in the comment around sculpt_undo_refine_subdiv(),
but briefly: the subdiv was refined with wrong base mesh coordinates.

Differential Revision: https://developer.blender.org/D10158
January 22, 2021, 11:17 (GMT)
Merge branch 'blender-v2.92-release'
January 22, 2021, 11:16 (GMT)
BLI: add conversion from float2 to float3

Previously float2 was converted to float3 by implicitly converting to a
float pointer first, which was then passed to the float3 constructor.
This leads to uninitialized memory in the z component of the new float3.
January 22, 2021, 10:54 (GMT)
Merge branch 'blender-v2.92-release'
January 22, 2021, 10:47 (GMT)
Cleanup - Point Instance: Use own DNA struct

We will need to expand this node soon to add weight/count for different
elements inside the collection. For that it is better to have the node
to use its own DNA.
January 22, 2021, 10:39 (GMT)
Fix (unreported) LibOverride: hair cache settings not working.

Thanks to that same point cache being exposed in **four** different RNA
paths (twice in particle system, and twice in its embedded cloth
simulation settings).

Only way is to also make particle system overridable.
January 22, 2021, 10:26 (GMT)
Merge branch 'blender-v2.92-release'
January 22, 2021, 10:25 (GMT)
GPencil: Fix unreported Vertex Paint masking error

The masking was not working as expected and allowed to paint non selected strokes.
January 22, 2021, 09:00 (GMT)
Merge branch 'blender-v2.92-release'
January 22, 2021, 08:30 (GMT)
Particles: Fixed thread work size calculation.

Dividing the workload by number of tasks in float is imprecise and
lead in some cases to particles not being calculated at all
(example: 20000 particles, 144 tasks).

Switching this calculation to integer makes sure we don't lose count.

Differential Revision: https://developer.blender.org/D10157
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021